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.
This commit is contained in:
Alan Modra
2013-10-29 16:34:35 +10:30
parent a078d95abc
commit e8910a83af
8 changed files with 44 additions and 11 deletions

View File

@@ -1575,7 +1575,7 @@ get_ppc_dynamic_type (unsigned long type)
switch (type)
{
case DT_PPC_GOT: return "PPC_GOT";
case DT_PPC_TLSOPT: return "PPC_TLSOPT";
case DT_PPC_OPT: return "PPC_OPT";
default:
return NULL;
}
@@ -1589,7 +1589,7 @@ get_ppc64_dynamic_type (unsigned long type)
case DT_PPC64_GLINK: return "PPC64_GLINK";
case DT_PPC64_OPD: return "PPC64_OPD";
case DT_PPC64_OPDSZ: return "PPC64_OPDSZ";
case DT_PPC64_TLSOPT: return "PPC64_TLSOPT";
case DT_PPC64_OPT: return "PPC64_OPT";
default:
return NULL;
}