|
From: <sv...@va...> - 2009-07-13 10:00:11
|
Author: sewardj
Date: 2009-07-13 11:00:06 +0100 (Mon, 13 Jul 2009)
New Revision: 10439
Log:
Fix breakage on ppc{32,64}-linux in post_reg_write_nonptr following
r10084 and also update a comment.
Modified:
trunk/exp-ptrcheck/h_main.c
Modified: trunk/exp-ptrcheck/h_main.c
===================================================================
--- trunk/exp-ptrcheck/h_main.c 2009-07-13 07:02:26 UTC (rev 10438)
+++ trunk/exp-ptrcheck/h_main.c 2009-07-13 10:00:06 UTC (rev 10439)
@@ -1954,9 +1954,17 @@
//
if (is_integer_guest_reg( (Int)offset, (Int)size )) {
put_guest_intreg( tid, 1, offset, size, (UWord)NONPTR );
- } else {
+ }
+ else
+ if (size == 1 || size == 2) {
+ /* can't possibly be an integer guest reg. Ignore. */
+ }
+ else {
// DDD: on Darwin, this assertion fails because we currently do a
// 'post_reg_write' on the 'guest_CC_DEP1' pseudo-register.
+ // JRS 2009July13: we should change is_integer_guest_reg()
+ // to accept guest_CC_DEP* and guest_CC_NDEP
+ // as legitimate pointer-holding registers
tl_assert(0);
}
// VG_(set_thread_shadow_archreg)( tid, reg, (UInt)NONPTR );
|