1 |
On Thu, Oct 24, 2013 at 09:58:17PM +1100, Adam Carter wrote |
2 |
|
3 |
> I figured that just -march=amdfam10 was a good start, since it implies |
4 |
> MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow! and ABM, but i |
5 |
> may add the rest of my make.conf CFLAGs since I dont have any issues |
6 |
> with any other software on this system. Is that fair reasoning? |
7 |
|
8 |
Two points... |
9 |
|
10 |
1) Are you cross-compiling, or building on the system that'll be running |
11 |
the kernel? If the build machine will be running the kernel, use |
12 |
"-march=native". It detects what cpu you're running on and builds |
13 |
accordingly. |
14 |
|
15 |
2) Use the flags "-fno-unwind-tables -fno-asynchronous-unwind-tables" to |
16 |
eliminate .eh_frame bloat. See the mailing list archive at |
17 |
http://comments.gmane.org/gmane.linux.busybox/36695 for the gory |
18 |
details. The guys at busybox are anal about code bloat; this is an |
19 |
important issue for them. |
20 |
|
21 |
3) Unless you're debugging, you can get additional size reduction with |
22 |
the "-fomit-frame-pointer" flag. |
23 |
|
24 |
My make.conf has the following CFLAGS line... |
25 |
|
26 |
CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe -fno-unwind-tables -fno-asynchronous-unwind-tables" |
27 |
|
28 |
-- |
29 |
Walter Dnes <waltdnes@××××××××.org> |
30 |
I don't run "desktop environments"; I run useful applications |