|
[Valgrind-developers] vex: r1821 - in
branches/OTRACK_BY_INSTRUMENTATION/priv: guest-amd64 guest-x86
From: <sv...@va...> - 2008-04-07 22:30:27
|
Author: sewardj
Date: 2008-04-07 23:30:28 +0100 (Mon, 07 Apr 2008)
New Revision: 1821
Log:
Fix (probably harmless, but still ..) sub-word-sized PUT to CC_DEP1 in
the translations of inc/dec instructions.
Modified:
branches/OTRACK_BY_INSTRUMENTATION/priv/guest-amd64/toIR.c
branches/OTRACK_BY_INSTRUMENTATION/priv/guest-x86/toIR.c
Modified: branches/OTRACK_BY_INSTRUMENTATION/priv/guest-amd64/toIR.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/priv/guest-amd64/toIR.c 2008-04-05 11:34:48 UTC (rev 1820)
+++ branches/OTRACK_BY_INSTRUMENTATION/priv/guest-amd64/toIR.c 2008-04-07 22:30:28 UTC (rev 1821)
@@ -1653,7 +1653,7 @@
may require reading all four thunk fields. */
stmt( IRStmt_Put( OFFB_CC_NDEP, mk_amd64g_calculate_rflags_c()) );
stmt( IRStmt_Put( OFFB_CC_OP, mkU64(ccOp)) );
- stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(res)) );
+ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto64(mkexpr(res))) );
stmt( IRStmt_Put( OFFB_CC_DEP2, mkU64(0)) );
}
Modified: branches/OTRACK_BY_INSTRUMENTATION/priv/guest-x86/toIR.c
===================================================================
--- branches/OTRACK_BY_INSTRUMENTATION/priv/guest-x86/toIR.c 2008-04-05 11:34:48 UTC (rev 1820)
+++ branches/OTRACK_BY_INSTRUMENTATION/priv/guest-x86/toIR.c 2008-04-07 22:30:28 UTC (rev 1821)
@@ -958,7 +958,7 @@
may require reading all four thunk fields. */
stmt( IRStmt_Put( OFFB_CC_NDEP, mk_x86g_calculate_eflags_c()) );
stmt( IRStmt_Put( OFFB_CC_OP, mkU32(ccOp)) );
- stmt( IRStmt_Put( OFFB_CC_DEP1, mkexpr(res)) );
+ stmt( IRStmt_Put( OFFB_CC_DEP1, widenUto32(mkexpr(res))) );
stmt( IRStmt_Put( OFFB_CC_DEP2, mkU32(0)) );
}
|