Gentoo Archives: gentoo-dev

From: George Prowse <cokehabit@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] CFLAGS paragraph for the GWN
Date: Sun, 01 Oct 2006 00:44:08
Message-Id: 451F0DE3.7090209@gmail.com
In Reply to: [gentoo-dev] [RFC] CFLAGS paragraph for the GWN by Lionel Bouton
Lionel Bouton wrote:
> Hi, I just had an unpleasant experience with -ffast-math and GCC 4.1.1 > (it borked my LDAP authentication on several systems which worked with > the same CFLAGS as long as GCC 3.4.6 was used). > > There is a lot of material out there about CFLAGS and Gentoo (google > returns 387000 pages) but what's working for someone might not for > another. There are flags that work for a GCC version and most ebuilds > and don't work with another GCC version (my unfortunate experience) or > some ebuilds. Flag combination/architecture/LDFLAGS might be an issue too. > > There are already good resources (http://gentoo-wiki.com/CFLAGS_matrix > was mentioned to me by robbat2) but they may not be advertised enough. > I'd like to propose a paragraph to the GWN editor which presents some > gotchas and good references on the subject. > > Here's a draft for review. You're welcomed to expand on the subject. > > --- Draft BEGIN --- > <section> > <title>CFLAGS</title> > <body> > > <p> > Being able to tune the CFLAGS is part of one of the core principles of > Gentoo: let the user be in control. Being in control brings both > benefits and problems and CFLAGS tuning is not an exception. > </p> > <p> > The recent upgrade to gcc-4.1.1 for x86 and amd64 users changed the > landscape. Users that spent some time tuning their CFLAGS with gcc-3.4.6 > might find out that an upgrade to gcc-4.1.1 leaves them with an unstable > system. Example of this are : > <ul> > <li>nss_ldap stopped working with -ffast-math</li> > <li>...</li> > </ul> > </p> > <p> > Users with unsupported CFLAGS (see the <uri > link='http://gentoo-wiki.com/CFLAGS_matrix'>CFLAGS matrix</uri> for > example) might want to return to safe CFLAGS (see <uri > link='http://gentoo-wiki.com/Safe_Cflags'>Safe CFLAGS</uri>) if recent > updates caused them stability problems. On the other hand, more > adventurous users might want to experiment with CFLAGS that didn't work > properly with gcc-3.4.6... As always, the user is in control. > </p> > </body> > </section> > --- Draft END --- > > If possible, I'd like to expand the list of 3.4.6 -> 4.1.1 upgrade > problems which are linked to experimental CFLAGS. If you want to expand > the subject to cover other tuning/stability gotchas that recent updates > might have brought into the light, please feel free to do so. As English > is not my native tongue, feel free to spell check too. > > Cheers, > > Lionel. >
I agree in principle because it would stop people using stupid CFLAGS. It should have an information section and a "use this CFLAG and dont ask us for help" section: <p> Good Compiler Flag </p> <p> -floop-optimize Enables safe loop optimisation and is enabled in most -O$ </p> <p> Bad Compiler flag </p> <p> Sets |-fno-math-errno|, |-funsafe-math-optimizations|, |-fno-trapping-math|, |-ffinite-math-only|, |-fno-rounding-math| and |-fno-signaling-nans| Used to speed up math functions but causes major b0rkage because it can result in incorrect output for programs which depend on an exact implementation of IEEE or ISO rules/specifications for math functions. Use this and dont bother asking for help. </p> -- gentoo-dev@g.o mailing list