On Thu, Oct 24, 2013 at 09:58:17PM +1100, Adam Carter wrote

> I figured that just -march=amdfam10 was a good start, since it implies
> MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow! and ABM, but i
> may add the rest of my make.conf CFLAGs since I dont have any issues
> with any other software on this system. Is that fair reasoning?

  Two points...

1) Are you cross-compiling, or building on the system that'll be running
the kernel?  If the build machine will be running the kernel, use
"-march=native".  It detects what cpu you're running on and builds
accordingly.

2) Use the flags "-fno-unwind-tables -fno-asynchronous-unwind-tables" to
eliminate .eh_frame bloat.  See the mailing list archive at
http://comments.gmane.org/gmane.linux.busybox/36695 for the gory
details.  The guys at busybox are anal about code bloat; this is an
important issue for them.

3) Unless you're debugging, you can get additional size reduction with
the "-fomit-frame-pointer" flag.

  My make.conf has the following CFLAGS line...

CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe -fno-unwind-tables 
-fno-asynchronous-unwind-tables"

-- 
Walter Dnes <[email protected]>
I don't run "desktop environments"; I run useful applications

Reply via email to