lkml.org 
[lkml]   [2008]   [Feb]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Reducing debuginfo size by removing unneeded includes
FromAndi Kleen <>
DateMon, 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



\
 
 \ /
  Last update: 2008-02-18 14:15    [from the cache]
©2003-2008