summaryrefslogtreecommitdiff
path: root/arch/x86/entry/syscall_32.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/entry/syscall_32.c')
-rw-r--r--arch/x86/entry/syscall_32.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86/entry/syscall_32.c b/arch/x86/entry/syscall_32.c
index 9f4cab4a56d8..41ec9c66fe15 100644
--- a/arch/x86/entry/syscall_32.c
+++ b/arch/x86/entry/syscall_32.c
@@ -9,7 +9,7 @@
#ifdef CONFIG_IA32_EMULATION
/* On X86_64, we use struct pt_regs * to pass parameters to syscalls */
-#define __SYSCALL_I386(nr, sym) extern asmlinkage long sym(const struct pt_regs *);
+#define __SYSCALL_I386(nr, sym) extern asmlinkage long __ia32_##sym(const struct pt_regs *);
#define __sys_ni_syscall __ia32_sys_ni_syscall
#else /* CONFIG_IA32_EMULATION */
#define __SYSCALL_I386(nr, sym) extern asmlinkage long sym(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long);
@@ -20,7 +20,11 @@ extern asmlinkage long sys_ni_syscall(unsigned long, unsigned long, unsigned lon
#include <asm/syscalls_32.h>
#undef __SYSCALL_I386
+#ifdef CONFIG_IA32_EMULATION
+#define __SYSCALL_I386(nr, sym) [nr] = __ia32_##sym,
+#else /* CONFIG_IA32_EMULATION */
#define __SYSCALL_I386(nr, sym) [nr] = sym,
+#endif /* CONFIG_IA32_EMULATION */
__visible const sys_call_ptr_t ia32_sys_call_table[__NR_ia32_syscall_max+1] = {
/*