From 53cb0362bf2181b1fe1611954529c3bb0649d0af Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Fri, 28 May 2004 21:33:07 +0000 Subject: * config/tc-mn10300.h (tc_fix_adjustable): Define. * config/tc-mn10300.c (mn10300_fix_adjustable): Don't adjust debug or non-merged symbols. --- gas/config/tc-mn10300.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'gas/config/tc-mn10300.c') diff --git a/gas/config/tc-mn10300.c b/gas/config/tc-mn10300.c index 36e6a05..ea5b533 100644 --- a/gas/config/tc-mn10300.c +++ b/gas/config/tc-mn10300.c @@ -2542,6 +2542,15 @@ mn10300_fix_adjustable (fixp) if (S_GET_SEGMENT (fixp->fx_addsy)->flags & SEC_CODE) return 0; + /* Likewise, do not adjust symbols that won't be merged, or debug + symbols, because they too break relaxation. We do want to adjust + other mergable symbols, like .rodata, because code relaxations + need section-relative symbols to properly relax them. */ + if (! (S_GET_SEGMENT(fixp->fx_addsy)->flags & SEC_MERGE)) + return 0; + if (strncmp (S_GET_SEGMENT (fixp->fx_addsy)->name, ".debug", 6) == 0) + return 0; + return 1; } -- cgit v1.1