Messages in this thread | | | Date | Tue, 7 Dec 1999 20:18:38 +0100 (CET) | From | Mike Galbraith <> | Subject | Re: workaround for: Breakage in arch/i386/kernel/time.c |
| |
On Tue, 7 Dec 1999, David Dyck wrote:
Hi,
> I noticed the same problem that Richard Gooch had: > > time.c: In function `do_gettimeofday': > time.c:262: fixed or forbidden register was spilled. > This may be due to a compiler bug or to impossible asm statements or clauses.
IMVHO, this is a bug in older versions of gcc and egcs. These compilers seem to run into trouble when too much restriction is placed upon their register selection choices.
The very same thing happens if you use raid-0.90 in 2.3.x for the very same group of compilers.. xor.c bombs. [matters not to me.. haven't been able to make raid-5 (hobby) work right in 2.3.>6 anyway.. yet:]
gcc-2.7.2.3 -D__KERNEL__ -I/usr/local/src/tmp/linux-2.3.30-6.ikd.raid.fpumemcpy/include -Wall -Wstrict-prototypes -O2 -fno-omit-frame-pointer -D__SMP__ -pipe -DCPU=586 -c -o drivers/block/xor.o drivers/block/xor.c drivers/block/xor.c: In function `xor_block_pII_mmx': drivers/block/xor.c:586: fixed or forbidden register was spilled. This may be due to a compiler bug or to impossible asm statements or clauses. cpp: output pipe has been closed make: *** [drivers/block/xor.o] Error 1
This compiles fine with newer compilers. (and works)
<snip>
> What compiler is Linus using?
Dunno.. I suspect that sometimes its grey-cc -fuse-all-wrinkles ;-)
-Mike
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |