Thread (6 messages) 6 messages, 3 authors, 2012-12-24

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-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 <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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help