Re: [PATCH 0/3] build system: section garbage collection forvmlinux

From: Daniel Walker
Date: Wed Sep 05 2007 - 14:51:28 EST


On Wed, 2007-09-05 at 19:37 +0100, Denys Vlasenko wrote:
> On Wednesday 05 September 2007 17:29, Daniel Walker wrote:
> > On Wed, 2007-09-05 at 14:43 +0100, Denys Vlasenko wrote:
> > > Build system: section garbage collection for vmlinux
> > >
> > >
> > > Newer gcc and binutils can do dead code and data removal
> > > at link time. It is achieved using combination of
> > > -ffunction-sections -fdata-sections options for gcc and
> > > --gc-sections for ld.
> > >
> > > Theory of operation:
> > >
> > > Option -ffunction-sections instructs gcc to place each function
> > > (including static ones) in it's own section named .text.function_name
> > > instead of placing all functions in one big .text section.
> > >
> > > At link time, ld normally coalesce all such sections into one
> > > output section .text again. It is achieved by having *(.text.*) spec
> > > along with *(.text) spec in built-in linker scripts.
> >
> > You version doesn't work with CONFIG_MODULES right?
>
> It works with CONFIG_MODULES.

Really? Take a look at this version,

http://lkml.org/lkml/2006/6/4/169

Marcello had to implement a two pass build to add back symbol used in
modules which got removed from the main kernel.. You don't appear to do
that. Marcelo also claims better size reduction than you .

Daniel

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/