Remove brokeness in PowerPC asm

This commit is contained in:
Michael Meissner 1997-06-27 23:19:15 +00:00
parent 3a8e858f24
commit d006e43527
2 changed files with 18 additions and 14 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -190,6 +190,12 @@ extern void ppc_adjust_symtab PARAMS ((void));
#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 \
@ -225,20 +231,13 @@ extern int ppc_section_flags PARAMS ((int, int, int));
#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 */