* write.c (adjust_reloc_syms): Don't reduce a reloc against a
linkonce section into a reloc against the section symbol.
This commit is contained in:
parent
6270adfb59
commit
54815b9a08
|
@ -1,5 +1,8 @@
|
||||||
Fri Dec 13 13:00:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
Fri Dec 13 13:00:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* write.c (adjust_reloc_syms): Don't reduce a reloc against a
|
||||||
|
linkonce section into a reloc against the section symbol.
|
||||||
|
|
||||||
* config/tc-mips.c (mips16_macro): Remove nop instructions after
|
* config/tc-mips.c (mips16_macro): Remove nop instructions after
|
||||||
branch instructions.
|
branch instructions.
|
||||||
|
|
||||||
|
|
18
gas/write.c
18
gas/write.c
|
@ -718,6 +718,24 @@ adjust_reloc_syms (abfd, sec, xxx)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef BFD_ASSEMBLER
|
||||||
|
/* Don't try to reduce relocs which refer to .linkonce
|
||||||
|
sections. It can lead to confusion when a debugging
|
||||||
|
section refers to a .linkonce section. I hope this will
|
||||||
|
always be correct. */
|
||||||
|
if (symsec != sec
|
||||||
|
&& ((bfd_get_section_flags (stdoutput, symsec) & SEC_LINK_ONCE)
|
||||||
|
!= 0))
|
||||||
|
{
|
||||||
|
fixp->fx_addsy->sy_used_in_reloc = 1;
|
||||||
|
#ifdef UNDEFINED_DIFFERENCE_OK
|
||||||
|
if (fixp->fx_subsy != NULL)
|
||||||
|
fixp->fx_subsy->sy_used_in_reloc = 1;
|
||||||
|
#endif
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Since we're reducing to section symbols, don't attempt to reduce
|
/* Since we're reducing to section symbols, don't attempt to reduce
|
||||||
anything that's already using one. */
|
anything that's already using one. */
|
||||||
if (sym->bsym->flags & BSF_SECTION_SYM)
|
if (sym->bsym->flags & BSF_SECTION_SYM)
|
||||||
|
|
Loading…
Reference in New Issue