Is -O2 supported for world?

Peter Wemm peter at wemm.org
Tue Mar 8 08:57:14 GMT 2005


On Monday 07 March 2005 10:42 pm, Damian Gerow wrote:
> Thus spake David O'Brien (obrien at freebsd.org) [08/03/05 01:36]:
> : It is suppored w/in /usr/src.
>
> Thanks for the clarification.
>
> : >     /usr/src/lib/libc/i386/sys/_amd64_get_fsbase.c: In function
> : > `_amd64_get_fsbase': /usr/src/lib/libc/i386/sys/_amd64_get_fsbase.c:40:
> : > warning: dereferencing type-punned pointer will break strict-aliasing
> : > rules
> : >
> : > without -fno-strict-aliasing.  Not that I have any serious desire to
> : > run with -O2, just curious.
> :
> : -O2 isn't supported in /usr/ports without -fno-strict-aliasing also.
> : There are a few ports that aren't happy being compiled with any form of
> : -O2 (such as the old perl).
>
> That error message was within /usr/src.

I generally tell people to avoid -O2 like the plague.  -O2 causes way too many 
"strange" things to happen.  And as Kris said, compiling /usr/src with -O2 
will cause several key ports to break (such as perl5.6) - even if perl itself 
is compiled with plain -O.

So yes, gcc -O2 *is* miscompiling /usr/src.

-Peter


More information about the freebsd-amd64 mailing list