On 4/18/06, D. Hugh Redelmeier <hugh@xxxxxxxxxx> wrote: > | 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. I agree that this could still point to a driver bug. I asked the developer whether he had verified if his driver works with the 'official' gnu gcc-4.1, and he stated that he had not. I will be unlikely to have time in the near future (within the next few weeks at least) to rebuild a kernel against gcc-3.2 to verify his claim. So, if someone else has the time, please let us know how it works out. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ L. Friedman netllama@xxxxxxxxx LlamaLand http://netllama.linux-sxs.org