Re: CONFIG_GENERIC_SIGALTSTACK with asm-generic/syscalls.h (was Re: [git pull] signal.git pile 2)
From: James Hogan <hidden>
Date: 2012-12-21 11:52:16
Also in:
lkml
On 21/12/12 06:24, Vineet Gupta wrote:
quoted hunk ↗ jump to hunk
On Friday 21 December 2012 05:51 AM, Al Viro wrote:quoted
sigaltstack infrastructure + conversion for x86, alpha and um, COMPAT_SYSCALL_DEFINE infrastructure. Note that there are several conflicts between "unify SS_ONSTACK/SS_DISABLE definitions" and UAPI patches in mainline; resolution is trivial - just remove definitions of SS_ONSTACK and SS_DISABLED from arch/*/uapi/asm/signal.h; they are all identical and include/uapi/linux/signal.h contains the unified variant. Please, pull from git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal for-linusHi Arnd, In Linus' tree with above merged, selecting CONFIG_GENERIC_SIGALTSTACK is causing build issues for ARC port (and possibly others as well) which use asm-generic/syscalls.h due to a different prototype for sys_sigaltstack coming in from linux/syscalls.h While I can band-aid ARC port by #define sys_sigaltstack before including asm-generic, it might be better if we conditional-ize one of the prototypes. Following works for me.diff --git a/include/asm-generic/syscalls.h b/include/asm-generic/syscalls.h index 58f466f..1db51b8 100644 --- a/include/asm-generic/syscalls.h +++ b/include/asm-generic/syscalls.h@@ -21,10 +21,12 @@ asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long fd, off_t pgoff); #endif +#ifndef CONFIG_GENERIC_SIGALTSTACK #ifndef sys_sigaltstack asmlinkage long sys_sigaltstack(const stack_t __user *, stack_t __user *, struct pt_regs *); #endif +#endif
Reviewed-by: James Hogan <redacted> I also see this issue with metag when I try and select CONFIG_GENERIC_SIGALTSTACK. Until asm-generic/syscalls.h goes away it seems a shame to have to keep a misleading #define sys_sigaltstack sys_sigaltstack bodge in architecture's asm/syscalls.h. Cheers James