|
From: Nicholas N. <nj...@ca...> - 2004-09-11 15:11:53
|
CVS commit by nethercote:
Arch-abstraction:
- abstract out some direct naming of registers
M +1 -2 toolfuncs.def 1.4
M +6 -6 vg_memory.c 1.69
M +2 -2 vg_scheduler.c 1.182
--- valgrind/coregrind/toolfuncs.def #1.3:1.4
@@ -29,6 +29,5 @@
## Finish up, print out any results, etc. `exitcode' is program's exit
## code. The shadow (if the `shadow_regs' need is set) can be found with
-## VG_(get_shadow_archreg)(R_EBX), since %ebx holds the argument to the
-## exit() syscall.
+## VG_(get_exit_status_shadow)().
void, fini, Int exitcode
--- valgrind/coregrind/vg_memory.c #1.68:1.69
@@ -678,8 +678,8 @@ Segment *VG_(next_segment)(Segment *s)
isn't used in preference */
REGPARM(1)
-void VG_(unknown_esp_update)(Addr new_ESP)
+void VG_(unknown_esp_update)(Addr new_SP)
{
- Addr old_ESP = VG_(get_archreg)(R_ESP);
- Int delta = (Int)new_ESP - (Int)old_ESP;
+ Addr old_SP = VG_(get_archreg)(R_STACK_PTR);
+ Int delta = (Int)new_SP - (Int)old_SP;
if (delta < -(VG_HUGE_DELTA) || VG_HUGE_DELTA < delta) {
@@ -695,10 +695,10 @@ void VG_(unknown_esp_update)(Addr new_ES
if (VG_(clo_verbosity) > 1)
VG_(message)(Vg_UserMsg, "Warning: client switching stacks? "
- "%%esp: %p --> %p", old_ESP, new_ESP);
+ "%%esp: %p --> %p", old_SP, new_SP);
} else if (delta < 0) {
- VG_TRACK( new_mem_stack, new_ESP, -delta );
+ VG_TRACK( new_mem_stack, new_SP, -delta );
} else if (delta > 0) {
- VG_TRACK( die_mem_stack, old_ESP, delta );
+ VG_TRACK( die_mem_stack, old_SP, delta );
}
}
--- valgrind/coregrind/vg_scheduler.c #1.181:1.182
@@ -2800,10 +2800,10 @@ void do__get_stack_info ( ThreadId tid,
void VG_(set_return_from_syscall_shadow) ( ThreadId tid, UInt ret_shadow )
{
- VG_(set_thread_shadow_archreg)(tid, R_EAX, ret_shadow);
+ VG_(set_thread_shadow_archreg)(tid, R_SYSCALL_RET, ret_shadow);
}
UInt VG_(get_exit_status_shadow) ( void )
{
- return VG_(get_shadow_archreg)(R_EBX);
+ return VG_(get_shadow_archreg)(R_SYSCALL_ARG1);
}
|