subtraction of two syms without emitting a relocation.
* config/tc-hppa.c (hppa_force_relocation): Force relocations for
global or weak symbols.
+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.
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)))
#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. */