Lines Matching refs:FIX
25 /* The type fixS is defined (to struct fix) in write.h, but write.h uses
27 after the "right" definitions, don't; just forward-declare struct fix
29 struct fix;
62 #define TC_FORCE_RELOCATION(fix) sh_force_relocation (fix)
63 extern int sh_force_relocation (struct fix *);
70 #define SWITCH_TABLE(FIX) \
71 ((FIX)->fx_addsy != NULL \
72 && (FIX)->fx_subsy != NULL \
73 && S_GET_SEGMENT ((FIX)->fx_addsy) == text_section \
74 && S_GET_SEGMENT ((FIX)->fx_subsy) == text_section \
75 && ((FIX)->fx_r_type == BFD_RELOC_32 \
76 || (FIX)->fx_r_type == BFD_RELOC_16 \
77 || (FIX)->fx_r_type == BFD_RELOC_8))
79 #define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEC) \
80 (GENERIC_FORCE_RELOCATION_SUB_SAME (FIX, SEC) \
81 || TC_FORCE_RELOCATION (FIX) \
82 || (sh_relax && SWITCH_TABLE (FIX)))
85 #define TC_VALIDATE_FIX_SUB(FIX, SEG) \
87 && sh_relax && SWITCH_TABLE (FIX))
89 #define MD_PCREL_FROM_SECTION(FIX, SEC) md_pcrel_from_section (FIX, SEC)
92 The target is also buggy and sets fix size too large for other relocs. */
93 #define TC_FX_SIZE_SLACK(FIX) \
94 ((FIX)->fx_r_type == BFD_RELOC_SH_COUNT ? -1 : 2)
185 #define tc_fix_adjustable(FIX) sh_fix_adjustable(FIX)
186 extern bool sh_fix_adjustable (struct fix *);
189 #define MD_APPLY_SYM_VALUE(FIX) 0
201 #define TC_FORCE_RELOCATION_LOCAL(FIX) \
202 (GENERIC_FORCE_RELOCATION_LOCAL (FIX) \
203 || (FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
204 || (FIX)->fx_r_type == BFD_RELOC_32_GOT_PCREL \
205 || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC)
207 #define TC_FORCE_RELOCATION_SUB_LOCAL(FIX, SEG) \
209 || (sh_relax && SWITCH_TABLE (FIX)))
213 #define TC_FORCE_RELOCATION_SUB_ABS(FIX, SEG) \
214 ((FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
219 #define TC_VALIDATE_FIX_SUB(FIX, SEG) \
221 && ((FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
222 || (sh_relax && SWITCH_TABLE (FIX))))