Commit 69d15f6b authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Paul Mackerras

[POWERPC] Consolidate sys_sigaltstack

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: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 22e38f29
...@@ -63,3 +63,10 @@ void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka, ...@@ -63,3 +63,10 @@ void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
regs->ccr |= 0x10000000; 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]);
}
...@@ -253,14 +253,6 @@ long sys_sigsuspend(old_sigset_t mask) ...@@ -253,14 +253,6 @@ long sys_sigsuspend(old_sigset_t mask)
return -ERESTARTNOHAND; 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, long sys_sigaction(int sig, struct old_sigaction __user *act,
struct old_sigaction __user *oact) struct old_sigaction __user *oact)
{ {
......
...@@ -66,14 +66,6 @@ struct rt_sigframe { ...@@ -66,14 +66,6 @@ struct rt_sigframe {
char abigap[288]; char abigap[288];
} __attribute__ ((aligned (16))); } __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. * Set up the sigcontext for the signal frame.
*/ */
......
...@@ -43,16 +43,9 @@ asmlinkage long ppc_newuname(struct new_utsname __user * name); ...@@ -43,16 +43,9 @@ asmlinkage long ppc_newuname(struct new_utsname __user * name);
asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset, asmlinkage long sys_rt_sigsuspend(sigset_t __user *unewset,
size_t sigsetsize); 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, asmlinkage long sys_sigaltstack(const stack_t __user *uss,
stack_t __user *uoss, unsigned long r5, unsigned long r6, stack_t __user *uoss, unsigned long r5, unsigned long r6,
unsigned long r7, unsigned long r8, struct pt_regs *regs); unsigned long r7, unsigned long r8, struct pt_regs *regs);
#endif /* __powerpc64__ */
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* __ASM_POWERPC_SYSCALLS_H */ #endif /* __ASM_POWERPC_SYSCALLS_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment