|
From: <sv...@va...> - 2006-08-28 13:19:11
|
Author: sewardj
Date: 2006-08-28 14:19:06 +0100 (Mon, 28 Aug 2006)
New Revision: 1645
Log:
Merge r1634 (fix for:(HINT_NOP) vex x86->IR: 0xF 0x1F 0x0 0xF)=20
Modified:
branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c
branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
Modified: branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c 2006-08-28 13:17:08 U=
TC (rev 1644)
+++ branches/VEX_3_2_BRANCH/priv/guest-amd64/toIR.c 2006-08-28 13:19:06 U=
TC (rev 1645)
@@ -13570,6 +13570,17 @@
delta =3D dis_mul_E_G ( pfx, sz, delta );
break;
=20
+ /* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- NOPs =3D-=3D-=3D-=3D-=3D-=3D=
-=3D-=3D-=3D-=3D-=3D-=3D */
+
+ case 0x1F:
+ if (haveF2orF3(pfx)) goto decode_failure;
+ modrm =3D getUChar(delta);
+ if (epartIsReg(modrm)) goto decode_failure;
+ addr =3D disAMode ( &alen, pfx, delta, dis_buf, 0 );
+ delta +=3D alen;
+ DIP("nop%c %s\n", nameISize(sz), dis_buf);
+ break;
+
/* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Jcond d32 -=3D-=3D-=3D-=3D=
-=3D-=3D-=3D-=3D-=3D */
case 0x80:
case 0x81:
Modified: branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-08-28 13:17:08 UTC=
(rev 1644)
+++ branches/VEX_3_2_BRANCH/priv/guest-x86/toIR.c 2006-08-28 13:19:06 UTC=
(rev 1645)
@@ -12388,6 +12388,16 @@
delta =3D dis_mul_E_G ( sorb, sz, delta );
break;
=20
+ /* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- NOPs =3D-=3D-=3D-=3D-=3D-=3D=
-=3D-=3D-=3D-=3D-=3D-=3D */
+
+ case 0x1F:
+ modrm =3D getUChar(delta);
+ if (epartIsReg(modrm)) goto decode_failure;
+ addr =3D disAMode ( &alen, sorb, delta, dis_buf );
+ delta +=3D alen;
+ DIP("nop%c %s\n", nameISize(sz), dis_buf);
+ break;
+
/* =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Jcond d32 -=3D-=3D-=3D-=3D=
-=3D-=3D-=3D-=3D-=3D */
case 0x80:
case 0x81:
|