gmp-4.1.2 failed to build while using gcc 3.4.2 but built just fine under gcc 3.3.4. Reproducible: Always Steps to Reproduce: 1.gcc-config i686-pc-linux-gnu-3.4.2 2.emerge gmp 3. Actual Results: gmp 4.1.2 failed to build Expected Results: it should have compiled. /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c -o add.lo `test -f add.c || echo './'`add.c /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c -o add_ui.lo `test -f add_ui.c || echo './'`add_ui.c mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c add_ui.c -fPIC -DPIC -o .li bs/add_ui.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c add.c -fPIC -DPIC -o .libs/ add.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c add_ui.c -o add_ui.o >/dev/n ull 2>&1 /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c -o abs.lo `test -f abs.c || echo './'`abs.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c add.c -o add.o >/dev/null 2> &1 /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c -o aorsmul.lo `test -f aorsmul.c || echo './'`aorsmul.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c abs.c -fPIC -DPIC -o .libs/ abs.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c abs.c -o abs.o >/dev/null 2> &1 /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c -o aorsmul_i.lo `test -f aorsmul_i.c || echo './'`aorsmul_i.c gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c aorsmul.c -fPIC -DPIC -o .l ibs/aorsmul.o gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c aorsmul.c -o aorsmul.o >/dev /null 2>&1 gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c aorsmul_i.c -fPIC -DPIC -o .libs/aorsmul_i.o make[2]: *** [aorsmul.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -march=athlon -O2 -pipe -c aorsmul_i.c -o aorsmul_i.o > /dev/null 2>&1 make[2]: *** [aorsmul_i.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/gmp-4.1.2/work/gmp-4.1.2/mpz' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gmp-4.1.2/work/gmp-4.1.2' make: *** [all] Error 2
gmp-4.1.3 fixes this issue. I think it should be masked as stable though. I'm putting together a patch, which backports the fixes to gmp-4.1.2.
Created attachment 40936 [details, diff] [PATCH 1/6] Fix GCC 3.4 issues in gmp-4.1.2 PATCH 1 of 6 backported from gmp-4.1.3
Created attachment 40938 [details, diff] [PATCH 2/6] Fix GCC 3.4 issues in gmp-4.1.2 Patch 2 of 6 backported from gmp-4.1.3
Created attachment 40939 [details, diff] [PATCH 3/6] Fix GCC 3.4 issues in gmp-4.1.2 Patch 3 of 6 backported from gmp-4.1.3
Created attachment 40940 [details, diff] [PATCH 4/6] Fix GCC 3.4 issues in gmp-4.1.2 Patch 4 of 6 backported from gmp-4.1.3
Created attachment 40941 [details, diff] [PATCH 5/6] Fix GCC 3.4 issues in gmp-4.1.2 Patch 5 of 6 backported from gmp-4.1.3
Created attachment 40942 [details, diff] [PATCH 6/6] Fix GCC 3.4 issues in gmp-4.1.2 Patch 6 of 6 backported from gmp-4.1.3 Sorry for the split, but it was easier to create the patches like that.
Created attachment 42678 [details, diff] All-in-one patch (includes all of the above 6 patches)
Created attachment 43368 [details, diff] all-in-one, no copyright changes Half of the patch consisted of copyright updates. That seemed a bit excessive so I removed them. Both patched do the exact same thing otherwise.
Created attachment 43369 [details, diff] patch to make the ebuild patch Trivial patch to make the ebuild apply the previous patch.
gmp-4.1.2 didn't compile on my gcc 3.4 box without the patch. It does with the patch. It hasn't finished yet but it seems to compile with the patch on gcc 3.3 too. So this seems like a safe compile fix. But I'm not sure how relevant this is anymore. gmp-4.1.3 and 4.1.4 don't need any patching and one of those is stable on everything but mips and alpha.
I just marked 4.1.3 stable on alpha. Mips, it looks like this bug can be closed if you bump gmp.
4.1.4 is mips stable now