aboutsummaryrefslogtreecommitdiffstats
path: root/arch/Kconfig
diff options
context:
space:
mode:
authorRusty Russell <rusty@rustcorp.com.au>2013-03-15 00:34:17 -0400
committerRusty Russell <rusty@rustcorp.com.au>2013-03-15 00:39:43 -0400
commitb92021b09df70c1609e3547f3d6128dd560be97f (patch)
tree0203752a738c71718f5141b84f5143d1dc8b431d /arch/Kconfig
parent4febd95a8a85dd38b1a71fcf9726e19c7fd20039 (diff)
CONFIG_SYMBOL_PREFIX: cleanup.
We have CONFIG_SYMBOL_PREFIX, which three archs define to the string "_". But Al Viro broke this in "consolidate cond_syscall and SYSCALL_ALIAS declarations" (in linux-next), and he's not the first to do so. Using CONFIG_SYMBOL_PREFIX is awkward, since we usually just want to prefix it so something. So various places define helpers which are defined to nothing if CONFIG_SYMBOL_PREFIX isn't set: 1) include/asm-generic/unistd.h defines __SYMBOL_PREFIX. 2) include/asm-generic/vmlinux.lds.h defines VMLINUX_SYMBOL(sym) 3) include/linux/export.h defines MODULE_SYMBOL_PREFIX. 4) include/linux/kernel.h defines SYMBOL_PREFIX (which differs from #7) 5) kernel/modsign_certificate.S defines ASM_SYMBOL(sym) 6) scripts/modpost.c defines MODULE_SYMBOL_PREFIX 7) scripts/Makefile.lib defines SYMBOL_PREFIX on the commandline if CONFIG_SYMBOL_PREFIX is set, so that we have a non-string version for pasting. (arch/h8300/include/asm/linkage.h defines SYMBOL_NAME(), too). Let's solve this properly: 1) No more generic prefix, just CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX. 2) Make linux/export.h usable from asm. 3) Define VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR(). 4) Make everyone use them. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Reviewed-by: James Hogan <james.hogan@imgtec.com> Tested-by: James Hogan <james.hogan@imgtec.com> (metag)
Diffstat (limited to 'arch/Kconfig')
-rw-r--r--arch/Kconfig6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index 1455579791ec..7b433a4bcc28 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -384,6 +384,12 @@ config MODULES_USE_ELF_REL
384 Modules only use ELF REL relocations. Modules with ELF RELA 384 Modules only use ELF REL relocations. Modules with ELF RELA
385 relocations will give an error. 385 relocations will give an error.
386 386
387config HAVE_UNDERSCORE_SYMBOL_PREFIX
388 bool
389 help
390 Some architectures generate an _ in front of C symbols; things like
391 module loading and assembly files need to know about this.
392
387# 393#
388# ABI hall of shame 394# ABI hall of shame
389# 395#