|
From: <sv...@va...> - 2016-04-08 21:29:22
|
Author: iraisr
Date: Fri Apr 8 22:29:15 2016
New Revision: 15854
Log:
Follow up to bug 345307.
Passing parameter on x86 architecture was wrong in final_tidyup().
Modified:
trunk/coregrind/m_main.c
Modified: trunk/coregrind/m_main.c
==============================================================================
--- trunk/coregrind/m_main.c (original)
+++ trunk/coregrind/m_main.c Fri Apr 8 22:29:15 2016
@@ -2819,9 +2819,9 @@
/* Pass a parameter to freeres_wrapper(). */
# if defined(VGA_x86)
Addr sp = VG_(threads)[tid].arch.vex.guest_ESP;
- sp = sp - sizeof(UWord);
*((UWord *) sp) = to_run;
VG_TRACK(post_mem_write, Vg_CoreClientReq, tid, sp, sizeof(UWord));
+ sp = sp - sizeof(UWord);
VG_(threads)[tid].arch.vex.guest_ESP = sp;
VG_TRACK(post_reg_write, Vg_CoreClientReq, tid,
offsetof(VexGuestX86State, guest_ESP),
|