diff options
author | Jan Beulich <jbeulich@novell.com> | 2007-09-26 13:40:59 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2007-09-26 13:40:59 +0000 |
commit | 9a04903eea44cbc4642f10d2a8f8db416a694737 (patch) | |
tree | cac4c7f77941510808897374bc350e58ffd8140a /gas/config/tc-i386.c | |
parent | 8977835cde2576229bb1ad01f32bb3e6279b5afe (diff) | |
download | gdb-9a04903eea44cbc4642f10d2a8f8db416a694737.zip gdb-9a04903eea44cbc4642f10d2a8f8db416a694737.tar.gz gdb-9a04903eea44cbc4642f10d2a8f8db416a694737.tar.bz2 |
gas/
2007-09-26 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (build_modrm_byte): Also check for RegEip
when considering IP-relative addressing.
gas/testsuite/
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.
* gas/i386/x86-64-addr32.s: Remove explicit addr32 prefix
for %eip-realtive addressing case.
opcodes/
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.
* i386-tbl.h: Re-generate.
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r-- | gas/config/tc-i386.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 9180adc..fd79330 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -4547,7 +4547,8 @@ build_modrm_byte (void) } } /* RIP addressing for 64bit mode. */ - else if (i.base_reg->reg_num == RegRip) + else if (i.base_reg->reg_num == RegRip || + i.base_reg->reg_num == RegEip) { i.rm.regmem = NO_BASE_REGISTER; i.types[op].bitfield.disp8 = 0; @@ -5982,7 +5983,8 @@ i386_index_check (const char *operand_string) || (i.prefix[ADDR_PREFIX] && !i.base_reg->reg_type.bitfield.reg32)) && (i.index_reg - || i.base_reg->reg_num != RegRip)) + || i.base_reg->reg_num != + (i.prefix[ADDR_PREFIX] == 0 ? RegRip : RegEip))) || (i.index_reg && (!i.index_reg->reg_type.bitfield.baseindex || (i.prefix[ADDR_PREFIX] == 0 |