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: http://git.osdn.net/view?a=commitdiff_plain;h=0c73705c2e808c5cfda1a195b86719e22e5ebf34;p=pf3gnuchains%2Fpf3gnuchains3x.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 2cad825453..94abdd9661 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 7d9214a76e..313ac88c1b 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)