-extern int sh64_target_mach PARAMS ((void));
-
-#undef TC_RELOC_RTSYM_LOC_FIXUP
-#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \
- ((FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL \
- && (FIX)->fx_r_type != BFD_RELOC_SH_PLT_LOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_PLT_MEDLOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_PLT_MEDHI16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_PLT_HI16 \
- && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOT_LOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOT_MEDLOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOT_MEDHI16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOT_HI16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOT10BY4 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOT10BY8 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT32 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT_LOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT_MEDLOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT_MEDHI16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT_HI16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT10BY4 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPLT10BY8 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPC \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPC_LOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPC_MEDLOW16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPC_MEDHI16 \
- && (FIX)->fx_r_type != BFD_RELOC_SH_GOTPC_HI16 \
- && ((FIX)->fx_addsy == NULL \
- || (! S_IS_EXTERNAL ((FIX)->fx_addsy) \
- && ! S_IS_WEAK ((FIX)->fx_addsy) \
- && S_IS_DEFINED ((FIX)->fx_addsy) \
- && ! S_IS_COMMON ((FIX)->fx_addsy))))
+extern int sh64_target_mach (void);
+
+#undef TC_FORCE_RELOCATION_LOCAL
+#define TC_FORCE_RELOCATION_LOCAL(FIX) \
+ (!(FIX)->fx_pcrel \
+ || (FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_PLT_LOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_PLT_MEDLOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_PLT_MEDHI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_PLT_HI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_32_GOT_PCREL \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOT_LOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOT_MEDLOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOT_MEDHI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOT_HI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOT10BY4 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOT10BY8 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT32 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT_LOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT_MEDLOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT_MEDHI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT_HI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT10BY4 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPLT10BY8 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC_LOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC_MEDLOW16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC_MEDHI16 \
+ || (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC_HI16 \
+ || TC_FORCE_RELOCATION (FIX))
+
+#undef TC_FORCE_RELOCATION_SUB_SAME
+#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEC) \
+ (! SEG_NORMAL (SEC) \
+ || TC_FORCE_RELOCATION (FIX) \
+ || (sh_relax && SWITCH_TABLE (FIX)) \
+ || *symbol_get_tc ((FIX)->fx_addsy) != NULL)
+
+/* Don't complain when we leave fx_subsy around. */
+#undef TC_VALIDATE_FIX_SUB
+#define TC_VALIDATE_FIX_SUB(FIX, SEG) \
+ ((md_register_arithmetic || (SEG) != reg_section) \
+ && ((FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
+ || (sh_relax && SWITCH_TABLE (FIX)) \
+ || *symbol_get_tc ((FIX)->fx_addsy) != NULL))