aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2007-09-26 13:42:14 +0000
committerJan Beulich <jbeulich@novell.com>2007-09-26 13:42:14 +0000
commit8776771175c08d1526fd8bceec661d2dabe25dc4 (patch)
treee5dbfe4a2b2831d6a5353c3e1bcd0f53c8609866 /opcodes
parent9a04903eea44cbc4642f10d2a8f8db416a694737 (diff)
downloadfsf-binutils-gdb-8776771175c08d1526fd8bceec661d2dabe25dc4.zip
fsf-binutils-gdb-8776771175c08d1526fd8bceec661d2dabe25dc4.tar.gz
fsf-binutils-gdb-8776771175c08d1526fd8bceec661d2dabe25dc4.tar.bz2
gas/testsuite/
2007-09-26 Jan Beulich <jbeulich@novell.com> * gas/i386/x86-64-addr32.d: Adjust expectations. opcodes/ 2007-09-26 Jan Beulich <jbeulich@novell.com> * i386-dis.c (OP_E_extended): Distinguish rip- and eip- relative addressing. Update used_prefixes based on whether any base or index register was printed.
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog6
-rw-r--r--opcodes/i386-dis.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index cada410..c8e55e8 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,5 +1,11 @@
2007-09-26 Jan Beulich <jbeulich@novell.com>
+ * i386-dis.c (OP_E_extended): Distinguish rip- and eip-
+ relative addressing. Update used_prefixes based on whether any
+ base or index register was printed.
+
+2007-09-26 Jan Beulich <jbeulich@novell.com>
+
* i386-opc.h (RegEip): Define.
(RegEiz): Adjust.
* i386-reg.tbl: Add eip. Mark rip and eip with RegRex64.
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index ecb428f..e66875e 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -6390,17 +6390,20 @@ OP_E_extended (int bytemode, int sizeflag, int has_drex)
if (riprel)
{
set_op (disp, 1);
- oappend ("(%rip)");
+ oappend (sizeflag & AFLAG ? "(%rip)" : "(%eip)");
}
}
+ if (havebase || haveindex || riprel)
+ used_prefixes |= PREFIX_ADDR;
+
if (havedisp || (intel_syntax && riprel))
{
*obufp++ = open_char;
if (intel_syntax && riprel)
{
set_op (disp, 1);
- oappend ("rip");
+ oappend (sizeflag & AFLAG ? "rip" : "eip");
}
*obufp = '\0';
if (havebase)