diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2007-09-18 00:56:54 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2007-09-18 00:56:54 +0000 |
commit | 20e192ab8df5502cd405ffd7fe5161985b8a2373 (patch) | |
tree | 180111f0d0c494e969ed6a5adedc769f6df0442a /gas | |
parent | b10a8ae01c27969e5104f76209272fb457c1e20b (diff) | |
download | gdb-20e192ab8df5502cd405ffd7fe5161985b8a2373.zip gdb-20e192ab8df5502cd405ffd7fe5161985b8a2373.tar.gz gdb-20e192ab8df5502cd405ffd7fe5161985b8a2373.tar.bz2 |
gas/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (baseindex): Removed.
(build_modrm_byte): Check reg_num for RIP register instead of
reg_type.
(i386_index_check): Likewise.
opcodes/
2007-09-17 H.J. Lu <hongjiu.lu@intel.com>
* i386-opc.h (RegRip): New.
* i386-reg.tbl (rip): Use RegRip for reg_num.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 5 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index c62639e..81b5fdc 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,12 @@ 2007-09-17 H.J. Lu <hongjiu.lu@intel.com> + * config/tc-i386.c (baseindex): Removed. + (build_modrm_byte): Check reg_num for RIP register instead of + reg_type. + (i386_index_check): Likewise. + +2007-09-17 H.J. Lu <hongjiu.lu@intel.com> + PR gas/5035 * config/obj-coff.c (obj_coff_endef): Remove checking size of def_symbol_in_progress. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 5453a00..17bde04 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -1098,7 +1098,6 @@ static const i386_operand_type disp32s = OPERAND_TYPE_DISP32S; static const i386_operand_type disp16_32 = OPERAND_TYPE_DISP16_32; static const i386_operand_type anydisp = OPERAND_TYPE_ANYDISP; -static const i386_operand_type baseindex = OPERAND_TYPE_BASEINDEX; static const i386_operand_type regxmm = OPERAND_TYPE_REGXMM; static const i386_operand_type imm8 = OPERAND_TYPE_IMM8; static const i386_operand_type imm8s = OPERAND_TYPE_IMM8S; @@ -4541,7 +4540,7 @@ build_modrm_byte (void) } } /* RIP addressing for 64bit mode. */ - else if (UINTS_EQUAL (i.base_reg->reg_type, baseindex)) + else if (i.base_reg->reg_num == RegRip) { i.rm.regmem = NO_BASE_REGISTER; i.types[op].bitfield.disp8 = 0; @@ -5977,7 +5976,7 @@ i386_index_check (const char *operand_string) || (i.prefix[ADDR_PREFIX] && !i.base_reg->reg_type.bitfield.reg32)) && (i.index_reg - || !UINTS_EQUAL (i.base_reg->reg_type, baseindex))) + || i.base_reg->reg_num != RegRip)) || (i.index_reg && (!i.index_reg->reg_type.bitfield.baseindex || (i.prefix[ADDR_PREFIX] == 0 |