Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751361AbbGHVoj (ORCPT ); Wed, 8 Jul 2015 17:44:39 -0400 Received: from ozlabs.org ([103.22.144.67]:59793 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750708AbbGHVob (ORCPT ); Wed, 8 Jul 2015 17:44:31 -0400 From: Rusty Russell To: Chris Metcalf , Quentin Casasnovas , Paul Gortmaker , Mathias Krause , Rasmus Villemoes , linux-kernel@vger.kernel.org Cc: Chris Metcalf Subject: Re: [PATCH] modpost: work correctly with tile coldtext sections In-Reply-To: <1436390457-14968-1-git-send-email-cmetcalf@ezchip.com> References: <1436390457-14968-1-git-send-email-cmetcalf@ezchip.com> User-Agent: Notmuch/0.17 (http://notmuchmail.org) Emacs/24.4.1 (x86_64-pc-linux-gnu) Date: Thu, 09 Jul 2015 07:05:46 +0930 Message-ID: <87wpyatjrh.fsf@rustcorp.com.au> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3072 Lines: 79 Chris Metcalf writes: > The tilegx and tilepro compilers use .coldtext for their unlikely > executed text section name, so an __attribute__((cold)) function > will (when compiled with higher optimization levels) land in the > the .coldtext section. > > Modify modpost to add .coldtext to the set of OTHER_TEXT_SECTIONS > so we don't get warnings about referencing such a section in an > __ex_table block, and then also modify arch/tile/lib/memcpy_user_64.c > so that it uses plain ".coldtext" instead of ".coldtext.memcpy". > The latter naming is a relic of an earlier use of -ffunction-sections, > which we no longer use by default. > > Signed-off-by: Chris Metcalf > --- > Since this is a tile issue, should I push this through the tile tree? > Or does someone want to take it into a tree for modpost? Thanks. Tile tree seems suitable, so: Acked-by: Rusty Russell Thanks, Rusty. > > arch/tile/lib/memcpy_user_64.c | 4 ++-- > scripts/mod/modpost.c | 3 ++- > 2 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/tile/lib/memcpy_user_64.c b/arch/tile/lib/memcpy_user_64.c > index 88c7016492c4..97bbb6060b25 100644 > --- a/arch/tile/lib/memcpy_user_64.c > +++ b/arch/tile/lib/memcpy_user_64.c > @@ -28,7 +28,7 @@ > #define _ST(p, inst, v) \ > ({ \ > asm("1: " #inst " %0, %1;" \ > - ".pushsection .coldtext.memcpy,\"ax\";" \ > + ".pushsection .coldtext,\"ax\";" \ > "2: { move r0, %2; jrp lr };" \ > ".section __ex_table,\"a\";" \ > ".align 8;" \ > @@ -41,7 +41,7 @@ > ({ \ > unsigned long __v; \ > asm("1: " #inst " %0, %1;" \ > - ".pushsection .coldtext.memcpy,\"ax\";" \ > + ".pushsection .coldtext,\"ax\";" \ > "2: { move r0, %2; jrp lr };" \ > ".section __ex_table,\"a\";" \ > ".align 8;" \ > diff --git a/scripts/mod/modpost.c b/scripts/mod/modpost.c > index 91ee1b2e0f9a..12d3db3bd46b 100644 > --- a/scripts/mod/modpost.c > +++ b/scripts/mod/modpost.c > @@ -886,7 +886,8 @@ static void check_section(const char *modname, struct elf_info *elf, > #define TEXT_SECTIONS ".text", ".text.unlikely", ".sched.text", \ > ".kprobes.text" > #define OTHER_TEXT_SECTIONS ".ref.text", ".head.text", ".spinlock.text", \ > - ".fixup", ".entry.text", ".exception.text", ".text.*" > + ".fixup", ".entry.text", ".exception.text", ".text.*", \ > + ".coldtext" > > #define INIT_SECTIONS ".init.*" > #define MEM_INIT_SECTIONS ".meminit.*" > -- > 2.1.2 > > -- > 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/ -- 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/