|
@@ -418,11 +418,10 @@ $work_notifysig:
|
|
|
strace:
|
|
|
/* set up signal stack, call syscall_trace */
|
|
|
bsr $1, do_switch_stack
|
|
|
- jsr $26, syscall_trace
|
|
|
+ jsr $26, syscall_trace_enter /* returns the syscall number */
|
|
|
bsr $1, undo_switch_stack
|
|
|
|
|
|
- /* get the system call number and the arguments back.. */
|
|
|
- ldq $0, 0($sp)
|
|
|
+ /* get the arguments back.. */
|
|
|
ldq $16, SP_OFF+24($sp)
|
|
|
ldq $17, SP_OFF+32($sp)
|
|
|
ldq $18, SP_OFF+40($sp)
|
|
@@ -449,7 +448,7 @@ $strace_success:
|
|
|
stq $0, 0($sp) /* save return value */
|
|
|
|
|
|
bsr $1, do_switch_stack
|
|
|
- jsr $26, syscall_trace
|
|
|
+ jsr $26, syscall_trace_leave
|
|
|
bsr $1, undo_switch_stack
|
|
|
br $31, ret_from_sys_call
|
|
|
|
|
@@ -467,7 +466,7 @@ $strace_error:
|
|
|
bsr $1, do_switch_stack
|
|
|
mov $19, $9 /* save old syscall number */
|
|
|
mov $20, $10 /* save old a3 */
|
|
|
- jsr $26, syscall_trace
|
|
|
+ jsr $26, syscall_trace_leave
|
|
|
mov $9, $19
|
|
|
mov $10, $20
|
|
|
bsr $1, undo_switch_stack
|
|
@@ -698,7 +697,7 @@ sys_sigreturn:
|
|
|
lda $sp, -SWITCH_STACK_SIZE($sp)
|
|
|
jsr $26, do_sigreturn
|
|
|
bne $9, 1f
|
|
|
- jsr $26, syscall_trace
|
|
|
+ jsr $26, syscall_trace_leave
|
|
|
1: br $1, undo_switch_stack
|
|
|
br ret_from_sys_call
|
|
|
.end sys_sigreturn
|
|
@@ -715,7 +714,7 @@ sys_rt_sigreturn:
|
|
|
lda $sp, -SWITCH_STACK_SIZE($sp)
|
|
|
jsr $26, do_rt_sigreturn
|
|
|
bne $9, 1f
|
|
|
- jsr $26, syscall_trace
|
|
|
+ jsr $26, syscall_trace_leave
|
|
|
1: br $1, undo_switch_stack
|
|
|
br ret_from_sys_call
|
|
|
.end sys_rt_sigreturn
|