.reg improvements.
This commit is contained in:
parent
904a31bffc
commit
ecacdc7a62
3 changed files with 444 additions and 434 deletions
|
@ -1,5 +1,29 @@
|
||||||
2000-09-05 Alan Modra <alan@linuxcare.com.au>
|
2000-09-05 Alan Modra <alan@linuxcare.com.au>
|
||||||
|
|
||||||
|
* config/tc-hppa.c (fudge_reg_expressions): New
|
||||||
|
(hppa_force_reg_syms_absolute): New.
|
||||||
|
(pa_equ): Allow reg_section expressions.
|
||||||
|
* config/tc-hppa.c (md_optimize_expr): Define.
|
||||||
|
(hppa_force_reg_syms_absolute): Prototype.
|
||||||
|
|
||||||
|
* config/tc-hppa.c (pa_11_fp_reg_struct): Delete.
|
||||||
|
(pa_parse_number): Pass in arg to select fp reg parsing.
|
||||||
|
Return 1 to indicate format checks pass. If strict, then only
|
||||||
|
accept a register or register symbol. Return value in...
|
||||||
|
(pa_number): New static for pa_parse_number.
|
||||||
|
(FP_REG_BASE): Define.
|
||||||
|
(FP_REG_RSEL): Define.
|
||||||
|
(pre_defined_registers): Apply FP_REG_BASE and FP_REG_RSEL as
|
||||||
|
appropriate. White space changes.
|
||||||
|
(need_pa11_opcode): Don't bother passing any params, get them from
|
||||||
|
globals instead.
|
||||||
|
(pa_ip): Modify all calls to pa_parse_number and need_pa11_opcode.
|
||||||
|
Remove extraneous check in case 'Q'.
|
||||||
|
(pa_equ): Modify call to pa_parse_number to do strict parsing. If
|
||||||
|
reg, set section of resulting symbol to reg_section.
|
||||||
|
(pa_parse_space_stmt): Modify call to pa_parse_number.
|
||||||
|
(pa_space): Likewise.
|
||||||
|
|
||||||
* config/tc-hppa.c: (md_apply_fix): Handle vtable relocs.
|
* config/tc-hppa.c: (md_apply_fix): Handle vtable relocs.
|
||||||
(hppa_force_relocation): Handle vtable relocs.
|
(hppa_force_relocation): Handle vtable relocs.
|
||||||
(pa_vtable_entry): New.
|
(pa_vtable_entry): New.
|
||||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -176,6 +176,13 @@ void pa_end_of_source PARAMS ((void));
|
||||||
|
|
||||||
#define md_operand(x)
|
#define md_operand(x)
|
||||||
|
|
||||||
|
/* Allow register expressions to be treated as absolute expressions.
|
||||||
|
A silly fudge required for backwards compatibility. */
|
||||||
|
#define md_optimize_expr hppa_force_reg_syms_absolute
|
||||||
|
|
||||||
|
int hppa_force_reg_syms_absolute
|
||||||
|
PARAMS ((expressionS *, operatorT, expressionS *));
|
||||||
|
|
||||||
#define TC_FIX_TYPE PTR
|
#define TC_FIX_TYPE PTR
|
||||||
#define TC_INIT_FIX_DATA(FIXP) ((FIXP)->tc_fix_data = NULL)
|
#define TC_INIT_FIX_DATA(FIXP) ((FIXP)->tc_fix_data = NULL)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue