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

Commit 8a68060c authored by Al Viro's avatar Al Viro
Browse files

alpha: unify the glue for sigreturn-like syscalls



Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 060581c1
Loading
Loading
Loading
Loading
+10 −20
Original line number Diff line number Diff line
@@ -791,7 +791,7 @@ ret_from_kernel_thread:

/*
 * Special system calls.  Most of these are special in that they either
 * have to play switch_stack games or in some way use the pt_regs struct.
 * have to play switch_stack games.
 */

.macro	fork_like name
@@ -812,35 +812,25 @@ fork_like fork
fork_like vfork
fork_like clone

.macro	sigreturn_like name
	.align	4
	.globl	sys_sigreturn
	.ent	sys_sigreturn
sys_sigreturn:
	.globl	sys_\name
	.ent	sys_\name
sys_\name:
	.prologue 0
	lda	$9, ret_from_straced
	cmpult	$26, $9, $9
	lda	$sp, -SWITCH_STACK_SIZE($sp)
	jsr	$26, do_sigreturn
	jsr	$26, do_\name
	bne	$9, 1f
	jsr	$26, syscall_trace_leave
1:	br	$1, undo_switch_stack
	br	ret_from_sys_call
.end sys_sigreturn
.end sys_\name
.endm

	.align	4
	.globl	sys_rt_sigreturn
	.ent	sys_rt_sigreturn
sys_rt_sigreturn:
	.prologue 0
	lda	$9, ret_from_straced
	cmpult	$26, $9, $9
	lda	$sp, -SWITCH_STACK_SIZE($sp)
	jsr	$26, do_rt_sigreturn
	bne	$9, 1f
	jsr	$26, syscall_trace_leave
1:	br	$1, undo_switch_stack
	br	ret_from_sys_call
.end sys_rt_sigreturn
sigreturn_like sigreturn
sigreturn_like rt_sigreturn

	.align	4
	.globl	alpha_syscall_zero