|
@@ -1196,8 +1196,9 @@ sys_rt_sigreturn:
|
|
be 1f
|
|
be 1f
|
|
nop
|
|
nop
|
|
|
|
|
|
|
|
+ add %sp, STACKFRAME_SZ, %o0
|
|
call syscall_trace
|
|
call syscall_trace
|
|
- nop
|
|
|
|
|
|
+ mov 1, %o1
|
|
|
|
|
|
1:
|
|
1:
|
|
/* We are returning to a signal handler. */
|
|
/* We are returning to a signal handler. */
|
|
@@ -1287,8 +1288,12 @@ linux_fast_syscall:
|
|
mov %i3, %o3
|
|
mov %i3, %o3
|
|
|
|
|
|
linux_syscall_trace:
|
|
linux_syscall_trace:
|
|
|
|
+ add %sp, STACKFRAME_SZ, %o0
|
|
call syscall_trace
|
|
call syscall_trace
|
|
- nop
|
|
|
|
|
|
+ mov 0, %o1
|
|
|
|
+ cmp %o0, 0
|
|
|
|
+ bne 3f
|
|
|
|
+ mov -ENOSYS, %o0
|
|
mov %i0, %o0
|
|
mov %i0, %o0
|
|
mov %i1, %o1
|
|
mov %i1, %o1
|
|
mov %i2, %o2
|
|
mov %i2, %o2
|
|
@@ -1337,6 +1342,7 @@ syscall_is_too_hard:
|
|
call %l7
|
|
call %l7
|
|
mov %i5, %o5
|
|
mov %i5, %o5
|
|
|
|
|
|
|
|
+3:
|
|
st %o0, [%sp + STACKFRAME_SZ + PT_I0]
|
|
st %o0, [%sp + STACKFRAME_SZ + PT_I0]
|
|
|
|
|
|
ret_sys_call:
|
|
ret_sys_call:
|
|
@@ -1374,6 +1380,8 @@ ret_sys_call:
|
|
st %l2, [%sp + STACKFRAME_SZ + PT_NPC]
|
|
st %l2, [%sp + STACKFRAME_SZ + PT_NPC]
|
|
|
|
|
|
linux_syscall_trace2:
|
|
linux_syscall_trace2:
|
|
|
|
+ add %sp, STACKFRAME_SZ, %o0
|
|
|
|
+ mov 1, %o1
|
|
call syscall_trace
|
|
call syscall_trace
|
|
add %l1, 0x4, %l2 /* npc = npc+4 */
|
|
add %l1, 0x4, %l2 /* npc = npc+4 */
|
|
st %l1, [%sp + STACKFRAME_SZ + PT_PC]
|
|
st %l1, [%sp + STACKFRAME_SZ + PT_PC]
|