Messages in this thread | | | Subject | Re: Reducing debuginfo size by removing unneeded includes | From | Andi Kleen <> | Date | Mon, 18 Feb 2008 14:12:01 +0100 |
| |
Arnaldo Carvalho de Melo <acme@redhat.com> writes: > > [acme@doppio net-2.6]$ l /tmp/sys_ia32.o.before /tmp/sys_ia32.o.after > -rw-rw-r-- 1 acme acme 185240 2008-02-06 19:19 /tmp/sys_ia32.o.after > -rw-rw-r-- 1 acme acme 248328 2008-02-06 19:00 /tmp/sys_ia32.o.before > > Almost 64KB only on this object file!
Just FYI, newer gcc does this in theory automatically when you specify
-feliminate-unused-debug-types -feliminate-unused-debug-symbols
But in my tests on gcc 4.1 / gcc 4.2 it doesn't seem to make any difference currently :/ Not sure what is wrong.
There is also -feliminate-dwarf2-dups, but it seems to even increase obj dir size. Also -feliminate-dwarf2-dups seems to generate a lot of
WARNING: vmlinux.o (.gnu.linkonce.wi.mmzone.h.97561702): unexpected section name. The (.[number]+) following section name are ld generated and not expected. Did you forget to use "ax"/"aw" in a .S file? Note that for example <linux/init.h> contains section definitions for use in .S files.
etc. warnings But the kernel builds fine even with those warnings.
Still if you just want to shrink objdir size then figuring out what's wrong with these options and then specifying them would be probably the best strategy than to try to do it all manually.
That said removing unused includes is of course a valuable clean up by itself, I'm just not sure it's the best way to get smaller object dirs.
-Andi
| |