Hi,

I am writing a new tool that involves calling a tool function at every
instruction.  However, there appears to be one instruction that never
gets executed, and I cannot figure out why.  The (partial)
instrumented IRSB is as follows:

------ IMark(0x112E42, 5, 0) ------
   DIRTY 1:I1 RdFX-gst(0,928) ::: record_current_state{0x58001ce0}(0x112E42:I64)
   t68 = Sub64(t2,0x8:I64)
   PUT(48) = t68
   STle(t68) = 0x112E47:I64
   t70 = Sub64(t68,0x80:I64)
   ====== AbiHint(t70, 128, 0x124A10:I64) ======
   ------ IMark(0x124A10, 1, 0) ------
   DIRTY 1:I1 RdFX-gst(0,928) ::: record_current_state{0x58001ce0}(0x124A10:I64)
   t79 = Sub64(t68,0x8:I64)
   PUT(48) = t79
   STle(t79) = t22
   PUT(184) = 0x124A11:I64
   ------ IMark(0x124A11, 3, 0) ------
   DIRTY 1:I1 RdFX-gst(0,928) ::: record_current_state{0x58001ce0}(0x124A11:I64)
   PUT(56) = t79
   PUT(184) = 0x124A14:I64
   ------ IMark(0x124A14, 4, 0) ------
   DIRTY 1:I1 RdFX-gst(0,928) ::: record_current_state{0x58001ce0}(0x124A14:I64)
   t82 = Add64(t79,0xFFFFFFFFFFFFFFF8:I64)
   STle(t82) = t64
   PUT(184) = 0x124A18:I64

The instruction that doesn't get executed is 0x124A10.  There are two
reasons I say the instruction is not executed.  First, I am printing
out the guest IP in record_current_state() and 0x124A10 is never
printed.  Second, I get a segfault at instruction 0x124A14, which
dereferences a stack location.  I have checked read/write permissions
of the location referenced in the STle IRStmt, and sure enough the
location is not valid for the guest.  This leads me to believe that
the t79=Sub64(t68, 0x8) isn't happening, because that should update
the memory permissions.

Interestingly, instruction 0x112E42 seemingly gets executed twice,
according to my instrumentation output:

==273360== Recording state for 0x112e42 (quote_name_buf)
==273360== Recording state for 0x112e42 (quote_name_buf)
==273360== Recording state for 0x124a11 (get_quoting_style)

-- 
Derrick McKee
Phone: (703) 957-9362
Email: derrick.mc...@gmail.com


_______________________________________________
Valgrind-users mailing list
Valgrind-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to