cvs commit: src/share/examples/etc make.conf
Scott Long
scottl at samsco.org
Mon Jul 5 15:00:29 PDT 2004
David O'Brien wrote:
> 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.
>
Making -O2 be the global default is a bad idea right before 5.3. While
90% of the ports might be fine under linux with -O2, it just adds too
much risk this late in the game. Let's revisit it shortly after 5.3.
Scott
More information about the cvs-src
mailing list