diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-02-13 10:14:40 +0000 |
---|---|---|
committer | Jan Beulich <jbeulich@novell.com> | 2008-02-13 10:14:40 +0000 |
commit | a60de03c6170ebd45927e318164e2306028df86d (patch) | |
tree | 1ffc652acac063787cee604d31310ea6542f0600 /opcodes/i386-opc.h | |
parent | 36af4ef67677fb266a52888d48fd85d7f889c050 (diff) | |
download | gdb-a60de03c6170ebd45927e318164e2306028df86d.zip gdb-a60de03c6170ebd45927e318164e2306028df86d.tar.gz gdb-a60de03c6170ebd45927e318164e2306028df86d.tar.bz2 |
gas/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (allow_pseudo_reg): New.
(parse_real_register): Check for NULL just once. Allow all
register table entries when allow_pseudo_reg is non-zero.
Don't allow any registers without type when allow_pseudo_reg
is zero.
(tc_x86_regname_to_dw2regnum): Replace with ...
(tc_x86_parse_to_dw2regnum): ... this.
(tc_x86_frame_initial_instructions): Adjust for above change.
* config/tc-i386.h (tc_regname_to_dw2regnum): Remove.
(tc_parse_to_dw2regnum): New.
(tc_x86_regname_to_dw2regnum): Replace with ...
(tc_x86_parse_to_dw2regnum): ... this.
* dw2gencfi.c (tc_parse_to_dw2regnum): New, broken out of ...
(cfi_parse_reg): ... this. Use tc_parse_to_dw2regnum. Adjust
error handling.
gas/testsuite/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* gas/cfi/cfi-i386.s: Add code testing use of all registers.
Fix a few comments.
* gas/cfi/cfi-x86_64.s: Likewise.
* gas/cfi/cfi-i386.d, gas/cfi/cfi-x86_64.d: Adjust.
opcodes/
2008-02-13 Jan Beulich <jbeulich@novell.com>
* i386-gen.c (process_i386_registers): Process new fields.
* i386-opc.h (reg_entry): Shrink reg_flags and reg_num to
unsigned char. Add dw2_regnum and Dw2Inval.
* i386-reg.tbl: Provide initializers for dw2_regnum. Add pseudo
register names.
* i386-tbl.h: Re-generate.
Diffstat (limited to 'opcodes/i386-opc.h')
-rw-r--r-- | opcodes/i386-opc.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index bbf2ff8..95c315b 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -492,15 +492,17 @@ typedef struct { char *reg_name; i386_operand_type reg_type; - unsigned int reg_flags; + unsigned char reg_flags; #define RegRex 0x1 /* Extended register. */ #define RegRex64 0x2 /* Extended 8 bit register. */ - unsigned int reg_num; -#define RegRip ((unsigned int ) ~0) + unsigned char reg_num; +#define RegRip ((unsigned char ) ~0) #define RegEip (RegRip - 1) /* EIZ and RIZ are fake index registers. */ #define RegEiz (RegEip - 1) #define RegRiz (RegEiz - 1) + signed char dw2_regnum[2]; +#define Dw2Inval (-1) } reg_entry; |