From: Joern Rennecke Date: Tue, 9 Apr 2002 16:48:03 +0000 (+0000) Subject: * config/tc-sh.h (TC_FIX_ADJUSTABLE): Disable adjusting if X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5bcd00a60aef50165fe80e709b9ddfaea87ffaaa;p=binutils-gdb.git * config/tc-sh.h (TC_FIX_ADJUSTABLE): Disable adjusting if symbol_used_in_reloc_p is true. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 2cad825453b..94abdd96612 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,4 +1,7 @@ -Tue Apr 9 15:17:53 2002 J"orn Rennecke +Tue Apr 9 16:45:48 2002 J"orn Rennecke + + * config/tc-sh.h (TC_FIX_ADJUSTABLE): Disable adjusting if + symbol_used_in_reloc_p is true. * config/tc-sh.c (md_apply_fix3): Don't zero relocations on big endian hosts. diff --git a/gas/config/tc-sh.h b/gas/config/tc-sh.h index 7d9214a76ec..313ac88c1b0 100644 --- a/gas/config/tc-sh.h +++ b/gas/config/tc-sh.h @@ -68,7 +68,12 @@ extern boolean sh_fix_adjustable PARAMS ((struct fix *)); /* This arranges for gas/write.c to not apply a relocation if obj_fix_adjustable() says it is not adjustable. */ -#define TC_FIX_ADJUSTABLE(fixP) obj_fix_adjustable (fixP) +/* ??? fixups with symbols in SEC_MERGE sections are marked with + obj_fix_adjustable and have a non-section symbol, as in + "vwxyz"+1 in execute/string-opt-6.c . Maybe the test of + (symbol_used_in_reloc_p should be done in the machine-independent code. */ +#define TC_FIX_ADJUSTABLE(fixP) \ + (! symbol_used_in_reloc_p (fixP->fx_addsy) && obj_fix_adjustable (fixP)) #endif #define MD_PCREL_FROM_SECTION(FIXP, SEC) md_pcrel_from_section (FIXP, SEC)