diff options
Diffstat (limited to 'arch/x86/entry/syscall_32.c')
| -rw-r--r-- | arch/x86/entry/syscall_32.c | 6 |
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] = { /* |
