]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Fix an assert.
authorFlorian Krohm <florian@eich-krohm.de>
Sat, 30 Jul 2011 20:09:28 +0000 (20:09 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Sat, 30 Jul 2011 20:09:28 +0000 (20:09 +0000)
This occured when we were chasing a branch insn (thereby setting the
disassembly result to Dis_ResteerU and the continueAt field to something
non-zero) and later changing the result kind to Dis_StopHere (because
the next insn is an EX insn). The ContinueAt field remained non-zero
in the case causing an assert down the road.
This should fix the failing test memcheck/tests/linux/timerfd-syscall

git-svn-id: svn://svn.valgrind.org/vex/trunk@2186

VEX/priv/guest_s390_toIR.c

index 165a98f0de19a9604b2c0cb89a7607629317cac5..8ec201b227fecff5ff1f5d80851f1cdee42d7399 100644 (file)
@@ -12970,6 +12970,7 @@ s390_decode_and_irgen(UChar *bytes, UInt insn_length, DisResult *dres)
    if (irsb->next == NULL && bytes[insn_length] == 0x44) {
       irsb->next = IRExpr_Const(IRConst_U64(guest_IA_next_instr));
       dis_res->whatNext = Dis_StopHere;
+      dis_res->continueAt = 0;
    }
 
    if (status == S390_DECODE_OK) return insn_length;  /* OK */