From: Denys Vlasenko <vda.linux@googlemail.com>
To: Daniel Walker <dwalker@mvista.com>
Cc: sam@ravnborg.org, kai@germaschewski.name, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/3] build system: section garbage collection for vmlinux
Date: Wed, 5 Sep 2007 19:37:03 +0100 [thread overview]
Message-ID: <200709051937.04014.vda.linux@googlemail.com> (raw)
In-Reply-To: <1189009748.4442.19.camel@imap.mvista.com>
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.
> Also, why do you need this patch,
>
> [PATCH 1/3] build system: section garbage collection for vmlinux
Because otherwise, for example, .data.percpu sections we already have
get picked up by *(.data.*), and then *(.data.percpu) end up empty:
__per_cpu_start = .;
*(.data.percpu)
*(.data.percpu.shared_aligned)
__per_cpu_end = .;
and all hell breaks loose.
We need to stop using sections named like
.text.xxxx
.data.xxxx
.rodata.xxxx
.bss.xxxx
--
vda
next prev parent reply other threads:[~2007-09-05 18:37 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-05 13:43 [PATCH 0/3] build system: section garbage collection for vmlinux Denys Vlasenko
2007-09-05 13:47 ` [PATCH 1/3] " Denys Vlasenko
2007-09-05 13:49 ` [PATCH 2/3] " Denys Vlasenko
2007-09-05 13:55 ` [PATCH 3/3] " Denys Vlasenko
2007-09-05 18:40 ` Denys Vlasenko
2007-09-05 20:46 ` Sam Ravnborg
2007-09-06 10:55 ` Denys Vlasenko
2007-09-06 22:33 ` Sam Ravnborg
2007-09-10 12:01 ` Sam Ravnborg
2007-09-10 19:02 ` Denys Vlasenko
2007-09-10 19:14 ` Sam Ravnborg
2007-09-11 11:23 ` Denys Vlasenko
2007-09-11 11:55 ` Sam Ravnborg
2007-09-05 20:07 ` [PATCH 1/3] " Sam Ravnborg
2007-09-06 10:59 ` Denys Vlasenko
2007-09-06 22:36 ` Sam Ravnborg
2007-09-08 15:02 ` Denys Vlasenko
2007-09-05 15:53 ` [PATCH 0/3] " Oleg Verych
2007-09-05 18:46 ` Denys Vlasenko
2007-09-05 20:34 ` Oleg Verych
2007-09-05 21:52 ` Adrian Bunk
2007-09-06 10:55 ` Denys Vlasenko
2007-09-06 11:40 ` Oleg Verych
2007-09-06 12:21 ` Adrian Bunk
2007-09-06 20:43 ` Oleg Verych
2007-09-06 20:39 ` Adrian Bunk
2007-09-06 21:16 ` Oleg Verych
2007-09-06 21:19 ` Adrian Bunk
2007-09-06 22:01 ` Oleg Verych
2007-09-06 22:43 ` Adrian Bunk
2007-09-06 12:33 ` Denys Vlasenko
2007-09-05 16:29 ` Daniel Walker
2007-09-05 18:37 ` Denys Vlasenko [this message]
2007-09-05 18:38 ` Daniel Walker
2007-09-05 19:14 ` Denys Vlasenko
2007-09-05 19:07 ` Daniel Walker
2007-09-05 19:49 ` Denys Vlasenko
2007-09-05 19:46 ` Daniel Walker
2007-09-06 10:57 ` Denys Vlasenko
2007-09-06 15:13 ` Daniel Walker
2007-09-06 17:07 ` Denys Vlasenko
2007-09-07 16:31 ` Daniel Walker
2007-09-07 17:24 ` Sam Ravnborg
2007-09-07 17:19 ` Daniel Walker
2007-09-07 17:30 ` Denys Vlasenko
2007-09-07 17:38 ` Daniel Walker
2007-09-05 19:31 ` Adrian Bunk
2007-09-05 19:24 ` Daniel Walker
2007-09-05 19:46 ` Adrian Bunk
2007-09-05 19:27 ` Adrian Bunk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200709051937.04014.vda.linux@googlemail.com \
--to=vda.linux@googlemail.com \
--cc=dwalker@mvista.com \
--cc=kai@germaschewski.name \
--cc=linux-kernel@vger.kernel.org \
--cc=sam@ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox