Messages in this thread | | | Date | Fri, 21 Dec 2012 11:52:01 +0000 | From | James Hogan <> | Subject | Re: CONFIG_GENERIC_SIGALTSTACK with asm-generic/syscalls.h (was Re: [git pull] signal.git pile 2) |
| |
On 21/12/12 06:24, Vineet Gupta wrote: > On Friday 21 December 2012 05:51 AM, Al Viro wrote: >> 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-linus >> > > Hi 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 <james.hogan@imgtec.com>
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
| |