From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Matt Fleming <matt@console-pimps.org>
Cc: Tim Abbott <tabbott@ksplice.com>,
linux-arch@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
linux-kernel@vger.kernel.org, Sam Ravnborg <sam@ravnborg.org>,
Michal Marek <mmarek@suse.cz>,
Denys Vlasenko <vda.linux@googlemail.com>
Subject: Re: [PATCH 1/5] vmlinux.lds.h: Include *(.text.*) in TEXT_TEXT
Date: Mon, 14 Jun 2010 15:05:51 -0500 [thread overview]
Message-ID: <1276545951.5374.260.camel@mulgrave.site> (raw)
In-Reply-To: <87y6ehxvby.fsf@linux-g6p1.site>
On Mon, 2010-06-14 at 20:33 +0100, Matt Fleming wrote:
> On Mon, 14 Jun 2010 10:32:46 -0400 (EDT), Tim Abbott <tabbott@ksplice.com> wrote:
> >
> > I was planning to submit in the next couple weeks a change that adds
> > support for building the kernel with -ffunction-sections -fdata-sections,
> > which would have as a piece of it adding to TEXT_TEXT the following
> > expression:
> >
> > *(.text.[A-Za-z$_]*) /* handle -ffunction-sections */\
Just as a point of technical interest, that won't handle
-ffunction-sections. At least on parisc, we get a
section .text.<function name> for every function. This means that any
character legal in a function name can appear there, not just letters
and underscores (we get millicode ones with dollar signs as well for
instance). That's why *(.text.*) is safer
> > which should match the .text.foo sections generated by -ffunction-sections
> > but not the kernel's special sections which now all have names of the form
> > .text..foo.
They do? I don't find any symbols like that on parisc.
Historically, the way we've differentiated is that kernel special
symbols tend to have the text designator *after* the name, whereas the
linker puts it before ... of course that has issues for functions
called things like text or init ... but we try not to do that ...
> I suspect after that change, the cleanup of deleting .text.*
> > from the various architecture linker scripts that reference it should be
> > possible.
>
> Do these special kernel sections include things like the parisc
> .text.do_softirq, .text.sys_exit, etc? James raised a good objection to
> the parisc patch of this series. I'm guessing most people saw it already
> but I'll paste it here for reference,
>
>
> This would destroy all of the named parisc text ordering we do above the
> removed line because now you'd have swept up all the function sections
> before we get to them, won't it?
>
> The ordering is an execution speed up on 32 bit systems because our
> relative jump is so short.
>
> James
>
> Will you changes handle this OK?
As long as we don't do the generic gathering of the rest of the text
sections until after the special ones are handled (and this includes the
specific function sections we name), it doesn't really matter to us how
it's done.
James
next prev parent reply other threads:[~2010-06-14 20:05 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-14 12:38 [PATCH 1/5] vmlinux.lds.h: Include *(.text.*) in TEXT_TEXT Matt Fleming
2010-06-14 12:38 ` Matt Fleming
2010-06-14 12:38 ` [PATCH 2/5] blackfin: Remove *(.text.*) pattern from the linker script Matt Fleming
2010-06-14 12:38 ` Matt Fleming
2010-06-14 19:58 ` Mike Frysinger
2010-06-14 12:38 ` [PATCH 3/5] mips: " Matt Fleming
2010-06-14 12:38 ` Matt Fleming
2010-06-14 12:38 ` [PATCH 4/5] parisc: " Matt Fleming
2010-06-14 12:38 ` Matt Fleming
2010-06-14 15:20 ` James Bottomley
2010-06-14 19:13 ` Matt Fleming
2010-06-14 12:38 ` [PATCH 5/5] score: " Matt Fleming
2010-06-14 12:38 ` Matt Fleming
2010-06-14 14:32 ` [PATCH 1/5] vmlinux.lds.h: Include *(.text.*) in TEXT_TEXT Tim Abbott
2010-06-14 19:33 ` Matt Fleming
2010-06-14 20:05 ` James Bottomley [this message]
2010-06-14 22:02 ` Tim Abbott
2010-06-14 23:08 ` James Bottomley
2010-06-15 2:45 ` Tim Abbott
2010-06-15 2:45 ` Tim Abbott
2010-06-16 21:40 ` James Bottomley
2010-06-16 21:40 ` James Bottomley
2010-06-17 19:11 ` Denys Vlasenko
2010-06-17 19:56 ` James Bottomley
2010-06-17 20:19 ` Denys Vlasenko
2010-06-17 20:19 ` Denys Vlasenko
2010-06-17 20:38 ` James Bottomley
2010-06-17 18:54 ` Denys Vlasenko
2010-06-14 22:21 ` Tim Abbott
2010-06-14 23:14 ` James Bottomley
2010-06-15 2:52 ` Tim Abbott
2010-06-15 2:52 ` Tim Abbott
2010-06-14 18:22 ` Sam Ravnborg
2010-06-14 18:22 ` Sam Ravnborg
2010-06-14 19:21 ` Matt Fleming
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=1276545951.5374.260.camel@mulgrave.site \
--to=james.bottomley@hansenpartnership.com \
--cc=arnd@arndb.de \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matt@console-pimps.org \
--cc=mmarek@suse.cz \
--cc=sam@ravnborg.org \
--cc=tabbott@ksplice.com \
--cc=vda.linux@googlemail.com \
/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;
as well as URLs for NNTP newsgroup(s).