[POWERPC] Consolidate sys_sigaltstack
authorChristoph Hellwig <hch@lst.de>
Mon, 4 Jun 2007 05:15:50 +0000 (15:15 +1000)
committerPaul Mackerras <paulus@samba.org>
Thu, 14 Jun 2007 12:29:57 +0000 (22:29 +1000)
sys_sigaltstack is the same on 32bit and 64 and we can consolidate it
to signal.c.  The only difference is that the 32bit code uses ints
for the unused register paramaters and 64bit unsigned long.  I've
changed it to unsigned long because it's the same width on 32bit.

(I also wonder who came up with this awkward calling convention.. :))

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/kernel/signal.c
arch/powerpc/kernel/signal_32.c
arch/powerpc/kernel/signal_64.c
include/asm-powerpc/syscalls.h

index 88a12544e8b154ff85864671b123d4973ac34b76..325d260abd4e21e0663d3fbfe6df17e10ae0bff8 100644 (file)
@@ -63,3 +63,10 @@ void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
                regs->ccr |= 0x10000000;
        }
 }
+
+long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss,
+               unsigned long r5, unsigned long r6, unsigned long r7,
+               unsigned long r8, struct pt_regs *regs)
+{
+       return do_sigaltstack(uss, uoss, regs->gpr[1]);
+}
index e5cc803476a1a9e10d9abf800abe86235a478872..f5713bfcc56eaa6dee0a6d045d67e3b5bb46ade2 100644 (file)
@@ -253,14 +253,6 @@ long sys_sigsuspend(old_sigset_t mask)
        return -ERESTARTNOHAND;
 }
 
-#ifdef CONFIG_PPC32
-long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, int r5,
-               int r6, int r7, int r8, struct pt_regs *regs)
-{
-       return do_sigaltstack(uss, uoss, regs->gpr[1]);
-}
-#endif
-
 long sys_sigaction(int sig, struct old_sigaction __user *act,
                struct old_sigaction __user *oact)
 {
index 5d2faf0fbf05b0d51388a3cf37cfdfff9f4af7ce..817f1cf4a405b021d0d84a0e180a3ca451731007 100644 (file)
@@ -66,14 +66,6 @@ struct rt_sigframe {
        char abigap[288];
 } __attribute__ ((aligned (16)));
 
-long sys_sigaltstack(const stack_t __user *uss, stack_t __user *uoss, unsigned long r5,
-                    unsigned long r6, unsigned long r7, unsigned long r8,
-                    struct pt_regs *regs)
-{
-       return do_sigaltstack(uss, uoss, regs->gpr[1]);
-}
-
-
 /*
  * Set up the sigcontext for the signal frame.
  */
index c2fe79d4f90fc4be47b2812cbd0a3ba9fe91ac7f..b3ca41fc8bb149c78667f132a855f2a1a28ad029 100644 (file)
@@ -43,16 +43,9 @@ asmlinkage long ppc_newuname(struct new_utsname __user * name);
 
 asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset,
                size_t sigsetsize);
-
-#ifndef __powerpc64__
-asmlinkage long sys_sigaltstack(const stack_t __user *uss,
-               stack_t __user *uoss, int r5, int r6, int r7, int r8,
-               struct pt_regs *regs);
-#else /* __powerpc64__ */
 asmlinkage long sys_sigaltstack(const stack_t __user *uss,
                stack_t __user *uoss, unsigned long r5, unsigned long r6,
                unsigned long r7, unsigned long r8, struct pt_regs *regs);
-#endif /* __powerpc64__ */
 
 #endif /* __KERNEL__ */
 #endif /* __ASM_POWERPC_SYSCALLS_H */