aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2007-09-26 13:40:59 +0000
committerJan Beulich <jbeulich@novell.com>2007-09-26 13:40:59 +0000
commit9a04903eea44cbc4642f10d2a8f8db416a694737 (patch)
treecac4c7f77941510808897374bc350e58ffd8140a /gas/config
parent8977835cde2576229bb1ad01f32bb3e6279b5afe (diff)
downloadgdb-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')
-rw-r--r--gas/config/tc-i386.c6
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