]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
(post-tchain-merge cleanup) Stop s390x asserting on illegal insns.
authorFlorian Krohm <florian@eich-krohm.de>
Sun, 22 Apr 2012 02:51:27 +0000 (02:51 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Sun, 22 Apr 2012 02:51:27 +0000 (02:51 +0000)
none/tests/s390x/op_exception will now pass.

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

VEX/priv/guest_s390_toIR.c
VEX/priv/host_s390_isel.c

index 26190f0b4ac5e6f72a62008fe564c8988d96fa85..fd5431631c487c51acada9c33b58c8f573b05e12 100644 (file)
@@ -13609,7 +13609,7 @@ disInstr_S390_WRK(UChar *insn)
          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_curr_instr));
+      put_IA(mkaddr_expr(guest_IA_next_instr));
 
       dres.whatNext    = Dis_StopHere;
       dres.jk_StopHere = Ijk_NoDecode;
index 35226f9963bbb399b94a7e42375d80fdae2395bc..3cebc4e277a69f6c7ea550833cf6261d01c4eb86 100644 (file)
@@ -2485,6 +2485,7 @@ s390_isel_stmt(ISelEnv *env, IRStmt *stmt)
 
       /* Case: assisted transfer to arbitrary address */
       switch (stmt->Ist.Exit.jk) {
+      case Ijk_NoDecode:
       case Ijk_TInval:
       case Ijk_Sys_syscall:
       case Ijk_ClientReq:
@@ -2597,6 +2598,7 @@ iselNext(ISelEnv *env, IRExpr *next, IRJumpKind jk, int offsIP)
 
    /* Case: some other kind of transfer to any address */
    switch (jk) {
+   case Ijk_NoDecode:
    case Ijk_TInval:
    case Ijk_Sys_syscall:
    case Ijk_ClientReq: