optimization levels for 6-STABLE build{kernel,world}

Mark Andrews Mark_Andrews at isc.org
Wed Sep 13 17:02:44 PDT 2006


> On Wed, Sep 13, 2006 at 12:17:15PM +0300, Stefan Lambrev wrote:
> > Hello,
> > 
> > Oliver Fromme wrote:
> > >Marc G. Fournier <freebsd at hub.org> wrote:
> > > > What are ppl currently using for CFLAGS/COPTFLAGS in /etc/make.conf for
>  
> > > > building kernel/world?  I know awhile back it wasn't recommended to go 
> > > > above -O2, for instance, but suspect that has changed ... ?
> > >
> > >The best optimization is probably to not override the
> > >defaults at all, because they're already pretty optimal.
> > >In fact, by overriding the defaults there's a good chance
> > >to make things worse.  :-)
> > >
> > >The default CFLAGS are "-O2 -pipe -fno-strict-aliasing".
> > >Anything above -O2 isn't supported, and using -O2 without
> > >-fno-strict-aliasing also isn't supported (and will create
> > >broken code for some programs).  A common mistake is to
> > >specify CFLAGS="-O2 -pipe" and omit -fno-strict-aliasing.
> > >That'll shot you in the foot sooner or later.
> > >
> > >Best regards
> > >   Oliver
> > >
> > >  
> > May be default flags have to be set here:
> > /usr/src/share/examples/etc/make.conf ?
> > I'm asking because in this file I read:
> > 
> > # CFLAGS controls the compiler settings used when compiling C code.
> > # Note that optimization settings other than -O and -O2 are not recommended
> > # or supported for compiling the world or the kernel - please revert any
> > # nonstandard optimization settings to "-O" or -O2 before submitting bug
> > # reports without patches to the developers.
> > #
> > #CFLAGS= -O -pipe
> > 
> > May be "-fno-strict-aliasing" have to be added here then ?
> > 
> 
> 
> 	A couple of things.  Will having gcc unroll loops have any
> 	negative consequences?  (I can't imagine how:: but better 
> 	informed than to have something crash inexplicability.)
> 	With 6.X safe at -O2 and with -funroll-loops, that should be
> 	a slight gain, right?  (It also will make an upgrade from 5.5 
> 	to 6.[12] that much more rational.)
> 
> 	[Dumb] questions:: first, what does the compiler do with
> 	"-fno-strict-aliasing"?  And is there any guess, any SWAG even,
> 	on when FreeBSD will safe with -O3??

	Lots of code is not strict-aliasing safe.  Gcc itself can't
	determine all the cases which a construct is not strict-aliasing
	safe so even after getting rid of all the warnings gcc
	produces you can't be sure your code is strict-aliasing
	safe.  Think of -fstrict-aliasing as optimisation without
	a saftey net.  If your code doesn't cast pointers you should
	be safe otherwise you need to be really, really, really
	careful when you turn this on.
 
> 	thanks, people,
> 
> 	gary
> 
> > -- 
> > Best Wishes,
> > Stefan Lambrev
> > ICQ# 24134177
> > 
> > _______________________________________________
> > freebsd-stable at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> > To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
> 
> -- 
>    Gary Kline     kline at thought.org   www.thought.org     Public service Unix
> 
> _______________________________________________
> freebsd-stable at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at freebsd.org"
--
ISC Training!  October 16-20, 2006, in the San Francisco Bay Area,
covering topics from DNS to DHCP.  Email training at isc.org.
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org


More information about the freebsd-stable mailing list