 |
Sunday, March 14, 2004 |
After much hair-pulling and teeth-gnashing, I narrowed down the cause
of the kernel panics on OpenDarwin 6.6.2. If the driver was compiled
with optimization flag -O3 then it would panic every time. If I changed
the optimization to -O0, no crashes.
Copying over a set of x86 binaries that had been compiled on darwin 7.x
and running them on OD 6.x also worked fine. This points squarely at a
bug in gcc that shipped with OD 6.x. It must be reordering some
instructions that result in a null pointer being evaluated (or some
other similar problem).
I'll see if I can't narrow it down to a single line of offending code
and fix it programatically. If that doesn't work, then I'll just add a
note to the README specifying this problem and its workaround.
9:00:42 AM
|
|
© Copyright 2004 Chuck Remes.
|
|
|