summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2012-02-24 14:47:48 +0100
committerJames Hogan <james.hogan@imgtec.com>2013-03-02 21:09:14 +0100
commit4dd3c95940b836bc4073e8827973362e78f5e204 (patch)
tree987592410ca14694fc169d905bda9fdf5e9124b5
parentasm-generic/io.h: check CONFIG_VIRT_TO_BUS (diff)
downloadlinux-4dd3c95940b836bc4073e8827973362e78f5e204.tar.xz
linux-4dd3c95940b836bc4073e8827973362e78f5e204.zip
asm-generic/unistd.h: handle symbol prefixes in cond_syscall
Some architectures have symbol prefixes and set CONFIG_SYMBOL_PREFIX, but this wasn't taken into account by the generic cond_syscall. It's easy enough to fix in a generic fashion, so add the symbol prefix to symbol names in cond_syscall when CONFIG_SYMBOL_PREFIX is set. Signed-off-by: James Hogan <james.hogan@imgtec.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
-rw-r--r--include/asm-generic/unistd.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/asm-generic/unistd.h b/include/asm-generic/unistd.h
index a36991ab334e..abc925de8ecf 100644
--- a/include/asm-generic/unistd.h
+++ b/include/asm-generic/unistd.h
@@ -20,5 +20,12 @@
* but it doesn't work on all toolchains, so we just do it by hand
*/
#ifndef cond_syscall
-#define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall")
+#ifdef CONFIG_SYMBOL_PREFIX
+#define __SYMBOL_PREFIX CONFIG_SYMBOL_PREFIX
+#else
+#define __SYMBOL_PREFIX
+#endif
+#define cond_syscall(x) asm(".weak\t" __SYMBOL_PREFIX #x "\n\t" \
+ ".set\t" __SYMBOL_PREFIX #x "," \
+ __SYMBOL_PREFIX "sys_ni_syscall")
#endif