* config/tc-hppa.h (TC_FORCE_RELOCATION_SECTION): For ELF, allow
subtraction of two syms without emitting a relocation. * config/tc-hppa.c (hppa_force_relocation): Force relocations for global or weak symbols.
This commit is contained in:
parent
25f7275229
commit
9e75421134
3 changed files with 20 additions and 1 deletions
|
@ -1,3 +1,12 @@
|
|||
2000-09-18 Alan Modra <alan@linuxcare.com.au>
|
||||
|
||||
* config/tc-hppa.h (TC_FORCE_RELOCATION_SECTION): Allow
|
||||
subtraction of two syms without emitting a relocation.
|
||||
|
||||
From David Huggins-Daines <dhd@linuxcare.com>
|
||||
* config/tc-hppa.c (hppa_force_relocation): Force relocations for
|
||||
global or weak symbols.
|
||||
|
||||
2000-09-15 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* config/tc-h8300.h: Fix formatting.
|
||||
|
|
|
@ -8416,9 +8416,15 @@ hppa_force_relocation (fixp)
|
|||
return 1;
|
||||
#endif
|
||||
|
||||
/* Ensure we emit a relocation for global symbols so that dynamic
|
||||
linking works. */
|
||||
if (fixp->fx_addsy && (S_IS_EXTERNAL (fixp->fx_addsy)
|
||||
|| S_IS_WEAK (fixp->fx_addsy)))
|
||||
return 1;
|
||||
|
||||
/* It is necessary to force PC-relative calls/jumps to have a relocation
|
||||
entry if they're going to need either a argument relocation or long
|
||||
call stub. FIXME. Can't we need the same for absolute calls? */
|
||||
call stub. */
|
||||
if (fixp->fx_pcrel && fixp->fx_addsy
|
||||
&& (arg_reloc_stub_needed (symbol_arg_reloc_info (fixp->fx_addsy),
|
||||
hppa_fixp->fx_arg_reloc)))
|
||||
|
|
|
@ -145,6 +145,10 @@ int hppa_fix_adjustable PARAMS((struct fix *));
|
|||
#endif
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
/* It's OK to subtract two symbols in the same section without
|
||||
emitting a relocation. */
|
||||
#define TC_FORCE_RELOCATION_SECTION(FIXP, SEC) 0
|
||||
|
||||
/* Handle .type psuedo. Given a type string of `millicode', set the
|
||||
internal elf symbol type to STT_PARISC_MILLI, and return
|
||||
BSF_FUNCTION for the BFD symbol type. */
|
||||
|
|
Loading…
Reference in a new issue