diff options
author | Alan Modra <modra@gmail.com> | 2009-12-17 05:45:25 +0000 |
---|---|---|
committer | Alan Modra <modra@gmail.com> | 2009-12-17 05:45:25 +0000 |
commit | 6681dfdc8c76a66fe80c6f55aafd3ce4d7599083 (patch) | |
tree | 9025c12f08260baadba89552728328e3b3b3eaf3 | |
parent | 377b190270269d05271ecc54c3f55ab2113fdabe (diff) | |
download | newlib-6681dfdc8c76a66fe80c6f55aafd3ce4d7599083.zip newlib-6681dfdc8c76a66fe80c6f55aafd3ce4d7599083.tar.gz newlib-6681dfdc8c76a66fe80c6f55aafd3ce4d7599083.tar.bz2 |
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.
-rw-r--r-- | include/elf/ChangeLog | 6 | ||||
-rw-r--r-- | include/elf/ppc.h | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index fa34334..2befe57 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,9 @@ +2009-12-17 Alan Modra <amodra@bigpond.net.au> + + * 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. + 2009-11-28 Joseph Myers <joseph@codesourcery.com> * common.h (ELFOSABI_FENIXOS, EM_TI_C6000, EM_TI_C2000, diff --git a/include/elf/ppc.h b/include/elf/ppc.h index e2de0ad..a77c833 100644 --- a/include/elf/ppc.h +++ b/include/elf/ppc.h @@ -73,10 +73,9 @@ START_RELOC_NUMBERS (elf_ppc_reloc_type) #ifndef RELOC_MACROS_GEN_FUNC /* Fake relocations for branch stubs, only used internally by ld. */ - RELOC_NUMBER (R_PPC_RELAX32, 48) - RELOC_NUMBER (R_PPC_RELAX32PC, 49) - RELOC_NUMBER (R_PPC_RELAX32_PLT, 50) - RELOC_NUMBER (R_PPC_RELAX32PC_PLT, 51) + RELOC_NUMBER (R_PPC_RELAX, 48) + RELOC_NUMBER (R_PPC_RELAX_PLT, 49) + RELOC_NUMBER (R_PPC_RELAX_PLTREL24, 50) #endif /* Relocs added to support TLS. */ |