CFLAGS="-march=nocona -mcpu=nocona -O2 -pipe -fomit-frame-pointer -fforce-addr" ^ works #CFLAGS="-march=nocona -mcpu=nocona -O2 -fomit-frame-pointer -fforce-addr -ftracer -mmmx -msse3 -mfpmath=sse -pipe" ^ doesn't work. I'm trying to figure out exactly what flag it is at the moment that's causing an issue - but I would suggest that CFLAGS are filtered for this application - it's known to be sensitive. I'm trying to figure out exactly what it is that's breaking it at the moment. Reproducible: Always Steps to Reproduce: 1. 2. 3.
-mfpmath=sse This appears to be the guilty flag. resulting in: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5-20050130/../../../../i686-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in ob ject. /var/tmp/portage/erlang-10.2.5/work/otp_src_R10B-5/erts/obj.hybrid.beam/i686-pc-linux-gnu/hipe_x86_bifs.o(.text+0x7): In fun ction `nbif_handle_fp_exception': : undefined reference to `erts_restore_fpu' collect2: ld returned 1 exit status make[3]: *** [/var/tmp/portage/erlang-10.2.5/work/otp_src_R10B-5/bin/i686-pc-linux-gnu/beam.hybrid] Error 1 I imagine the ebuild should be altered to filter this out.
(In reply to comment #1) > -mfpmath=sse > This appears to be the guilty flag. > I imagine the ebuild should be altered to filter this out. A few comments on your C[XX]FLAGS; this is what man gcc says: <snip> nocona Improved version of Intel Pentium4 CPU with 64-bit extensions, MMX, SSE, SSE2 and SSE3 instruction set support. </snip> So -mmmx -msse3 is pretty much redundant. Also, -march=nocona sets *minimum* architecture to nocona, so I'm really missing the point of setting -mcpu=nocona, it's already included in the first one and there's nothing left to be optimized more. Finally, wrt mfpmath=sse, my man page says that it "may break some existing code that expects temporaries to be 80bit", does not seem like the safest one, hmm. So, what about removing it yourself from your make.conf? ;p
CFLAGS were given to my by a friend, and I used them without thinking - assuming he had checked them out, apparently not overly wise. I'll mark this bug as invalid. Thanks for your feedback.
*** Bug 134818 has been marked as a duplicate of this bug. ***
*** Bug 141489 has been marked as a duplicate of this bug. ***
(In reply to comment #2) > > Finally, wrt mfpmath=sse, my man page says that it "may break some existing code > that expects temporaries to be 80bit", does not seem like the safest one, hmm. > So, what about removing it yourself from your make.conf? ;p > I am using "-mfpmath=sse" because it really improved performance with some bigger applications (firefox, openoffice, ..) and dev-lang/erlang is the first ebuild that failed with it. So it would be very nice if this ebuild filtered the flag out instead of requiring all users to remove it from their make.conf.