From patchwork Wed May 9 07:23:49 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 10388277 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 5DE9460353 for ; Wed, 9 May 2018 07:26:55 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 4383228DB3 for ; Wed, 9 May 2018 07:26:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3848128DB6; Wed, 9 May 2018 07:26:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ACC3128DB3 for ; Wed, 9 May 2018 07:26:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933730AbeEIH0Q (ORCPT ); Wed, 9 May 2018 03:26:16 -0400 Received: from conuserg-10.nifty.com ([210.131.2.77]:50566 "EHLO conuserg-10.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753339AbeEIHYq (ORCPT ); Wed, 9 May 2018 03:24:46 -0400 Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-10.nifty.com with ESMTP id w497O36H028852; Wed, 9 May 2018 16:24:07 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com w497O36H028852 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1525850647; bh=xhS00ZSM7KT+0n3/rX5mEiwCZNlVlih+SV5plVyaxAA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LvgeEmg6R3XmZTBMvycEe3JkwZI8xIlKjXf42BiTTab4QDvnvFt25R0IoXXPRbUzn VnKwxGMCQV+9TBJimKM6JlZuMVHOkg5tt9GTf1p909sgBZ0YkpKFRMhLHmA7TwfvvF JloFGMaEiI3n1Dl9Ic7V4dmPAe7lA/DmPPLPWYzkOnhdWCO5PHfNyBbpdrZrlTBXk0 1Jl96D19T9MSRL7ZR4ye+MCmgALhYcCiJiFfUO6pRt33ulr53wbPORrsZGqk6+6zu/ DmIvPt0F/NN1+qXAjJhuJ1N+mFqrK2uVm99A2dDWP1rKLSn/MpnmGSKAGUmdlDQSuy 9hIu0spcLpF/A== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Arnd Bergmann , Joe Perches , Sam Ravnborg , Masahiro Yamada , linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 5/8] export.h: remove code for prefixing symbols with underscore Date: Wed, 9 May 2018 16:23:49 +0900 Message-Id: <1525850632-10921-6-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1525850632-10921-1-git-send-email-yamada.masahiro@socionext.com> References: <1525850632-10921-1-git-send-email-yamada.masahiro@socionext.com> Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX was selected by BLACKFIN, METAG. They were removed by commit 4ba66a976072 ("arch: remove blackfin port"), commit bb6fb6dfcc17 ("metag: Remove arch/metag/"), respectively. No more architecture enables CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX. Clean up the export.h headers. I am keeping VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR() because they are widely used. Signed-off-by: Masahiro Yamada --- include/asm-generic/export.h | 34 ++++++++++++---------------------- include/linux/export.h | 16 +++++----------- 2 files changed, 17 insertions(+), 33 deletions(-) diff --git a/include/asm-generic/export.h b/include/asm-generic/export.h index 719db19..68efb95 100644 --- a/include/asm-generic/export.h +++ b/include/asm-generic/export.h @@ -19,42 +19,32 @@ #define KCRC_ALIGN 4 #endif -#ifdef CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX -#define KSYM(name) _##name -#else -#define KSYM(name) name -#endif - /* * note on .section use: @progbits vs %progbits nastiness doesn't matter, * since we immediately emit into those sections anyway. */ .macro ___EXPORT_SYMBOL name,val,sec #ifdef CONFIG_MODULES - .globl KSYM(__ksymtab_\name) + .globl __ksymtab_\name .section ___ksymtab\sec+\name,"a" .balign KSYM_ALIGN -KSYM(__ksymtab_\name): - __put \val, KSYM(__kstrtab_\name) +__ksymtab_\name: + __put \val, __kstrtab_\name .previous .section __ksymtab_strings,"a" -KSYM(__kstrtab_\name): -#ifdef CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX - .asciz "_\name" -#else +__kstrtab_\name: .asciz "\name" -#endif .previous #ifdef CONFIG_MODVERSIONS .section ___kcrctab\sec+\name,"a" .balign KCRC_ALIGN -KSYM(__kcrctab_\name): +__kcrctab_\name: #if defined(CONFIG_MODULE_REL_CRCS) - .long KSYM(__crc_\name) - . + .long __crc_\name - . #else - .long KSYM(__crc_\name) + .long __crc_\name #endif - .weak KSYM(__crc_\name) + .weak __crc_\name .previous #endif #endif @@ -84,12 +74,12 @@ KSYM(__kcrctab_\name): #endif #define EXPORT_SYMBOL(name) \ - __EXPORT_SYMBOL(name, KSYM_FUNC(KSYM(name)),) + __EXPORT_SYMBOL(name, KSYM_FUNC(name),) #define EXPORT_SYMBOL_GPL(name) \ - __EXPORT_SYMBOL(name, KSYM_FUNC(KSYM(name)), _gpl) + __EXPORT_SYMBOL(name, KSYM_FUNC(name), _gpl) #define EXPORT_DATA_SYMBOL(name) \ - __EXPORT_SYMBOL(name, KSYM(name),) + __EXPORT_SYMBOL(name, name,) #define EXPORT_DATA_SYMBOL_GPL(name) \ - __EXPORT_SYMBOL(name, KSYM(name),_gpl) + __EXPORT_SYMBOL(name, name,_gpl) #endif diff --git a/include/linux/export.h b/include/linux/export.h index 1a1dfdb..b768d6d 100644 --- a/include/linux/export.h +++ b/include/linux/export.h @@ -10,14 +10,8 @@ * hackers place grumpy comments in header files. */ -/* Some toolchains use a `_' prefix for all user symbols. */ -#ifdef CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX -#define __VMLINUX_SYMBOL(x) _##x -#define __VMLINUX_SYMBOL_STR(x) "_" #x -#else #define __VMLINUX_SYMBOL(x) x #define __VMLINUX_SYMBOL_STR(x) #x -#endif /* Indirect, so macros are expanded before pasting. */ #define VMLINUX_SYMBOL(x) __VMLINUX_SYMBOL(x) @@ -46,14 +40,14 @@ extern struct module __this_module; #if defined(CONFIG_MODULE_REL_CRCS) #define __CRC_SYMBOL(sym, sec) \ asm(" .section \"___kcrctab" sec "+" #sym "\", \"a\" \n" \ - " .weak " VMLINUX_SYMBOL_STR(__crc_##sym) " \n" \ - " .long " VMLINUX_SYMBOL_STR(__crc_##sym) " - . \n" \ + " .weak __crc_" #sym " \n" \ + " .long __crc_" #sym " - . \n" \ " .previous \n"); #else #define __CRC_SYMBOL(sym, sec) \ asm(" .section \"___kcrctab" sec "+" #sym "\", \"a\" \n" \ - " .weak " VMLINUX_SYMBOL_STR(__crc_##sym) " \n" \ - " .long " VMLINUX_SYMBOL_STR(__crc_##sym) " \n" \ + " .weak __crc_" #sym " \n" \ + " .long __crc_" #sym " \n" \ " .previous \n"); #endif #else @@ -66,7 +60,7 @@ extern struct module __this_module; __CRC_SYMBOL(sym, sec) \ static const char __kstrtab_##sym[] \ __attribute__((section("__ksymtab_strings"), aligned(1))) \ - = VMLINUX_SYMBOL_STR(sym); \ + = #sym; \ static const struct kernel_symbol __ksymtab_##sym \ __used \ __attribute__((section("___ksymtab" sec "+" #sym), used)) \