]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Handle unknown HINT instructions on aarch64 by ignoring them. BZ#376279.
authorTom Hughes <tom@compton.nu>
Sat, 11 Feb 2017 10:44:29 +0000 (10:44 +0000)
committerTom Hughes <tom@compton.nu>
Sat, 11 Feb 2017 10:44:29 +0000 (10:44 +0000)
git-svn-id: svn://svn.valgrind.org/vex/trunk@3302

VEX/priv/guest_arm64_toIR.c

index e5274474dcd9414bc579e0be91882c7f83743148..484a26ea8d1ad172914d2b4110bf846834d466c1 100644 (file)
@@ -7022,6 +7022,19 @@ Bool dis_ARM64_branch_etc(/*MB_OUT*/DisResult* dres, UInt insn,
       return True;
    }
 
+   /* -------------------- HINT ------------------- */
+   /* 31        23        15   11   4 3
+      1101 0101 0000 0011 0010 imm7 1 1111
+   */
+   if (INSN(31,24) == BITS8(1,1,0,1,0,1,0,1)
+       && INSN(23,16) == BITS8(0,0,0,0,0,0,1,1)
+       && INSN(15,12) == BITS4(0,0,1,0)
+       && INSN(4,0) == BITS5(1,1,1,1,1)) {
+      UInt imm7 = INSN(11,5);
+      DIP("hint #%u\n", imm7);
+      return True;
+   }
+
    /* ------------------- CLREX ------------------ */
    /* 31        23        15   11 7
       1101 0101 0000 0011 0011 m  0101 1111  CLREX CRm