From: Ivan Kokshaysky Recent syscall stubs cleanup broke alpha, as it has its own version of sys_rt_sigaction(). This defines __ARCH_WANT_SYS_RT_SIGACTION for all architectures except alpha, sparc and sparc64. Signed-off-by: Ivan Kokshaysky Signed-off-by: Andrew Morton --- 25-akpm/include/asm-arm/unistd.h | 1 + 25-akpm/include/asm-arm26/unistd.h | 1 + 25-akpm/include/asm-cris/unistd.h | 1 + 25-akpm/include/asm-h8300/unistd.h | 1 + 25-akpm/include/asm-i386/unistd.h | 1 + 25-akpm/include/asm-ia64/unistd.h | 1 + 25-akpm/include/asm-m68k/unistd.h | 1 + 25-akpm/include/asm-m68knommu/unistd.h | 1 + 25-akpm/include/asm-mips/unistd.h | 1 + 25-akpm/include/asm-parisc/unistd.h | 1 + 25-akpm/include/asm-ppc/unistd.h | 1 + 25-akpm/include/asm-ppc64/unistd.h | 1 + 25-akpm/include/asm-s390/unistd.h | 1 + 25-akpm/include/asm-sh/unistd.h | 1 + 25-akpm/include/asm-um/unistd.h | 1 + 25-akpm/include/asm-v850/unistd.h | 1 + 25-akpm/include/asm-x86_64/unistd.h | 1 + 25-akpm/kernel/signal.c | 4 ++-- 18 files changed, 19 insertions(+), 2 deletions(-) diff -puN include/asm-arm26/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-arm26/unistd.h --- 25/include/asm-arm26/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.126435144 -0700 +++ 25-akpm/include/asm-arm26/unistd.h 2004-06-07 21:49:57.219421008 -0700 @@ -397,6 +397,7 @@ type name(type1 arg1, type2 arg2, type3 #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-arm/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-arm/unistd.h --- 25/include/asm-arm/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.127434992 -0700 +++ 25-akpm/include/asm-arm/unistd.h 2004-06-07 21:49:57.218421160 -0700 @@ -466,6 +466,7 @@ type name(type1 arg1, type2 arg2, type3 #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-cris/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-cris/unistd.h --- 25/include/asm-cris/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.129434688 -0700 +++ 25-akpm/include/asm-cris/unistd.h 2004-06-07 21:49:57.219421008 -0700 @@ -314,6 +314,7 @@ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-h8300/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-h8300/unistd.h --- 25/include/asm-h8300/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.130434536 -0700 +++ 25-akpm/include/asm-h8300/unistd.h 2004-06-07 21:49:57.220420856 -0700 @@ -468,6 +468,7 @@ type name(atype a, btype b, ctype c, dty #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-i386/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-i386/unistd.h --- 25/include/asm-i386/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.132434232 -0700 +++ 25-akpm/include/asm-i386/unistd.h 2004-06-07 21:49:57.220420856 -0700 @@ -409,6 +409,7 @@ __syscall_return(type,__res); \ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-ia64/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-ia64/unistd.h --- 25/include/asm-ia64/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.133434080 -0700 +++ 25-akpm/include/asm-ia64/unistd.h 2004-06-07 21:49:57.221420704 -0700 @@ -275,6 +275,7 @@ # define __ARCH_WANT_SYS_OLDUMOUNT # define __ARCH_WANT_SYS_SIGPENDING # define __ARCH_WANT_SYS_SIGPROCMASK +# define __ARCH_WANT_SYS_RT_SIGACTION #endif #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER) diff -puN include/asm-m68knommu/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-m68knommu/unistd.h --- 25/include/asm-m68knommu/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.134433928 -0700 +++ 25-akpm/include/asm-m68knommu/unistd.h 2004-06-07 21:49:57.222420552 -0700 @@ -394,6 +394,7 @@ type name(atype a, btype b, ctype c, dty #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-m68k/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-m68k/unistd.h --- 25/include/asm-m68k/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.136433624 -0700 +++ 25-akpm/include/asm-m68k/unistd.h 2004-06-07 21:49:57.221420704 -0700 @@ -359,6 +359,7 @@ __syscall_return(type,__res); \ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-mips/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-mips/unistd.h --- 25/include/asm-mips/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.137433472 -0700 +++ 25-akpm/include/asm-mips/unistd.h 2004-06-07 21:49:57.223420400 -0700 @@ -1091,6 +1091,7 @@ type name (atype a,btype b,ctype c,dtype #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION # ifndef __mips64 # define __ARCH_WANT_STAT64 # endif diff -puN include/asm-parisc/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-parisc/unistd.h --- 25/include/asm-parisc/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.139433168 -0700 +++ 25-akpm/include/asm-parisc/unistd.h 2004-06-07 21:49:57.224420248 -0700 @@ -899,6 +899,7 @@ type name(type1 arg1, type2 arg2, type3 #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif /* mmap & mmap2 take 6 arguments */ diff -puN include/asm-ppc64/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-ppc64/unistd.h --- 25/include/asm-ppc64/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.140433016 -0700 +++ 25-akpm/include/asm-ppc64/unistd.h 2004-06-07 21:49:57.225420096 -0700 @@ -439,6 +439,7 @@ static inline _syscall3(int, execve, __c #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION unsigned long sys_mmap(unsigned long addr, size_t len, unsigned long prot, unsigned long flags, unsigned long fd, off_t offset); diff -puN include/asm-ppc/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-ppc/unistd.h --- 25/include/asm-ppc/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.156430584 -0700 +++ 25-akpm/include/asm-ppc/unistd.h 2004-06-07 21:49:57.225420096 -0700 @@ -408,6 +408,7 @@ type name(type1 arg1, type2 arg2, type3 #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION /* * Forking from kernel space will result in the child getting a new, diff -puN include/asm-s390/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-s390/unistd.h --- 25/include/asm-s390/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.175427696 -0700 +++ 25-akpm/include/asm-s390/unistd.h 2004-06-07 21:49:57.226419944 -0700 @@ -530,6 +530,7 @@ type name(type1 arg1, type2 arg2, type3 #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION # ifndef CONFIG_ARCH_S390X # define __ARCH_WANT_STAT64 # endif diff -puN include/asm-sh/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-sh/unistd.h --- 25/include/asm-sh/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.192425112 -0700 +++ 25-akpm/include/asm-sh/unistd.h 2004-06-07 21:49:57.226419944 -0700 @@ -422,6 +422,7 @@ __syscall_return(type,__sc0); \ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-um/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-um/unistd.h --- 25/include/asm-um/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.193424960 -0700 +++ 25-akpm/include/asm-um/unistd.h 2004-06-07 21:49:57.227419792 -0700 @@ -34,6 +34,7 @@ extern int um_execve(const char *file, c #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-v850/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-v850/unistd.h --- 25/include/asm-v850/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.195424656 -0700 +++ 25-akpm/include/asm-v850/unistd.h 2004-06-07 21:49:57.227419792 -0700 @@ -408,6 +408,7 @@ type name (atype a, btype b, ctype c, dt #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifdef __KERNEL_SYSCALLS__ diff -puN include/asm-x86_64/unistd.h~__arch_want_sys_rt_sigaction-fix include/asm-x86_64/unistd.h --- 25/include/asm-x86_64/unistd.h~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.213421920 -0700 +++ 25-akpm/include/asm-x86_64/unistd.h 2004-06-07 21:49:57.228419640 -0700 @@ -603,6 +603,7 @@ do { \ #define __ARCH_WANT_SYS_OLDUMOUNT #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK +#define __ARCH_WANT_SYS_RT_SIGACTION #endif #ifndef __KERNEL_SYSCALLS__ diff -puN kernel/signal.c~__arch_want_sys_rt_sigaction-fix kernel/signal.c --- 25/kernel/signal.c~__arch_want_sys_rt_sigaction-fix 2004-06-07 21:49:57.215421616 -0700 +++ 25-akpm/kernel/signal.c 2004-06-07 21:49:57.235418576 -0700 @@ -2480,7 +2480,7 @@ out: } #endif /* __ARCH_WANT_SYS_SIGPROCMASK */ -#ifndef __sparc__ +#ifdef __ARCH_WANT_SYS_RT_SIGACTION asmlinkage long sys_rt_sigaction(int sig, const struct sigaction __user *act, @@ -2508,7 +2508,7 @@ sys_rt_sigaction(int sig, out: return ret; } -#endif /* __sparc__ */ +#endif /* __ARCH_WANT_SYS_RT_SIGACTION */ #ifdef __ARCH_WANT_SYS_SGETMASK _