/* This file is tc-sh.h
- Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
- Free Software Foundation, Inc.
+ Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+ 2003 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
|| (FIX)->fx_r_type == BFD_RELOC_8 \
|| SWITCH_TABLE_CONS (FIX)))
-#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEG) \
- (! SEG_NORMAL (SEG) \
+#define TC_FORCE_RELOCATION_SUB_SAME(FIX, SEC) \
+ (! SEG_NORMAL (SEC) \
+ || TC_FORCE_RELOCATION (FIX) \
|| (sh_relax && SWITCH_TABLE (FIX)))
/* Don't complain when we leave fx_subsy around. */
#define LISTING_HEADER \
(!target_big_endian \
- ? "Hitachi Super-H GAS Little Endian" : "Hitachi Super-H GAS Big Endian")
+ ? "Renesas Super-H GAS Little Endian" : "Renesas Super-H GAS Big Endian")
#define md_operand(x)
#define DO_NOT_STRIP 0
-/* This macro translates between an internal fix and an coff reloc type */
+/* This macro translates between an internal fix and a coff reloc type. */
#define TC_COFF_FIX2RTYPE(fix) ((fix)->fx_r_type)
#define BFD_ARCH TARGET_ARCH
#define TC_RELOC_GLOBAL_OFFSET_TABLE BFD_RELOC_SH_GOTPC
#define tc_fix_adjustable(FIX) sh_fix_adjustable(FIX)
-extern boolean sh_fix_adjustable PARAMS ((struct fix *));
+extern bfd_boolean sh_fix_adjustable PARAMS ((struct fix *));
/* Values passed to md_apply_fix3 don't include symbol values. */
#define MD_APPLY_SYM_VALUE(FIX) 0
|| (FIX)->fx_r_type == BFD_RELOC_SH_GOTPC \
|| TC_FORCE_RELOCATION (FIX))
+#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX) (sh_relax && SWITCH_TABLE (FIX))
+
/* This keeps the subtracted symbol around, for use by PLT_PCREL
relocs. */
#define TC_FORCE_RELOCATION_SUB_ABS(FIX) \
- ((FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL \
- || S_FORCE_RELOC ((FIX)->fx_subsy))
+ ((FIX)->fx_r_type == BFD_RELOC_32_PLT_PCREL)
/* Don't complain when we leave fx_subsy around. */
#undef TC_VALIDATE_FIX_SUB