

and leave it at that.Choose your specific CPU if you want to maximize tuning. Otherwise stick with the Same Setting as your chost listing.
Recognized CPU's include Pentium, K6, K6-2(3), P3, P4, Athlon, Athlon-tbird, Athlon-Xp, Athlon64

Countrary to what you obviously believe, many CFLAGS problems are caused by lack of knowledge, not desire to push limits at all costs. Put simply: some people don't know that the thing they play with is a gun, and that it is loaded.Quit filtering cflags and allow darwin to take action. Anyone who's foolish enough to play with a loaded gun should just remove themselves from the gene pool and be done with it, thus saving us the time&effort of idiot proofing things for them while improving the Inteligence of the Species. Thank you for your consideratation and immediate implementation.

Code: Select all
CFLAGS="-O2 \
-mtune=athlon-xp \
-pipe \
-fomit-frame-pointer \
-ftracer \
-momit-leaf-frame-pointer \
-fno-ident \
-finline-functions \
-fforce-addr \
-fprefetch-loop-arrays \
-falign-functions=64 \
-ffast-math"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"-fprefetch-loop-arrays is bad for your health. and remove -falign-functions=64 immediately. And take out -ffast-math; that's a pretty well-known dangerous "optimization". -fno-ident is useless. And it's counterproductive to enable both -fomit-frame-pointer and -momit-leaf-frame-pointer. There's a thread floating around that compares the two and examines their effects when used. Pick one or the other, not both.Tleilaxu wrote:What about these CFLAGS:
Code: Select all
CFLAGS="-O2 \ -mtune=athlon-xp \ -pipe \ -fomit-frame-pointer \ -ftracer \ -momit-leaf-frame-pointer \ -fno-ident \ -finline-functions \ -fforce-addr \ -fprefetch-loop-arrays \ -falign-functions=64 \ -ffast-math" CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"

Uh ? -fomit-frame-pointer implies -momit-leaf-frame-pointer. Using both is exactly the same as using only -fomit-frame-pointer, except when an ebuild filters one but not the other, however I don't know if such ebuilds exist and if they break. What thread are you refering to ?nightmorph wrote: And it's counterproductive to enable both -fomit-frame-pointer and -momit-leaf-frame-pointer. There's a thread floating around that compares the two and examines their effects when used. Pick one or the other, not both.
I would suggest adding both -march and -mtune. ( I know the sense of this is debatable, just my 2c ).nightmorph wrote:
Change -mtune= to -march=; that's the best way to generate processor-specific code.
-momit-leaf-frame-pointer overrides -fomit-frame-pointer...IvanYosifov wrote:Uh ? -fomit-frame-pointer implies -momit-leaf-frame-pointer. Using both is exactly the same as using only -fomit-frame-pointer, except when an ebuild filters one but not the other, however I don't know if such ebuilds exist and if they break. What thread are you refering to ?nightmorph wrote: And it's counterproductive to enable both -fomit-frame-pointer and -momit-leaf-frame-pointer. There's a thread floating around that compares the two and examines their effects when used. Pick one or the other, not both.
I would suggest adding both -march and -mtune. ( I know the sense of this is debatable, just my 2c ).nightmorph wrote:
Change -mtune= to -march=; that's the best way to generate processor-specific code.
Thanks. This is the thread I was referring to. There's a couple of others, as well, but I haven't been able to find them again.6D7474 wrote:-momit-leaf-frame-pointer overrides -fomit-frame-pointer...
take a look at http://forums.gentoo.org/viewtopic-t-33 ... rt-75.html
Code: Select all
CFLAGS="-march=athlon-xp -O3 -momit-leaf-frame-pointer -fomit-frame-pointer \
-fno-align-jumps -fno-align-labels -fno-align-loops -fno-align-functions \
-mmmx -m3dnow -msse -ffast-math -mfpmath=sse -s -pipe"
LDFLAGS="-s"
CXXFLAGS="$CXXFLAGS"
Code: Select all
-march=athlon-xp -O3 -fomit-frame-pointer -pipeCode: Select all
-momit-leaf-frame-pointerCode: Select all
-fno-align-jumps -fno-align-labels -fno-align-loops -fno-align-functionsCode: Select all
-mmmx -m3dnow -msseCode: Select all
-s (CFLAGS and LDFLAGS)Uh?nightmorph wrote:Thanks. This is the thread I was referring to. There's a couple of others, as well, but I haven't been able to find them again.6D7474 wrote:-momit-leaf-frame-pointer overrides -fomit-frame-pointer...
take a look at http://forums.gentoo.org/viewtopic-t-33 ... rt-75.html

and i could bet that my system is faster and far more stable than most of what you have there with these cflags.CFLAGS="-march=athlon-xp -O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
How could making %ebp available for other things and replacing move %esp %ebp (and the opposite) by add or sub absolute values to %esp lead to slowdown?Gergan Penkov wrote:Well just my 2c, if someone depends on a broken app like acovea to set his/her cflags, it is his/her right to do so.
I've learned my lesson - even the fomit-frame-pointer could lead to visible slowdowns on athlonxp.
now i use onlyand i could bet that my system is faster and far more stable than most of what you have there with these cflags.CFLAGS="-march=athlon-xp -O2 -pipe"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
what about for example openoffice-2 draw starting in 5 secondson athlonXP-2000+ ?



"-O3" will break things. You really should be using "-O2" instead.pv wrote:are recommended everywhere.Code: Select all
-march=athlon-xp -O3 -fomit-frame-pointer -pipe
These are implied by "-march=athlon-xp," so you probably do not need them.allow programs to use machine-specific instruction sets mentioned. If a program doesn't know about ones it doesn't use them. Why not to add them?Code: Select all
-mmmx -m3dnow -msse
Erm. You really don't want to strip everything. Lots of shared libraries (essentially almost everything in /lib and /usr/lib, think glibc, OpenSSL, etc.) won't work with nonexistant symbol tables!removes debug (and what?) symbols from programs compiled. I know Gentoo strips result binaries with the 'strip' command but using the option I reach better results (this has been checked).Code: Select all
-s (CFLAGS and LDFLAGS)
Are you sure? I'm sitting at my box and writing this post and everithing seems ok. I haven't notice any problems for the last 3 or 4 months (4 months ago I started using Gentoo). Maybe ebuilds that won't work with these flags strip them.Lots of shared libraries (essentially almost everything in /lib and /usr/lib, think glibc, OpenSSL, etc.) won't work with nonexistant symbol tables!

Good point then. I concede.pv wrote:Are you sure? I'm sitting at my box and writing this post and everithing seems ok. I haven't notice any problems for the last 3 or 4 months (4 months ago I started using Gentoo). Maybe ebuilds that won't work with these flags strip them.Lots of shared libraries (essentially almost everything in /lib and /usr/lib, think glibc, OpenSSL, etc.) won't work with nonexistant symbol tables!