CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" FAILS CFLAGS="-mcpu=pentium4 -O2 -pipe -fomit-frame-pointer" SUCCEEDS I'm not sure if it was recompilation of php or recompilation of glibc that fixed this (I compiled my entire system from scratch) but possibly march=pentium4 should be labelled as not-working for php and glibc? Josh. Reproducible: Always Steps to Reproduce: 1. Compile system on pentium4 with -march=pentium4 2. printf( "%.2f", 10.75 ); will output 0.00 Actual Results: printf( "%.2f", 10.75 ); will output 0.00 Expected Results: printf( "%.2f", 10.75 ); will output 10.75 CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" FAILS CFLAGS="-mcpu=pentium4 -O2 -pipe -fomit-frame-pointer" SUCCEEDS
See /etc/make.conf: # ATHLON-4 will generate invalid SSE instructions; use 'athlon' instead. # PENTIUM4 will generate invalid instructions; use 'pentium3' instead. I'm tempted to want Status: CLOSED Resolution: INVALID But I wonder if some checks in emerge to catch users doing this would be worthwhile? I think maybe spew an error and tell them to go and fix it.
Yes, i think that would be a good idea... exactly what I was suggesting. I only saw the pentium4 thing AFTER I had the problem :)
docs-team: please add this into FAQ ! See /etc/make.conf: # ATHLON-4 will generate invalid SSE instructions; use 'athlon' instead. # PENTIUM4 will generate invalid instructions; use 'pentium3' instead.
This seems redundant to me. CFLAGS is set in /etc/make.conf and there is a clear warning in the file regarding this issue. None-the-less, if there still is a need to add this into the FAQ, how to proceed? Do we want this added under: "How can I set a global configuration for compiling packages?" -- perhaps as a note? Or, do we want to add a new entry (question) with this info? I'll wait to hear some feedback. Personally, I'm tempted to close it with a resolution of INVALID.
Yes, you can set it as invalid if you wish, there doesn't seem to be a lot more you can do about it. As for the warnings in /etc/make.conf, I believe that I didn't notice when the warnings were added during a configuration merge. The only suggestion I could make is for the ebuild to check if march=pentium4 was set and refuse to build or possibly issue some warnings during emerge. Josh.
setting to invalid then