
From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>

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 <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 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
 
_
