Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 65327

Summary: ocaml-3.08.1 fails with -O3 on gcc 3.4
Product: Gentoo Linux Reporter: Alastair Tse (RETIRED) <liquidx>
Component: Current packagesAssignee: Gentoo Team for the ML programming language family <ml>
Status: VERIFIED FIXED    
Severity: normal CC: gcc-porting
Priority: Normal    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Alastair Tse (RETIRED) gentoo-dev 2004-09-25 08:55:10 UTC
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
Comment 1 Matthieu Sozeau (RETIRED) gentoo-dev 2004-09-27 12:50:15 UTC
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.
Comment 2 Thomas Weidner 2004-10-11 11:55:10 UTC
i still have this problem,the ebuild also has no replace-flags....
Comment 3 Matthieu Sozeau (RETIRED) gentoo-dev 2004-10-11 13:43:54 UTC
It should have, i'll add it tomorrow, in the mean time you can build with CFLAGS="".
Comment 4 Matthieu Sozeau (RETIRED) gentoo-dev 2004-10-12 12:37:39 UTC
I added strip-flags which removes -O3 and other quite untested flags.
Comment 5 Carsten Tschense 2004-10-20 10:07:29 UTC
"strip-flags" doesn't remove -O3. Still the same ;)
Use "replace-flags -O? -O2"
Comment 6 Matthieu Sozeau (RETIRED) gentoo-dev 2004-10-20 11:04:20 UTC
I fixed that in CVS, now closing the bug :)