spca5xx freezes system
D. Hugh Redelmeier
hugh at mimosa.com
Tue Apr 18 16:02:19 UTC 2006
| I emailed the developer again yesterday, and he told me that he
| believes the problem to be gcc-4.1 in FC5 (and not its kernel). That
| at least makes more sense than blaming the kernel, when the problem
| also existed with an official kernel.org kernel too.
Interesting. If this is correct, it still probably indicates a bug in
the driver code rather than GCC. Usually what has happened is that
the C compiler has gotten better at optimization, exposing new places
where the driver needed to use "volatile" or some similar mechanism.
Not always: there was a horrible bug in FC4's X last summer that was
caused by a subtle GCC bug in handling casts to volatile qualified
types. It took several of us to convince the GCC folk
that they were reading the C standard unreasonably. See the thread
starting here: http://gcc.gnu.org/ml/gcc/2005-07/msg00664.html
Here's how to test the hypothesis: recompile the driver with no
optimization. This may seem to require spelunking makefiles that are
very convoluted and obscure. If so, there is a cheating shortcut that
might work: capture the makefile log, manually edit out the
optimization flags, and manually rerun the commands.
If the driver works when compiled without optimization, this is a
strong indication that the driver is not getting along with GCC
changes. This is a good start to diagnosing the problem. If the
driver does not work when compiled without optimization, it is very
probably not a compiler/code mismatch.
I admire the effort to which you (plural) have gone to chase this down.
Many would just wait until someone else diagnosed it.
More information about the fedora-list
mailing list