[PATCH, committed] PR binutis/20699: Check addr32flag instead of sizeflag for rip/eip
H.J. Lu
hongjiu.lu@intel.com
Tue Oct 18 16:10:00 GMT 2016
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.
---
opcodes/ChangeLog | 6 ++++++
opcodes/i386-dis.c | 4 ++--
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 2b93ed2..36ed580 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,11 @@
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
* i386-dis.c (three_byte_table): Remove the remaining SSE5 support.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index cd1321f..4624a6a 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -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)
--
2.7.4
More information about the Binutils
mailing list