aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2013-10-29 16:34:35 +1030
committerAlan Modra <amodra@gmail.com>2013-10-30 13:43:32 +1030
commite8910a83af41c3dbfd00191b2720d4094f8d9532 (patch)
tree2d8dd9e11eece62255af6ffe3a70244b0cf91615 /include
parenta078d95abc554b6c2572fcab5550591639b1c871 (diff)
downloadgdb-e8910a83af41c3dbfd00191b2720d4094f8d9532.zip
gdb-e8910a83af41c3dbfd00191b2720d4094f8d9532.tar.gz
gdb-e8910a83af41c3dbfd00191b2720d4094f8d9532.tar.bz2
Replace DT_PPC_TLSOPT with DT_PPC_OPT.
This removes the DT_PPC_TLSOPT/DT_PPC64_TLSOPT dynamic tag and replaces it with DT_PPC_OPT/DT_PPC64_OPT tag to provide the same functionality and more. This isn't backwards compatible, but the TLSOPT tag hasn't been used since the tls optimisation support was never submitted to glibc. /include/elf/ * ppc.h (DT_PPC_TLSOPT): Delete. (DT_PPC_OPT, PPC_OPT_TLS): Define. * ppc64.h (DT_PPC64_TLSOPT): Delete. (DT_PPC64_OPT, PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC): Define. bfd/ * elf32-ppc.c (ppc_elf_size_dynamic_sections): Use new DT_PPC_OPT tag to specify tls optimisation. * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Likewise. (ppc64_elf_finish_dynamic_sections): Specify whether multiple toc pointers are used via DT_PPC64_OPT. binutils/ * readelf.c (get_ppc_dynamic_type): Replace PPC_TLSOPT with PPC_OPT. (get_ppc64_dynamic_type): Replace PPC64_TLSOPT with PPC64_OPT.
Diffstat (limited to 'include')
-rw-r--r--include/elf/ChangeLog7
-rw-r--r--include/elf/ppc.h3
-rw-r--r--include/elf/ppc64.h6
3 files changed, 13 insertions, 3 deletions
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index 7e98ddb..68b1002 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,5 +1,12 @@
2013-10-30 Alan Modra <amodra@gmail.com>
+ * ppc.h (DT_PPC_TLSOPT): Delete.
+ (DT_PPC_OPT, PPC_OPT_TLS): Define.
+ * ppc64.h (DT_PPC64_TLSOPT): Delete.
+ (DT_PPC64_OPT, PPC64_OPT_TLS, PPC64_OPT_MULTI_TOC): Define.
+
+2013-10-30 Alan Modra <amodra@gmail.com>
+
* ppc64.h (STO_PPC64_LOCAL_BIT, STO_PPC64_LOCAL_MASK): Define.
(ppc64_decode_local_entry, ppc64_encode_local_entry): New functions.
(PPC64_LOCAL_ENTRY_OFFSET, PPC64_SET_LOCAL_ENTRY_OFFSET): Define.
diff --git a/include/elf/ppc.h b/include/elf/ppc.h
index f80a1e8..da00df8 100644
--- a/include/elf/ppc.h
+++ b/include/elf/ppc.h
@@ -176,7 +176,8 @@ END_RELOC_NUMBERS (R_PPC_max)
#define DT_PPC_GOT (DT_LOPROC)
/* Specify that tls descriptors should be optimized. */
-#define DT_PPC_TLSOPT (DT_LOPROC + 1)
+#define DT_PPC_OPT (DT_LOPROC + 1)
+#define PPC_OPT_TLS 1
/* Processor specific flags for the ELF header e_flags field. */
diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h
index d3cfdfb..78d947b 100644
--- a/include/elf/ppc64.h
+++ b/include/elf/ppc64.h
@@ -234,7 +234,9 @@ ppc64_encode_local_entry(unsigned int val)
#define DT_PPC64_OPD (DT_LOPROC + 1)
#define DT_PPC64_OPDSZ (DT_LOPROC + 2)
-/* Specify that tls descriptors should be optimized. */
-#define DT_PPC64_TLSOPT (DT_LOPROC + 3)
+/* Specify whether various optimisations are possible. */
+#define DT_PPC64_OPT (DT_LOPROC + 3)
+#define PPC64_OPT_TLS 1
+#define PPC64_OPT_MULTI_TOC 2
#endif /* _ELF_PPC64_H */