diff options
author | Bob Wilson <bob.wilson@acm.org> | 2005-03-17 21:49:47 +0000 |
---|---|---|
committer | Bob Wilson <bob.wilson@acm.org> | 2005-03-17 21:49:47 +0000 |
commit | 30f725a1cfc586c6d5aed63218e9a3b378848bc5 (patch) | |
tree | a3ebb1ade5cf44c2fa20bcf6a4fa12576ad686e0 /gas/config/tc-xtensa.h | |
parent | 06648491d7c95ff1100c347d526f6ae76a14c9e5 (diff) | |
download | gdb-30f725a1cfc586c6d5aed63218e9a3b378848bc5.zip gdb-30f725a1cfc586c6d5aed63218e9a3b378848bc5.tar.gz gdb-30f725a1cfc586c6d5aed63218e9a3b378848bc5.tar.bz2 |
* config/tc-xtensa.c (xg_apply_tentative_value): Rename to
xg_apply_fix_value and return a value to indicate success.
(md_pcrel_from): Skip check of fx_done. Return 0 if not PC-relative.
(xtensa_force_relocation): Remove checks for VTABLE relocs.
(xtensa_validate_fix_sub): New.
(xtensa_fix_adjustable): Remove check for external or weak symbols.
(tc_gen_reloc): Move code to handle difference of symbols and code to
apply tentative fix values to ...
(md_apply_fix3): ...here. Enable standard overflow checks for simple
8, 16, and 32 bit relocations. Apply fixes for slot-specific
relocations when linkrelax flag is not set.
* config/tc-xtensa.h (xtensa_validate_fix_sub): Add prototype.
(TC_FORCE_RELOCATION_SUB_SAME, TC_VALIDATE_FIX_SUB): Define.
Diffstat (limited to 'gas/config/tc-xtensa.h')
-rw-r--r-- | gas/config/tc-xtensa.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gas/config/tc-xtensa.h b/gas/config/tc-xtensa.h index 4743617..e38fa6c 100644 --- a/gas/config/tc-xtensa.h +++ b/gas/config/tc-xtensa.h @@ -291,6 +291,7 @@ extern const char *xtensa_target_format (void); extern void xtensa_init_fix_data (struct fix *); extern void xtensa_frag_init (fragS *); extern int xtensa_force_relocation (struct fix *); +extern int xtensa_validate_fix_sub (struct fix *); extern void xtensa_frob_label (struct symbol *); extern void xtensa_end (void); extern void xtensa_post_relax_hook (void); @@ -314,6 +315,9 @@ extern char *xtensa_section_rename (char *); #define TC_FRAG_TYPE struct xtensa_frag_type #define TC_FRAG_INIT(frag) xtensa_frag_init (frag) #define TC_FORCE_RELOCATION(fix) xtensa_force_relocation (fix) +#define TC_FORCE_RELOCATION_SUB_SAME(fix, seg) \ + (! SEG_NORMAL (seg) || xtensa_force_relocation (fix)) +#define TC_VALIDATE_FIX_SUB(fix) xtensa_validate_fix_sub (fix) #define NO_PSEUDO_DOT xtensa_check_inside_bundle () #define tc_canonicalize_symbol_name(s) xtensa_section_rename (s) #define tc_canonicalize_section_name(s) xtensa_section_rename (s) |