Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754957Ab0FNUF5 (ORCPT ); Mon, 14 Jun 2010 16:05:57 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:40049 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751644Ab0FNUF4 (ORCPT ); Mon, 14 Jun 2010 16:05:56 -0400 Subject: Re: [PATCH 1/5] vmlinux.lds.h: Include *(.text.*) in TEXT_TEXT From: James Bottomley To: Matt Fleming Cc: Tim Abbott , linux-arch@vger.kernel.org, Arnd Bergmann , linux-kernel@vger.kernel.org, Sam Ravnborg , Michal Marek , Denys Vlasenko In-Reply-To: <87y6ehxvby.fsf@linux-g6p1.site> References: <1276519112-11649-1-git-send-email-matt@console-pimps.org> <87y6ehxvby.fsf@linux-g6p1.site> Content-Type: text/plain; charset="UTF-8" Date: Mon, 14 Jun 2010 15:05:51 -0500 Message-ID: <1276545951.5374.260.camel@mulgrave.site> Mime-Version: 1.0 X-Mailer: Evolution 2.28.2 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2579 Lines: 62 On Mon, 2010-06-14 at 20:33 +0100, Matt Fleming wrote: > On Mon, 14 Jun 2010 10:32:46 -0400 (EDT), Tim Abbott 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. 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 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/