Thats the express purpose that genflags was created for, to provide users with a known good set of high-performance CFLAGS so they didn't need to mess around with it too much.
Still there is no room for improvement when dealing with system wide optimization.
> Then there is the issue about stability. Users are bound to break
thing if
> they set flags on pure guess and the leave it at that. A huge amout
of support
> queries on the mailing-lists and bugs.gentoo.org boils down to
beeing unstable gcc
> settings. A solution mostyl used to remedy this problem is to use
"strip-flags" in
> ebuilds to remove known unstable flags (or all flags in some cases).
strip-flags to remove problematic flags on a per ebuild basis is the
best solution. I do agree that unstable gcc settings are a big
problem,
eg in a recent bug it turned out the submitter's system (an older
Pentium I) couldn't handle -O3 without flaking out. Reduce it to -O2
and
the box went fine (both for compiling and already compiled packages).
This is a bug in GCC. While a workaround may be a quick solution for Gentoo, one shouldn't base the whole system on bugs.
> What we would need here is a sytem that ensures that the default
flags for
> compiling each application is the best you can do while keeping the
sytem
> stable. The system should provide mature recomendations of flags for
those of
> us willing to risk a little stability for absolute speed. The system
should
> take advantage of the ordinary software improvment mechanism used by
OSS
> projects: evolution. Small but measureable improvments that all
users
> benefit from.
again, genflags was created for this. I've considered a sequel to
genflags based on the genetic optimization of compiler flags as
mentioned on Slashdot a while ago, but for lack of time, i'm not even
looking at doing it now.
You might want to chek: http://www.coyotegulch.com/potential/gccga/gccga.html http://www.rocklinux.net/packages/ccbench.html
I meant by evolution: the process of users submiting patches to improve individual ebuilds.
Stable and high-performance is an per-system definition, as evidenced by the bug I mentioned with -O3.
And should as such be fixed... in gcc. If gcc cant optimize correct knowing the cache size of the cpu, gcc is broken. Fix gcc.
/John
pgp00000.pgp
Description: PGP signature
