i386 clobbering
Jeffrey A Law
law@cygnus.com
Sun Oct 31 23:03:00 GMT 1999
In message < E11gl76-00040f-00@gateway.internal-0.net >you write:
> GCC Version: 2.95.1 versus 2.94
> SYSTEM: ix86-Linux 2.2.13 (SuSE 6.2)
>
> Kernel compiling with newly installed 2.95.1 caused the error
> described on
> http://www.gnu.org/software/gcc/faq.html#asmclobber
> foo.c:7: fixed or forbidden register 0 (ax) was spilled for class
> AREG.
>
> where as compiling with the v2.94 (included in SuSE 6.2) worked
> well. From my knowledge, the kernel code from 2.2x on should be
> ok concerning the clobbering. the main make-file tests ans inserts
> the required otion to the compiler: -fno-strict-aliasing. The
> mentioned part of code in .../delay.h is adapted, so should the part
> in /drivers/char/hfmodem/refclock.c which caused the mentioned
> error message:
This code is buggy.
The two mull asms explicitly list "ax" as a clobbered register and as an
input register.
Please read the FAQ more closely.
jeff
More information about the Gcc-bugs
mailing list