OSDN Git Service

PR ld/11088
authoramodra <amodra>
Thu, 17 Dec 2009 14:45:25 +0000 (14:45 +0000)
committeramodra <amodra>
Thu, 17 Dec 2009 14:45:25 +0000 (14:45 +0000)
commitb10c18a763c323ffc5d680e32656bab1a5c50b94
tree2412c47af084f8c71815630459e63471af3d39ef
parent60ff8a5ea11fdd26b2fd68aa04c123d0535aafae
PR ld/11088
include/elf/
* ppc.h (R_PPC_RELAX32, R_PPC_RELAX32PC, R_PPC_RELAX32_PLT,
R_PPC_RELAX32PC_PLT): Delete.
(R_PPC_RELAX, R_PPC_RELAX_PLT, R_PPC_RELAX_PLTREL24): Define.
bfd/
* elf32-ppc.c (update_plt_info): Clear sec here when addend is
less than 32768..
(ppc_elf_check_relocs): ..rather than doing so here.  Ignore new
relax relocs.
(ppc_elf_gc_sweep_hook): Don't segfault when symbol hiding has
removed plt_entry records.
(ppc_elf_tls_setup): Handle PIE calls to __tls_get_addr correctly.
(ppc_elf_tls_optimize): Likewise.  Also dec __tls_get_addr refcount
when optimizing code using new tlsgd and tlsld marker relocs.
(ppc_elf_relax_section): Differentiate relaxed PLTREL24 relocs
from ADDR24 relocs using plt or glink.  Don't clear the addend
for R_PPC_RELAX_PLTREL24.
(ppc_elf_relocate_section): Correctly handle addends on relaxed
PLTREL24 relocs.
bfd/ChangeLog
bfd/elf32-ppc.c
include/elf/ChangeLog
include/elf/ppc.h