|
From: <sv...@va...> - 2012-07-26 02:38:01
|
florian 2012-07-26 03:37:49 +0100 (Thu, 26 Jul 2012)
New Revision: 2450
Log:
Upon decode failure set the guest_IA to the address of the insn that
could not be decoded (current insn). Otherwise, a wrong address will be
reported in the complaint.
Modified files:
trunk/priv/guest_s390_toIR.c
Modified: trunk/priv/guest_s390_toIR.c (+5 -2)
===================================================================
--- trunk/priv/guest_s390_toIR.c 2012-07-26 03:01:50 +01:00 (rev 2449)
+++ trunk/priv/guest_s390_toIR.c 2012-07-26 03:37:49 +01:00 (rev 2450)
@@ -13809,8 +13809,11 @@
/* All decode failures end up here. The decoder has already issued an
error message.
Tell the dispatcher that this insn cannot be decoded, and so has
- not been executed, and (is currently) the next to be executed. */
- put_IA(mkaddr_expr(guest_IA_next_instr));
+ not been executed, and (is currently) the next to be executed.
+ The insn address in the guest state needs to be set to
+ guest_IA_curr_instr, otherwise the complaint will report an
+ incorrect address. */
+ put_IA(mkaddr_expr(guest_IA_curr_instr));
dres.whatNext = Dis_StopHere;
dres.jk_StopHere = Ijk_NoDecode;
|