aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <modra@gmail.com>2009-12-17 05:46:06 +0000
committerAlan Modra <modra@gmail.com>2009-12-17 05:46:06 +0000
commitb5644d629d5828ce9ecf45ea65808de9aceb4da4 (patch)
treeee8434e42d441277c61e10409d4660f2cbc09f74
parent8323208c7504b1e239e63aee5be2fb775e35e44f (diff)
downloadnewlib-github/binutils-2_20-branch.zip
newlib-github/binutils-2_20-branch.tar.gz
newlib-github/binutils-2_20-branch.tar.bz2
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/ChangeLog6
-rw-r--r--include/elf/ppc.h7
2 files changed, 9 insertions, 4 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index a33fb84..12c90e9 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-09-21 Alan Modra <amodra@bigpond.net.au>
* ppc.h (DT_PPC_TLSOPT): Define.
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. */