cvs commit: src/share/examples/etc make.conf
obrien at FreeBSD.ORG
Mon Jul 5 12:48:34 PDT 2004
On Sun, Jul 04, 2004 at 04:20:50PM -0700, Kris Kennaway wrote:
> On Sun, Jul 04, 2004 at 01:56:48PM -0700, David O'Brien wrote:
> > On Sat, Jul 03, 2004 at 10:16:07PM -0700, Kris Kennaway wrote:
> > > On Sat, Jul 03, 2004 at 08:21:39PM -0700, David Schultz wrote:
> > > > FWIW, I've been compiling most things with -O2 for a while (to
> > > > find -O2 bugs, not for speed) and haven't noticed many problems.
> > > > The only significant one I know of is that -O2 breaks
> > > > floating-point exceptions in libm because gcc doesn't support the
> > > > FENV_ACCESS pragma. I think for some routines like rint(3), it
> > > > may even give the wrong answer due to incorrect optimizations, but
> > > > I'd have to check that again.
> > > >
> > > > AFAIK, the necessary functionality to make gcc's optimizer treat
> > > > floating-point code in a sane manner isn't on the horizon, so
> > > > maybe -O2 should be automatically turned off while compiling libm
> > > > (and perhaps libalias as well). That would make it more
> > > > easily justifiable to make -O2 the default at some future point.
> > >
> > > I don't think we can ever make it the default since there's likely to
> > > be a lot of software in ports that would be broken too.
> > 99% of the ports that "may break" build with -O2 on Linux (as -O2 is
> > their default). What is different about us vs. Linux for these ports?
> We care about not introducing instability into our packages?
> If we have >=2 -O2 bugs in our source tree alone, why should you think
> that none of the 11000 ports are affected?
Because most everything in the ports collection was developed on Linux
using -O2. The bugs are in our code, not gcc's -O2.
-- David (obrien at FreeBSD.org)
More information about the cvs-all