binutils-gdb/ld/testsuite/ld-powerpc
Alan Modra 727fc41e07 include/elf/
* ppc.h (R_PPC_TLSGD, R_PPC_TLSLD): Add new relocs.
	* ppc64.h (R_PPC64_TLSGD, R_PPC64_TLSLD): Add new relocs.
bfd/
	* reloc.c (BFD_RELOC_PPC_TLSGD, BFD_RELOC_PPC_TLSLD): New.
	* section.c (struct bfd_section): Add has_tls_get_addr_call.
	(BFD_FAKE_SECTION): Init new flag.
	* ecoff.c (bfd_debug_section): Likewise.
	* bfd-in2.h: Regenerate.
	* libbfd.h: Regenerate.
	* elf32-ppc.c (ppc_elf_howto_raw): Add R_PPC_TLSGD and R_PPC_TLSLD.
	(ppc_elf_reloc_type_lookup): Handle new relocs.
	(ppc_elf_check_relocs): Set has_tls_get_addr_call on finding such
	without marker relocs.
	(ppc_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
	if section has no old-style calls.
	(ppc_elf_relocate_section): Set tls_mask for non-tls relocs too.
	Don't try to optimize new-style __tls_get_addr call when handling
	arg setup relocs.  Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
	relocs.
	* elf64-ppc.c (ppc64_elf_howto_raw): Add R_PPC64_TLSGD, R_PPC64_TLSLD.
	(ppc64_elf_reloc_type_lookup): Handle new relocs.
	(ppc64_elf_check_relocs): Set has_tls_get_addr_call on finding such
	without marker relocs.
	(ppc64_elf_tls_optimize): Allow out-of-order __tls_get_addr relocs
	if section has no old-style calls.  Set toc_ref for new relocs as
	appropriate.
	(ppc64_elf_relocate_section): Set tls_mask for non-tls relocs too.
	Don't try to optimize new-style __tls_get_addr call when handling
	arg setup relocs.  Instead do so for R_PPC_TLSGD and R_PPC_TLSLD
	relocs.
gas/
	* config/tc-ppc.c (ppc_elf_suffix): Error if ppc32 tls got relocs
	have non-zero addend.
	(md_assemble): Parse args of __tls_get_addr calls.
	(md_apply_fix): Handle BFD_RELOC_PPC_TLSGD and BFD_RELOC_PPC_TLSLD.
ld/testsuite/
	* ld-powerpc/tlsmark.s, * ld-powerpc/tlsmark.d: New test.
	* ld-powerpc/tlsmark32.s, * ld-powerpc/tlsmark32.d: New test.
	* ld-powerpc/powerpc.exp: Run them.
2009-03-04 05:50:50 +00:00
..
apuinfo1.s
apuinfo2.s
apuinfo.rd
attr-gnu-4-0.s
attr-gnu-4-1.s
attr-gnu-4-2.s
attr-gnu-4-3.s
attr-gnu-4-4.s Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-00.d
attr-gnu-4-01.d
attr-gnu-4-02.d
attr-gnu-4-03.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-10.d
attr-gnu-4-11.d
attr-gnu-4-12.d
attr-gnu-4-13.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-14.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-20.d
attr-gnu-4-21.d
attr-gnu-4-22.d
attr-gnu-4-23.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-24.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-31.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-32.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-33.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-34.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-4-41.d Support PowerPC single-precision float. 2008-07-26 13:10:48 +00:00
attr-gnu-8-1.s * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for 2007-10-25 15:20:24 +00:00
attr-gnu-8-2.s * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for 2007-10-25 15:20:24 +00:00
attr-gnu-8-3.s * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for 2007-10-25 15:20:24 +00:00
attr-gnu-8-11.d * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for 2007-10-25 15:20:24 +00:00
attr-gnu-8-23.d * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for 2007-10-25 15:20:24 +00:00
attr-gnu-8-31.d * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for 2007-10-25 15:20:24 +00:00
attr-gnu-12-1.s include/elf/ 2008-10-10 20:55:36 +00:00
attr-gnu-12-2.s include/elf/ 2008-10-10 20:55:36 +00:00
attr-gnu-12-11.d include/elf/ 2008-10-10 20:55:36 +00:00
attr-gnu-12-21.d include/elf/ 2008-10-10 20:55:36 +00:00
plt1.d
plt1.s
powerpc.exp include/elf/ 2009-03-04 05:50:50 +00:00
relbrlt.d bfd/ 2008-03-01 06:52:52 +00:00
relbrlt.s bfd/ 2007-08-13 00:20:59 +00:00
reloc.d
reloc.s
sdadyn.d
sdadyn.s
sdalib.s
symtocbase-1.s
symtocbase-2.s
symtocbase.d
tls32.d
tls32.g
tls32.s
tls32.t
tls.d
tls.g
tls.s
tls.t
tlsexe32.d
tlsexe32.g
tlsexe32.r 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
tlsexe32.t
tlsexe.d bfd/ 2007-08-13 00:20:59 +00:00
tlsexe.g bfd/ 2007-08-13 00:20:59 +00:00
tlsexe.r 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
tlsexe.t
tlsexetoc.d bfd/ 2007-08-13 00:20:59 +00:00
tlsexetoc.g bfd/ 2007-08-13 00:20:59 +00:00
tlsexetoc.r 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
tlsexetoc.t
tlslib32.s
tlslib.s
tlsmark32.d include/elf/ 2009-03-04 05:50:50 +00:00
tlsmark32.s include/elf/ 2009-03-04 05:50:50 +00:00
tlsmark.d include/elf/ 2009-03-04 05:50:50 +00:00
tlsmark.s include/elf/ 2009-03-04 05:50:50 +00:00
tlsso32.d bfd/ 2007-11-06 03:59:16 +00:00
tlsso32.g
tlsso32.r 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
tlsso32.t
tlsso.d bfd/ 2007-11-06 13:49:19 +00:00
tlsso.g bfd/ 2007-08-13 00:20:59 +00:00
tlsso.r bfd/ 2007-11-06 13:49:19 +00:00
tlsso.t
tlstoc.d
tlstoc.g
tlstoc.s
tlstoc.t
tlstocso.d bfd/ 2007-08-13 00:20:59 +00:00
tlstocso.g bfd/ 2007-08-13 00:20:59 +00:00
tlstocso.r 2007-09-29 Mike Frysinger <vapier@gentoo.org> 2007-09-30 01:33:15 +00:00
tlstocso.t
vxworks1-lib.dd
vxworks1-lib.nd
vxworks1-lib.rd Update. 2008-10-03 13:03:37 +00:00
vxworks1-lib.s
vxworks1-lib.sd
vxworks1-lib.td
vxworks1-static.d
vxworks1.dd
vxworks1.ld * ld-powerpc/powerpc.exp: Add vxworks relax testcase. 2009-01-26 15:27:04 +00:00
vxworks1.rd * ld-powerpc/powerpc.exp: Add vxworks relax testcase. 2009-01-26 15:27:04 +00:00
vxworks1.s
vxworks2-static.sd
vxworks2.s
vxworks2.sd
vxworks-relax.rd * ld-powerpc/powerpc.exp: Add vxworks relax testcase. 2009-01-26 15:27:04 +00:00
vxworks-relax.s * ld-powerpc/powerpc.exp: Add vxworks relax testcase. 2009-01-26 15:27:04 +00:00