On 4/18/06, D. Hugh Redelmeier <hugh(a)mimosa.com> 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(a)gmail.com
LlamaLand