diff options
author | Jan Beulich <jbeulich@novell.com> | 2007-09-26 13:42:14 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2007-09-26 13:42:14 +0000 |
commit | 8776771175c08d1526fd8bceec661d2dabe25dc4 (patch) | |
tree | e5dbfe4a2b2831d6a5353c3e1bcd0f53c8609866 | |
parent | 9a04903eea44cbc4642f10d2a8f8db416a694737 (diff) | |
download | gdb-8776771175c08d1526fd8bceec661d2dabe25dc4.zip gdb-8776771175c08d1526fd8bceec661d2dabe25dc4.tar.gz 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.
-rw-r--r-- | gas/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/i386/x86-64-addr32.d | 6 | ||||
-rw-r--r-- | opcodes/ChangeLog | 6 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 7 |
4 files changed, 18 insertions, 5 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index fa69177..a84293e 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,5 +1,9 @@ 2007-09-26 Jan Beulich <jbeulich@novell.com> + * gas/i386/x86-64-addr32.d: Adjust expectations. + +2007-09-26 Jan Beulich <jbeulich@novell.com> + * gas/i386/reloc64.s: Adjust for %eip-relative addressing no longer generating errors. * gas/i386/reloc64.d, gas/i386/reloc64.l: Update. diff --git a/gas/testsuite/gas/i386/x86-64-addr32.d b/gas/testsuite/gas/i386/x86-64-addr32.d index c08f382..82b3575 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 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) |