diff options
Diffstat (limited to 'arch/ia64/ia32/ia32_entry.S')
-rw-r--r-- | arch/ia64/ia32/ia32_entry.S | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S index 53505bb04771..a8cf19958850 100644 --- a/arch/ia64/ia32/ia32_entry.S +++ b/arch/ia64/ia32/ia32_entry.S | |||
@@ -108,6 +108,11 @@ GLOBAL_ENTRY(ia32_trace_syscall) | |||
108 | ;; | 108 | ;; |
109 | st8 [r2]=r3 // initialize return code to -ENOSYS | 109 | st8 [r2]=r3 // initialize return code to -ENOSYS |
110 | br.call.sptk.few rp=syscall_trace_enter // give parent a chance to catch syscall args | 110 | br.call.sptk.few rp=syscall_trace_enter // give parent a chance to catch syscall args |
111 | cmp.lt p6,p0=r8,r0 // check tracehook | ||
112 | adds r2=IA64_PT_REGS_R8_OFFSET+16,sp // r2 = &pt_regs.r8 | ||
113 | ;; | ||
114 | (p6) st8.spill [r2]=r8 // store return value in slot for r8 | ||
115 | (p6) br.spnt.few .ret4 | ||
111 | .ret2: // Need to reload arguments (they may be changed by the tracing process) | 116 | .ret2: // Need to reload arguments (they may be changed by the tracing process) |
112 | adds r2=IA64_PT_REGS_R1_OFFSET+16,sp // r2 = &pt_regs.r1 | 117 | adds r2=IA64_PT_REGS_R1_OFFSET+16,sp // r2 = &pt_regs.r1 |
113 | adds r3=IA64_PT_REGS_R13_OFFSET+16,sp // r3 = &pt_regs.r13 | 118 | adds r3=IA64_PT_REGS_R13_OFFSET+16,sp // r3 = &pt_regs.r13 |
@@ -199,10 +204,10 @@ ia32_syscall_table: | |||
199 | data8 sys_setuid /* 16-bit version */ | 204 | data8 sys_setuid /* 16-bit version */ |
200 | data8 sys_getuid /* 16-bit version */ | 205 | data8 sys_getuid /* 16-bit version */ |
201 | data8 compat_sys_stime /* 25 */ | 206 | data8 compat_sys_stime /* 25 */ |
202 | data8 sys32_ptrace | 207 | data8 compat_sys_ptrace |
203 | data8 sys32_alarm | 208 | data8 sys32_alarm |
204 | data8 sys_ni_syscall | 209 | data8 sys_ni_syscall |
205 | data8 sys32_pause | 210 | data8 sys_pause |
206 | data8 compat_sys_utime /* 30 */ | 211 | data8 compat_sys_utime /* 30 */ |
207 | data8 sys_ni_syscall /* old stty syscall holder */ | 212 | data8 sys_ni_syscall /* old stty syscall holder */ |
208 | data8 sys_ni_syscall /* old gtty syscall holder */ | 213 | data8 sys_ni_syscall /* old gtty syscall holder */ |
@@ -215,7 +220,7 @@ ia32_syscall_table: | |||
215 | data8 sys_mkdir | 220 | data8 sys_mkdir |
216 | data8 sys_rmdir /* 40 */ | 221 | data8 sys_rmdir /* 40 */ |
217 | data8 sys_dup | 222 | data8 sys_dup |
218 | data8 sys32_pipe | 223 | data8 sys_pipe |
219 | data8 compat_sys_times | 224 | data8 compat_sys_times |
220 | data8 sys_ni_syscall /* old prof syscall holder */ | 225 | data8 sys_ni_syscall /* old prof syscall holder */ |
221 | data8 sys32_brk /* 45 */ | 226 | data8 sys32_brk /* 45 */ |