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

alpha: unify the glue for sigreturn-like syscalls

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 060581c1
...@@ -791,7 +791,7 @@ ret_from_kernel_thread: ...@@ -791,7 +791,7 @@ ret_from_kernel_thread:
/* /*
* Special system calls. Most of these are special in that they either * 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 .macro fork_like name
...@@ -812,35 +812,25 @@ fork_like fork ...@@ -812,35 +812,25 @@ fork_like fork
fork_like vfork fork_like vfork
fork_like clone fork_like clone
.macro sigreturn_like name
.align 4 .align 4
.globl sys_sigreturn .globl sys_\name
.ent sys_sigreturn .ent sys_\name
sys_sigreturn: sys_\name:
.prologue 0 .prologue 0
lda $9, ret_from_straced lda $9, ret_from_straced
cmpult $26, $9, $9 cmpult $26, $9, $9
lda $sp, -SWITCH_STACK_SIZE($sp) lda $sp, -SWITCH_STACK_SIZE($sp)
jsr $26, do_sigreturn jsr $26, do_\name
bne $9, 1f bne $9, 1f
jsr $26, syscall_trace_leave jsr $26, syscall_trace_leave
1: br $1, undo_switch_stack 1: br $1, undo_switch_stack
br ret_from_sys_call br ret_from_sys_call
.end sys_sigreturn .end sys_\name
.endm
.align 4 sigreturn_like sigreturn
.globl sys_rt_sigreturn sigreturn_like 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
.align 4 .align 4
.globl alpha_syscall_zero .globl alpha_syscall_zero
......
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