From: Florian Krohm Date: Thu, 26 Jul 2012 02:37:49 +0000 (+0000) Subject: Upon decode failure set the guest_IA to the address of the insn that X-Git-Tag: svn/VALGRIND_3_8_1^2~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e764d7232fcaed4f1205af95ae7fd5d52459c4d;p=thirdparty%2Fvalgrind.git 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. git-svn-id: svn://svn.valgrind.org/vex/trunk@2450 --- diff --git a/VEX/priv/guest_s390_toIR.c b/VEX/priv/guest_s390_toIR.c index a4a0562d90..9c158649cc 100644 --- a/VEX/priv/guest_s390_toIR.c +++ b/VEX/priv/guest_s390_toIR.c @@ -13809,8 +13809,11 @@ disInstr_S390_WRK(UChar *insn) /* 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;