Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ac416143 authored by Al Viro's avatar Al Viro
Browse files

h8300: kill useless wrappers, fix rt_sigreturn(2)



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 6bc43c9e
Loading
Loading
Loading
Loading
+6 −8
Original line number Diff line number Diff line
@@ -129,9 +129,9 @@ struct rt_sigframe
} __attribute__((aligned(2),packed));

static inline int
restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc,
		   int *pd0)
restore_sigcontext(struct sigcontext *usc, int *pd0)
{
	struct pt_regs *regs = current_pt_regs();
	int err = 0;
	unsigned int ccr;
	unsigned int usp;
@@ -160,9 +160,8 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *usc,
	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();
	struct sigframe *frame = (struct sigframe *)(usp - 4);
	sigset_t set;
@@ -178,7 +177,7 @@ asmlinkage int do_sigreturn(unsigned long __unused,...)

	set_current_blocked(&set);
	
	if (restore_sigcontext(regs, &frame->sc, &er0))
	if (restore_sigcontext(&frame->sc, &er0))
		goto badframe;
	return er0;

@@ -187,9 +186,8 @@ badframe:
	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();
	struct rt_sigframe *frame = (struct rt_sigframe *)(usp - 4);
	sigset_t set;
@@ -202,7 +200,7 @@ asmlinkage int do_rt_sigreturn(unsigned long __unused,...)

	set_current_blocked(&set);
	
	if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &er0))
	if (restore_sigcontext(&frame->uc.uc_mcontext, &er0))
		goto badframe;

	if (restore_altstack(&frame->uc.uc_stack))
+0 −15
Original line number Diff line number Diff line
@@ -334,18 +334,3 @@ SYMBOL_NAME_LABEL(sys_call_table)
	.long SYMBOL_NAME(sys_getcpu)
	.long SYMBOL_NAME(sys_ni_syscall)	/* sys_epoll_pwait */
	.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