OSDN Git Service

export.h: remove code for prefixing symbols with underscore
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Wed, 9 May 2018 07:23:49 +0000 (16:23 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 17 May 2018 13:44:57 +0000 (22:44 +0900)
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 <yamada.masahiro@socionext.com>
Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
include/asm-generic/export.h
include/linux/export.h

index 719db19..68efb95 100644 (file)
 #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
index 1a1dfdb..b768d6d 100644 (file)
  * 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))       \