]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Handle nop-with-an-amode (sheesh. Mutancy. whatever next?) for x86 and
authorJulian Seward <jseward@acm.org>
Tue, 1 Aug 2006 18:36:25 +0000 (18:36 +0000)
committerJulian Seward <jseward@acm.org>
Tue, 1 Aug 2006 18:36:25 +0000 (18:36 +0000)
amd64.  Fixes #131481 and #131298.

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

VEX/priv/guest-amd64/toIR.c
VEX/priv/guest-x86/toIR.c

index 72161aa09f0c11740b149aee3d20f6fa3cca937b..473a11fd1f727ae2d0777dfe417392a5e7da130a 100644 (file)
@@ -13570,6 +13570,17 @@ DisResult disInstr_AMD64_WRK (
          delta = dis_mul_E_G ( pfx, sz, delta );
          break;
 
+      /* =-=-=-=-=-=-=-=-=- NOPs =-=-=-=-=-=-=-=-=-=-=-= */
+
+      case 0x1F:
+         if (haveF2orF3(pfx)) goto decode_failure;
+         modrm = getUChar(delta);
+         if (epartIsReg(modrm)) goto decode_failure;
+         addr = disAMode ( &alen, pfx, delta, dis_buf, 0 );
+         delta += alen;
+         DIP("nop%c %s\n", nameISize(sz), dis_buf);
+         break;
+
       /* =-=-=-=-=-=-=-=-=- Jcond d32 -=-=-=-=-=-=-=-=-= */
       case 0x80:
       case 0x81:
index ad0a7660ae229abe1d968916cf07cfae516a5e47..7ac9f455f00c96110018eebe2751e4eef2bceaf4 100644 (file)
@@ -12388,6 +12388,16 @@ DisResult disInstr_X86_WRK (
          delta = dis_mul_E_G ( sorb, sz, delta );
          break;
 
+      /* =-=-=-=-=-=-=-=-=- NOPs =-=-=-=-=-=-=-=-=-=-=-= */
+
+      case 0x1F:
+         modrm = getUChar(delta);
+         if (epartIsReg(modrm)) goto decode_failure;
+         addr = disAMode ( &alen, sorb, delta, dis_buf );
+         delta += alen;
+         DIP("nop%c %s\n", nameISize(sz), dis_buf);
+         break;
+
       /* =-=-=-=-=-=-=-=-=- Jcond d32 -=-=-=-=-=-=-=-=-= */
       case 0x80:
       case 0x81: