I'm in Lynx at the moment so I can't give you "emerge info", but this is a relatively bleeding edge system - GCC 3.4, glibc-2.3.3_pre20040529, portage-2.0.51_pre9, linux-headers-2.6.5. CFLAGS="-O2 -march=athlon-xp -ftracer -fomit-frame-pointer -ftracer -pipe". The issue is compiling libperl. The new portage-2.0.51 function "dyn_test", responsible for running "make check" (or its equivalent), sends make into an infinite loop. This is from a stage 1 install. Eventually, something really helpful will happen, like everything being killed! The workaround is to insert an empty function into the ebuild: dyn_test() { } This stops the loop being entered. I'm unsure of a fix as I don't actually know what the function does. Reproducible with each of libperl-5.8.{2,3,4}.
Oh, I should add that this is also reproducible with FEATURES="-*" USE="-*" CFLAGS="-O0" CXXFLAGS="-O0".
The default behaviour changed in _pre10.
Excellent! Ish. How to I re-enable the test phase? I found this quite helpful for certain packages whilst testing gcc-3.5 CVS HEAD, which I'm working on porting. Sure, all sorts of packages miscompile horribly, but it would be nice to get rid of the compilation errors so that when the runtime errors get fixed 3.5 will be usable straight out of the box. And I can't test for runtime errors without dyn_test...