patch-2.4.25 linux-2.4.25/arch/ia64/ia32/ia32_entry.S
Next file: linux-2.4.25/arch/ia64/ia32/sys_ia32.c
Previous file: linux-2.4.25/arch/ia64/hp/zx1/hpzx1_misc.c
Back to the patch index
Back to the overall index
- Lines: 20
- Date:
2004-02-18 05:36:30.000000000 -0800
- Orig file:
linux-2.4.24/arch/ia64/ia32/ia32_entry.S
- Orig date:
2003-08-25 04:44:39.000000000 -0700
diff -urN linux-2.4.24/arch/ia64/ia32/ia32_entry.S linux-2.4.25/arch/ia64/ia32/ia32_entry.S
@@ -138,6 +138,19 @@
;;
st8 [r2]=r3 // initialize return code to -ENOSYS
br.call.sptk.few rp=invoke_syscall_trace // give parent a chance to catch syscall args
+ // Need to reload arguments (they may be changed by the tracing process)
+ adds r2=IA64_PT_REGS_R9_OFFSET+16,sp // r2 = &pt_regs.r9
+ adds r3=IA64_PT_REGS_R13_OFFSET+16,sp // r3 = &pt_regs.r13
+ ;;
+ ld4 r33=[r2],8 // r9 == ecx
+ ld4 r37=[r3],16 // r13 == ebp
+ ;;
+ ld4 r34=[r2],8 // r10 == edx
+ ld4 r36=[r3],8 // r15 == edi
+ ;;
+ ld4 r32=[r2],8 // r11 == ebx
+ ld4 r35=[r3],8 // r14 == esi
+ ;;
.ret2: br.call.sptk.few rp=b6 // do the syscall
.ia32_strace_check_retval:
cmp.lt p6,p0=r8,r0 // syscall failed?
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)