make[1]: Entering directory `/var/tmp/portage/ocaml-3.08.1/work/ocaml-3.08.1/otherlibs/num' gcc -O -I../../byterun -fno-defer-pop -Wall -D_FILE_OFFSET_BITS=64 -D_REENTRANT -march=pentium3 -O3 -pipe -fno-stack-protector -fPIC -DBNG_ARCH_ia32 -DBNG_ASM_LEVEL=2 -c -o bng.o bng.c bng_ia32.c: In function `bng_ia32_mult_add_digit': bng_ia32.c:111: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[1]: *** [bng.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/ocaml-3.08.1/work/ocaml-3.08.1/otherlibs/num' make: *** [otherlibraries] Error 2 similar problem to here: http://forums.gentoo.org/viewtopic.php?p=1579854#1579854 other apps are also experiencing this to varying degree: http://lists.gnu.org/archive/html/qemu-devel/2004-07/msg00433.html I added a replace-flags -O3 -O2 to the ebuild locally, but i suspect there isn't much to be done except to be aware of the problem if we are using gcc 3.4
Exactly, the code is already hand-tuned to get the most of x86's reduced register space. I don't see the flag handling in the ebuild actually, you can commit it.
i still have this problem,the ebuild also has no replace-flags....
It should have, i'll add it tomorrow, in the mean time you can build with CFLAGS="".
I added strip-flags which removes -O3 and other quite untested flags.
"strip-flags" doesn't remove -O3. Still the same ;) Use "replace-flags -O? -O2"
I fixed that in CVS, now closing the bug :)