dev-util/guile fails to compile if -mfpmath=sse,387 is used. this does not work: CFLAGS="-march=athlon-mp -O3 -pipe -mmmx -m3dnow -msse -mfpmath=sse,387 -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" CXXFLAGS="-march=athlon-mp -O3 -pipe -mmmx -m3dnow -msse -mfpmath=sse,387 -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" emerge -v dev-util/guile but this works: CFLAGS="-march=athlon-mp -O3 -pipe -mmmx -m3dnow -msse -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" CXXFLAGS="-march=athlon-mp -O3 -pipe -mmmx -m3dnow -msse -fomit-frame-pointer -funroll-loops -frerun-cse-after-loop -frerun-loop-opt -falign-functions=4 -maccumulate-outgoing-args -ffast-math -fprefetch-loop-arrays" emerge -v dev-util/guile this works as well: CFLAGS="-march=athlon-mp -O3 -pipe" CXXFLAGS="-march=athlon-mp -O3 -pipe" emerge -v dev-util/guile Reproducible: Always Steps to Reproduce: 1. 2. 3.
*** Bug 27221 has been marked as a duplicate of this bug. ***
Erm, Frankly this set of flags go to the "not recommended" set and as such there is very little need to prevent you from volounteerly breaking your system with the use of excessive optimizations. My suggestion is to mark this bug as WONTFIX due to the nature of the flags in question. applying band-aid filtering flags for sakes as this is the wrong way to go about user re-education. (not everything you read in the forums are true or good.)
well, without any output by the reporter (*sigh*) and investigation on my side i was under the impression it might have been the sed problem we've seen earlier where the comma caused problem. But it doesn't like that after all. I pretty much agree that problems coming from excessive use of CFLAGS are the users own responsibility to handle.
Besides, it appears to be the combination of CFLAGS that causes the problem. I can build both guile-1.6.4 and bonobo-1.0.22 with CFLAGS='-march=pentium3 -Os -pipe -fomit-frame-pointer -ffast-math -mfpmath=sse,387'
together with this, from TheFineManual (man gcc) sse,387 Attempt to utilize both instruction sets at once. This effec- tivly double the amount of available registers and on chips with separate execution units for 387 and SSE the execution resources too. Use this option with care, as it is still experimental, because gcc register allocator does not model separate functional units well resulting in instable perfor- mance.
I did NOT post this bug to beg for getting the ebuild to compile with that insane optimizations! I only wanted to report, that there are GCC flags wich prevent this ebuild to compile and that it could be an good thing to STRIP them OUT of the ebuild! That's all! I think that kind of information is an very valuable information to get the ebuilds more stable. And making Gentoo better and better... cheers SteveB
Well without output i don't even suspect the optimizations themselves, but the comma in the CFLAGS that can cause weird stuff in Makefiles/configure scripts. But we decided not to start adding filters for all sorts of CFLAGS everywhere, that would be several lines of sometimes conditional strip flags based on compiler version, architecture and what not. We just can't start doing that. So when you go beyond suggested defaults it's up to the user to fix problems.
Thanks for filing the bug report. I'm sorry if I seemed sharp, but I read it as Another user who tried overoptimization of the system and failed :). Having a thing as this documented is still good (At least for other users who can then search bugzilla).
Thanks Spider. This answer makes me happy. I was an liddle bit upset, because I only rapported an error I had, while I was installing and testing an Athlon MP system. And I only tested serval flags to see what and how gentoo will work with it. I am in no way an optimizations freak. I just tryed some stuff an collected the problems to post them and help the community to learn out of it. cheers SteveB