* config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as

well as S_IS_EXTERNAL.
	(tc_fix_adjustable): Likewise.
	* config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
	S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
	early.
	(tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
	deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
This commit is contained in:
Ian Lance Taylor 1996-02-19 19:29:17 +00:00
parent 7b61165adc
commit 21965655ed
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,14 @@
Mon Feb 19 14:16:24 1996 Ian Lance Taylor <ian@cygnus.com>
* config/tc-sparc.h (TC_RELOC_RTSYM_LOC_FIXUP): Check S_IS_WEAK as
well as S_IS_EXTERNAL.
(tc_fix_adjustable): Likewise.
* config/tc-sparc.c (md_apply_fix): In OBJ_ELF case, check for
S_IS_WEAK as well as S_IS_EXTERNAL when deciding whether to return
early.
(tc_gen_reloc): Check S_IS_WEAK as wel as S_IS_EXTERNAL when
deciding whether to convert BFD_RELOC_32_PCREL_S2 if PIC.
Mon Feb 19 02:15:57 1996 Doug Evans <dje@charmed.cygnus.com>
* config/tc-sparc.c (max_architecture): Change to sparclite for

View File

@ -1956,7 +1956,8 @@ md_apply_fix (fixP, value)
don't want to include the value of an externally visible symbol. */
if (fixP->fx_addsy != NULL)
{
if ((S_IS_EXTERN (fixP->fx_addsy)
if ((S_IS_EXTERNAL (fixP->fx_addsy)
|| S_IS_WEAK (fixP->fx_addsy)
|| (sparc_pic_code && ! fixP->fx_pcrel))
&& S_GET_SEGMENT (fixP->fx_addsy) != absolute_section
&& S_GET_SEGMENT (fixP->fx_addsy) != undefined_section
@ -2216,7 +2217,8 @@ tc_gen_reloc (section, fixp)
{
case BFD_RELOC_32_PCREL_S2:
if (! S_IS_DEFINED (fixp->fx_addsy)
|| S_IS_EXTERNAL (fixp->fx_addsy))
|| S_IS_EXTERNAL (fixp->fx_addsy)
|| S_IS_WEAK (fixp->fx_addsy))
code = BFD_RELOC_SPARC_WPLT30;
break;
case BFD_RELOC_HI22: