+Fri Jun 27 19:15:27 1997 Michael Meissner <meissner@cygnus.com>
+
+ * config/tc-ppc.h (tc_fix_adjustable): Only check for GOT type
+ relocations, don't check for symbol being external, weak, etc.
+
Mon Jun 16 19:12:51 1997 Geoff Keating <geoffk@ozemail.com.au>
* config/tc-ppc.h (tc_fix_adjustable): Don't let the assembler
#endif /* OBJ_XCOFF */
#ifdef OBJ_ELF
+/* The name of the global offset table generated by the compiler. Allow
+ this to be overridden if need be. */
+#ifndef GLOBAL_OFFSET_TABLE_NAME
+#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_"
+#endif
+
/* Branch prediction relocations must force relocation */
#define TC_FORCE_RELOCATION_SECTION(FIXP,SEC) \
((FIXP)->fx_r_type == BFD_RELOC_PPC_B16_BRTAKEN \
#define tc_comment_chars ppc_comment_chars
extern const char *ppc_comment_chars;
-/* Keep relocations relative to the GOT, or non-PC relative. */
-#define tc_fix_adjustable(FIX) \
- ((FIX)->fx_r_type != BFD_RELOC_16_GOTOFF && \
- (FIX)->fx_r_type != BFD_RELOC_LO16_GOTOFF && \
- (FIX)->fx_r_type != BFD_RELOC_HI16_GOTOFF && \
- (FIX)->fx_r_type != BFD_RELOC_HI16_S_GOTOFF && \
- (FIX)->fx_r_type != BFD_RELOC_GPREL16 && \
- ! S_IS_EXTERNAL ((FIX)->fx_addsy) \
- && ! S_IS_WEAK ((FIX)->fx_addsy) \
- && ((FIX)->fx_pcrel \
- || ((FIX)->fx_subsy != NULL \
- && (S_GET_SEGMENT ((FIX)->fx_subsy) \
- == S_GET_SEGMENT ((FIX)->fx_addsy)))))
-
+/* Keep relocations relative to the GOT. */
+#define tc_fix_adjustable(FIX) \
+ ((FIX)->fx_r_type != BFD_RELOC_16_GOTOFF \
+ && (FIX)->fx_r_type != BFD_RELOC_LO16_GOTOFF \
+ && (FIX)->fx_r_type != BFD_RELOC_HI16_GOTOFF \
+ && (FIX)->fx_r_type != BFD_RELOC_HI16_S_GOTOFF \
+ && (FIX)->fx_r_type != BFD_RELOC_GPREL16)
#endif /* OBJ_ELF */
/* call md_apply_fix3 with segment instead of md_apply_fix */