diff options
author | Brian Gerst | 2020-03-13 15:51:38 -0400 |
---|---|---|
committer | Thomas Gleixner | 2020-03-21 16:03:23 +0100 |
commit | cab56d3484d4bb8b21e4d9500392ac1ce99af026 (patch) | |
tree | d4a8beaa2f48e787385c32b5b16a5c219823a1e7 /arch/x86/entry/syscall_32.c | |
parent | 8210efcb153625d2bf4bb79875ddc78eee2aba3e (diff) |
x86/entry: Remove ABI prefixes from functions in syscall tables
Move the ABI prefixes to the __SYSCALL_[abi]() macros. This allows removal
of the need to strip the prefix for UML.
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200313195144.164260-13-brgerst@gmail.com
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] = { /* |