From 959ee54136558b8c3441d2e7167699c6ffba401f Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 23 Sep 2000 10:06:15 +0000 Subject: * config/tc-hppa.c (hppa_fix_adjustable): Do the external and weak checks only for ELF. (hppa_force_relocation): Likewise. --- gas/ChangeLog | 6 ++++++ gas/config/tc-hppa.c | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index 1da1199..f117694 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2000-09-23 Alan Modra + + * config/tc-hppa.c (hppa_fix_adjustable): Do the external and weak + checks only for ELF. + (hppa_force_relocation): Likewise. + 2000-09-22 Jim Wilson * config/tc-ia64.c (dv_sem): Add "stop". diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index dcaae9b..54e651a 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -8310,6 +8310,10 @@ hppa_fix_adjustable (fixp) if (fixp->fx_r_type == (int) R_PARISC_GNU_VTINHERIT || fixp->fx_r_type == (int) R_PARISC_GNU_VTENTRY) return 0; + + if (fixp->fx_addsy && (S_IS_EXTERNAL (fixp->fx_addsy) + || S_IS_WEAK (fixp->fx_addsy))) + return 0; #endif /* Reject reductions of symbols in sym1-sym2 expressions when @@ -8372,10 +8376,6 @@ hppa_fix_adjustable (fixp) || hppa_fix->fx_r_field == e_lpsel) return 0; - if (fixp->fx_addsy && (S_IS_EXTERNAL (fixp->fx_addsy) - || S_IS_WEAK (fixp->fx_addsy))) - return 0; - /* Reject absolute calls (jumps). */ if (hppa_fix->fx_r_type == R_HPPA_ABS_CALL) return 0; @@ -8414,13 +8414,13 @@ hppa_force_relocation (fixp) if (fixp->fx_r_type == (int) R_PARISC_GNU_VTINHERIT || fixp->fx_r_type == (int) R_PARISC_GNU_VTENTRY) 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; +#endif /* 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 -- cgit v1.1