Check addr32flag instead of sizeflag for rip/eip

Since the address size prefix, 0x67, is ignored for MPX instructions in
64-bit mode, we should check addr32flag instead of sizeflag for rip/eip.

	PR binutis/20699
	* i386-dis.c (OP_E_memory): Check addr32flag instead of sizeflag
	for rip/eip.
This commit is contained in:
H.J. Lu 2016-10-18 09:06:27 -07:00
parent da8d7d6655
commit 285963233b
2 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2016-10-18 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/20699
* i386-dis.c (OP_E_memory): Check addr32flag in stead of
sizeflag.
2016-10-18 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/20704

View File

@ -15523,7 +15523,7 @@ OP_E_memory (int bytemode, int sizeflag)
if (riprel)
{
set_op (disp, 1);
oappend (sizeflag & AFLAG ? "(%rip)" : "(%eip)");
oappend (!addr32flag ? "(%rip)" : "(%eip)");
}
}
@ -15538,7 +15538,7 @@ OP_E_memory (int bytemode, int sizeflag)
if (intel_syntax && riprel)
{
set_op (disp, 1);
oappend (sizeflag & AFLAG ? "rip" : "eip");
oappend (!addr32flag ? "rip" : "eip");
}
*obufp = '\0';
if (havebase)