traps.c in 2.1.36 fails to compile w/o optimizations

Dan Merillat (harik@chaos.ao.net)
Fri, 25 Apr 1997 05:38:34 -0400


Just a note, if you cd to linux/arch/i386/kernel and
harik@chaos:/usr/src/linux/arch/i386/kernel$ gcc -D__KERNEL__ -I/usr/src/linux-2.1.36/include -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe -fno-strength-reduce -V2.7.2 -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -c traps.c -o traps.o
traps.c: In function `trap_init':
traps.c:432: fixed or forbidden register was spilled.
This may be due to a compiler bug or to impossible asm
statements or clauses.

try the same on signals.c, it fails with similar asm problems.

Are we depending on internals of gcc or something?
BTW, the -V2.7.2 -m486 is there because I have pgcc as my default
compiler...

Is this a gcc bug or a binutils or what? It's not a major problem
since it compiles correctly when I don't have the CFLAGS screwed up. ;-)
but I think it should be noted... these may be compiled w/o optimizations
for some ungodly reason (debugging? checking the difference gcc opts
make?)

The kernel seems to compile correctly under pgcc (970404) ... anyone else
tried that? Or am I the only one crazy enough to compound development
kernels with development compilers? (heh)

--Dan