From 8776771175c08d1526fd8bceec661d2dabe25dc4 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Wed, 26 Sep 2007 13:42:14 +0000 Subject: [PATCH] gas/testsuite/ 2007-09-26 Jan Beulich * gas/i386/x86-64-addr32.d: Adjust expectations. opcodes/ 2007-09-26 Jan Beulich * 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. --- gas/testsuite/ChangeLog | 4 ++++ gas/testsuite/gas/i386/x86-64-addr32.d | 6 +++--- opcodes/ChangeLog | 6 ++++++ opcodes/i386-dis.c | 7 +++++-- 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index fa691771b81..a84293ea75b 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2007-09-26 Jan Beulich + + * gas/i386/x86-64-addr32.d: Adjust expectations. + 2007-09-26 Jan Beulich * gas/i386/reloc64.s: Adjust for %eip-relative addressing no diff --git a/gas/testsuite/gas/i386/x86-64-addr32.d b/gas/testsuite/gas/i386/x86-64-addr32.d index c08f382553b..82b3575bc40 100644 --- a/gas/testsuite/gas/i386/x86-64-addr32.d +++ b/gas/testsuite/gas/i386/x86-64-addr32.d @@ -7,9 +7,9 @@ Disassembly of section .text: 0+000 <.text>: -[ ]*0:[ ]+67 48 8d 80 00 00 00 00[ ]+addr32[ ]+lea[ ]+0x0\(%[re]ax\),%rax.* -[ ]*8:[ ]+67 49 8d 80 00 00 00 00[ ]+addr32[ ]+lea[ ]+0x0\(%r8d?\),%rax.* -[ ]*10:[ ]+67 48 8d 05 00 00 00 00[ ]+addr32[ ]+lea[ ]+0x0\(%[re]ip\),%rax.* +[ ]*0:[ ]+67 48 8d 80 00 00 00 00[ ]+(addr32[ ]+)?lea[ ]+0x0\(%eax\),%rax.* +[ ]*8:[ ]+67 49 8d 80 00 00 00 00[ ]+(addr32[ ]+)?lea[ ]+0x0\(%r8d\),%rax.* +[ ]*10:[ ]+67 48 8d 05 00 00 00 00[ ]+(addr32[ ]+)?lea[ ]+0x0\(%eip\),%rax.* [ ]*18:[ ]+67 48 8d 04 25 00 00 00 00[ ]+addr32[ ]+lea[ ]+0x0,%rax.* [ ]*21:[ ]+67 a0 98 08 60 00[ ]+addr32[ ]+mov[ ]+0x600898,%al [ ]*27:[ ]+67 66 a1 98 08 60 00[ ]+addr32[ ]+mov[ ]+0x600898,%ax diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index cada41096fd..c8e55e8a6c2 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,9 @@ +2007-09-26 Jan Beulich + + * 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 * i386-opc.h (RegEip): Define. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index ecb428fd8fc..e66875e44c8 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) -- 2.30.2