diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2013-03-15 00:34:17 -0400 |
---|---|---|
committer | Rusty Russell <rusty@rustcorp.com.au> | 2013-03-15 00:39:43 -0400 |
commit | b92021b09df70c1609e3547f3d6128dd560be97f (patch) | |
tree | 0203752a738c71718f5141b84f5143d1dc8b431d /arch/metag | |
parent | 4febd95a8a85dd38b1a71fcf9726e19c7fd20039 (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/metag')
-rw-r--r-- | arch/metag/Kconfig | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/metag/Kconfig b/arch/metag/Kconfig index afc8973d1488..2099617e3ec0 100644 --- a/arch/metag/Kconfig +++ b/arch/metag/Kconfig | |||
@@ -1,7 +1,3 @@ | |||
1 | config SYMBOL_PREFIX | ||
2 | string | ||
3 | default "_" | ||
4 | |||
5 | config METAG | 1 | config METAG |
6 | def_bool y | 2 | def_bool y |
7 | select EMBEDDED | 3 | select EMBEDDED |
@@ -27,6 +23,7 @@ config METAG | |||
27 | select HAVE_MOD_ARCH_SPECIFIC | 23 | select HAVE_MOD_ARCH_SPECIFIC |
28 | select HAVE_PERF_EVENTS | 24 | select HAVE_PERF_EVENTS |
29 | select HAVE_SYSCALL_TRACEPOINTS | 25 | select HAVE_SYSCALL_TRACEPOINTS |
26 | select HAVE_UNDERSCORE_SYMBOL_PREFIX | ||
30 | select IRQ_DOMAIN | 27 | select IRQ_DOMAIN |
31 | select MODULES_USE_ELF_RELA | 28 | select MODULES_USE_ELF_RELA |
32 | select OF | 29 | select OF |