mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
h8300: kill useless wrappers, fix rt_sigreturn(2)
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
6bc43c9ee9
commit
ac416143b0
2 changed files with 6 additions and 23 deletions
|
@ -129,9 +129,9 @@ struct rt_sigframe
|
||||||
} __attribute__((aligned(2),packed));
|
} __attribute__((aligned(2),packed));
|
||||||
|
|
||||||
static inline int
|
static inline int
|
||||||
restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc,
|
restore_sigcontext(struct sigcontext *usc, int *pd0)
|
||||||
int *pd0)
|
|
||||||
{
|
{
|
||||||
|
struct pt_regs *regs = current_pt_regs();
|
||||||
int err = 0;
|
int err = 0;
|
||||||
unsigned int ccr;
|
unsigned int ccr;
|
||||||
unsigned int usp;
|
unsigned int usp;
|
||||||
|
@ -160,9 +160,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc,
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int do_sigreturn(unsigned long __unused,...)
|
asmlinkage int sys_sigreturn(void)
|
||||||
{
|
{
|
||||||
struct pt_regs *regs = (struct pt_regs *) (&__unused - 1);
|
|
||||||
unsigned long usp = rdusp();
|
unsigned long usp = rdusp();
|
||||||
struct sigframe *frame = (struct sigframe *)(usp - 4);
|
struct sigframe *frame = (struct sigframe *)(usp - 4);
|
||||||
sigset_t set;
|
sigset_t set;
|
||||||
|
@ -178,7 +177,7 @@ asmlinkage int do_sigreturn(unsigned long __unused,...)
|
||||||
|
|
||||||
set_current_blocked(&set);
|
set_current_blocked(&set);
|
||||||
|
|
||||||
if (restore_sigcontext(regs, &frame->sc, &er0))
|
if (restore_sigcontext(&frame->sc, &er0))
|
||||||
goto badframe;
|
goto badframe;
|
||||||
return er0;
|
return er0;
|
||||||
|
|
||||||
|
@ -187,9 +186,8 @@ badframe:
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
asmlinkage int do_rt_sigreturn(unsigned long __unused,...)
|
asmlinkage int sys_rt_sigreturn(void)
|
||||||
{
|
{
|
||||||
struct pt_regs *regs = (struct pt_regs *) &__unused;
|
|
||||||
unsigned long usp = rdusp();
|
unsigned long usp = rdusp();
|
||||||
struct rt_sigframe *frame = (struct rt_sigframe *)(usp - 4);
|
struct rt_sigframe *frame = (struct rt_sigframe *)(usp - 4);
|
||||||
sigset_t set;
|
sigset_t set;
|
||||||
|
@ -202,7 +200,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused,...)
|
||||||
|
|
||||||
set_current_blocked(&set);
|
set_current_blocked(&set);
|
||||||
|
|
||||||
if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &er0))
|
if (restore_sigcontext(&frame->uc.uc_mcontext, &er0))
|
||||||
goto badframe;
|
goto badframe;
|
||||||
|
|
||||||
if (restore_altstack(&frame->uc.uc_stack))
|
if (restore_altstack(&frame->uc.uc_stack))
|
||||||
|
|
|
@ -334,18 +334,3 @@ SYMBOL_NAME_LABEL(sys_call_table)
|
||||||
.long SYMBOL_NAME(sys_getcpu)
|
.long SYMBOL_NAME(sys_getcpu)
|
||||||
.long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */
|
.long SYMBOL_NAME(sys_ni_syscall) /* sys_epoll_pwait */
|
||||||
.long SYMBOL_NAME(sys_setns) /* 320 */
|
.long SYMBOL_NAME(sys_setns) /* 320 */
|
||||||
|
|
||||||
.macro call_sp addr
|
|
||||||
mov.l #SYMBOL_NAME(\addr),er6
|
|
||||||
bra SYMBOL_NAME(syscall_trampoline):8
|
|
||||||
.endm
|
|
||||||
|
|
||||||
SYMBOL_NAME_LABEL(sys_sigreturn)
|
|
||||||
call_sp do_sigreturn
|
|
||||||
|
|
||||||
SYMBOL_NAME_LABEL(sys_rt_sigreturn)
|
|
||||||
call_sp do_rt_sigreturn
|
|
||||||
|
|
||||||
SYMBOL_NAME_LABEL(syscall_trampoline)
|
|
||||||
mov.l sp,er0
|
|
||||||
jmp @er6
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue