binutils-gdb/ld/testsuite/ld-aarch64
Alan Modra 2ec55de302 Properly place the NULL STT_FILE symbol revistited
I was having a little closer look at what is going on here and noticed
that HJ unconditionally emits a NULL STT_FILE symbol before emitting
forced local symbols.  That means we really don't need a second pass
over forced local symbols.  The only reason for two passes is when
some forced local symbol can be emitted before the NULL STT_FILE.  So
I set about removing the second pass, updating the testsuite all over
again.  It's also unnecessary to emit the NULL STT_FILE when no
previous file symbol has been emitted.

bfd/
	PR ld/17975
	* elflink.c (struct elf_outext_info): Remove need_second_pass
	and second_pass.
	(elf_link_output_extsym): Delete code handling second forced
	local pass.  Move code emitting NULL STT_FILE symbol later, so
	that it can be omitted if forced local is stripped.  Don't
	emit the NULL STT_FILE if no file symbols have been output.
	(bfd_elf_final_link): Remove second forced local pass.
	* elf32-ppc.c (add_stub_sym): Set linker_def on linker syms.
	(ppc_elf_size_dynamic_sections): Likewise.
	* elf64-ppc.c (ppc_build_one_stub): Likewise.
	(build_global_entry_stubs): Likewise.
	(ppc64_elf_build_stubs): Likewise.
ld/testsuite/
	PR ld/17975
	* ld-aarch64/gc-tls-relocs.d, * ld-alpha/tlspic.rd,
	* ld-cris/libdso-2.d, * ld-i386/tlsdesc-nacl.rd, * ld-i386/tlsdesc.rd,
	* ld-i386/tlsnopic-nacl.rd, * ld-i386/tlsnopic.rd,
	* ld-i386/tlspic-nacl.rd, * ld-i386/tlspic.rd, * ld-ia64/tlspic.rd,
	* ld-powerpc/tlsexe.r, * ld-powerpc/tlsexetoc.r,
	* ld-powerpc/tlsso.r, * ld-powerpc/tlstocso.r,
	* ld-s390/tlspic.rd, * ld-s390/tlspic_64.rd,
	* ld-sparc/tlssunnopic32.rd, * ld-sparc/tlssunnopic64.rd,
	* ld-sparc/tlssunpic32.rd, * ld-sparc/tlssunpic64.rd,
	* ld-tic6x/shlib-1.rd, * ld-tic6x/shlib-1b.rd, * ld-tic6x/shlib-1r.rd,
	* ld-tic6x/shlib-1rb.rd, * ld-tic6x/shlib-noindex.rd,
	* ld-x86-64/tlsdesc-nacl.rd, * ld-x86-64/tlsdesc.rd,
	* ld-x86-64/tlspic-nacl.rd, * ld-x86-64/tlspic.rd: Update.
2015-02-18 00:31:52 +10:30
..
aarch64-elf.exp [AArch64] Fix function pointer variable with -Bsymbolic-functions 2015-01-13 11:36:54 +00:00
aarch64.ld
copy-reloc-exe.s [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
copy-reloc-so.s [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
copy-reloc.d [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
eh-frame-bar.s Fix linker testsuite failures for Aarch64. 2014-08-26 15:06:49 +01:00
eh-frame-foo.s Fix linker testsuite failures for Aarch64. 2014-08-26 15:06:49 +01:00
eh-frame.d Fix linker testsuite failures for Aarch64. 2014-08-26 15:06:49 +01:00
emit-relocs1.s
emit-relocs-257-be.d
emit-relocs-257.d
emit-relocs-257.s
emit-relocs-260-be.d
emit-relocs-260.d
emit-relocs-260.s
emit-relocs-262.d
emit-relocs-262.s
emit-relocs-263.d
emit-relocs-263.s
emit-relocs-264-bad.d [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
emit-relocs-264.d
emit-relocs-264.s
emit-relocs-265.d
emit-relocs-265.s
emit-relocs-266-bad.d [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
emit-relocs-266.d
emit-relocs-266.s
emit-relocs-267.d
emit-relocs-267.s
emit-relocs-268-bad.d [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
emit-relocs-268.d
emit-relocs-268.s
emit-relocs-269-bad.d [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01:00
emit-relocs-269.d
emit-relocs-269.s
emit-relocs-270-bad.d
emit-relocs-270.d
emit-relocs-270.s
emit-relocs-271.d
emit-relocs-271.s
emit-relocs-272.d
emit-relocs-272.s
emit-relocs-273.d
emit-relocs-273.s
emit-relocs-274.d
emit-relocs-274.s
emit-relocs-275.d
emit-relocs-275.s
emit-relocs-276.d
emit-relocs-276.s
emit-relocs-277.d
emit-relocs-277.s
emit-relocs-278.d
emit-relocs-278.s
emit-relocs-279-bad.d
emit-relocs-279.d
emit-relocs-279.s
emit-relocs-280.d
emit-relocs-280.s
emit-relocs-282.d
emit-relocs-282.s
emit-relocs-283.d
emit-relocs-283.s
emit-relocs-284.d
emit-relocs-284.s
emit-relocs-285.d
emit-relocs-285.s
emit-relocs-286-bad.d
emit-relocs-286.d
emit-relocs-286.s
emit-relocs-287.d
emit-relocs-287.s
emit-relocs-299.d
emit-relocs-299.s
emit-relocs-309-low-bad.d
emit-relocs-309-low.d
emit-relocs-309-up-bad.d
emit-relocs-309-up.d
emit-relocs-309.s
emit-relocs-311.d
emit-relocs-311.s
emit-relocs-312.d
emit-relocs-312.s
emit-relocs-local-addend-bar.s Enable elf_backend_rela_normal for AArch64 2014-07-08 09:29:06 +01:00
emit-relocs-local-addend-foo.s Enable elf_backend_rela_normal for AArch64 2014-07-08 09:29:06 +01:00
emit-relocs-local-addend.d Move ELF section headers to end of object file 2014-09-11 00:15:51 +09:30
erratum835769.d [AArch64] Cortex-A53 erratum 835769 linker workaround 2014-10-24 11:39:35 +01:00
erratum835769.s [AArch64] Cortex-A53 erratum 835769 linker workaround 2014-10-24 11:39:35 +01:00
farcall-b-none-function.d
farcall-b-none-function.s
farcall-b.d
farcall-b.s
farcall-back.d
farcall-back.s
farcall-bl-none-function.d
farcall-bl-none-function.s
farcall-bl.d
farcall-bl.s
farcall-section.d
farcall-section.s
gc-got-relocs.d
gc-plt1.s
gc-plt2.s
gc-plt-hidden.s
gc-plt-main.s
gc-plt-relocs.d
gc-relocs-257-dyn.d
gc-relocs-257.d
gc-relocs-257.s
gc-relocs-309.s
gc-relocs-311.s
gc-relocs-312.s
gc-relocs-tlsdesc.s
gc-relocs-tlsgd.s
gc-relocs-tlsie.s
gc-relocs-tlsle.s
gc-start.s
gc-tls-relocs.d Properly place the NULL STT_FILE symbol revistited 2015-02-18 00:31:52 +10:30
ifunc-1-local.d
ifunc-1-local.s
ifunc-1.d
ifunc-1.s
ifunc-2-local.d
ifunc-2-local.s
ifunc-2.d
ifunc-2.s
ifunc-3.s
ifunc-3a.d
ifunc-3b.d
ifunc-4.d
ifunc-4.s
ifunc-4a.d
ifunc-5-local.s
ifunc-5.s
ifunc-5a-local.d
ifunc-5a.d
ifunc-5b-local.d
ifunc-5b.d
ifunc-5r-local.d
ifunc-6.s
ifunc-6a.d
ifunc-6b.d
ifunc-7.s
ifunc-7a.d
ifunc-7b.d
ifunc-7c.d
ifunc-8.d
ifunc-8a.s
ifunc-8b.s
ifunc-9.d
ifunc-9.s
ifunc-10.d
ifunc-10.s
ifunc-11.d
ifunc-11.s
ifunc-12.d
ifunc-12.s
ifunc-13.d
ifunc-13a.s
ifunc-13b.s
ifunc-14a.d
ifunc-14a.s
ifunc-14b.d
ifunc-14b.s
ifunc-14c.d
ifunc-14c.s
ifunc-14d.d
ifunc-14e.d
ifunc-14f.d
ifunc-15.d
ifunc-15.s
ifunc-16.d
ifunc-16.s
ifunc-17a.d
ifunc-17a.s
ifunc-17b.d
ifunc-17b.s
ifunc-18a.d
ifunc-18a.s
ifunc-18b.d
ifunc-18b.s
ifunc-19a.d
ifunc-19a.s
ifunc-19b.d
ifunc-19b.s
ifunc-20.d
ifunc-20.s
ifunc-21.d ld/testsuite/ld-aarch64: Fixup IFUNC tests to work on all targets 2013-12-11 21:05:36 +00:00
ifunc-21.s bfd/elfnn-aarch64.c: Fix miscalculation of GOTPLT offset for ifunc syms. 2013-11-26 15:24:54 +00:00
ifunc-22.d ld/testsuite/ld-aarch64: Fixup IFUNC tests to work on all targets 2013-12-11 21:05:36 +00:00
ifunc-22.s bfd/elfnn-aarch64.c: Handle static links with ifunc correctly. 2013-11-26 15:25:11 +00:00
limit-b.d
limit-b.s
limit-bl.d
limit-bl.s
local-addend-r.d Move ELF section headers to end of object file 2014-09-11 00:15:51 +09:30
pr17415.d [AArch64] Enable overflow check for R_AARCH64_TLSLE_ADD_TPREL_HI12 2015-01-13 11:18:10 +00:00
pr17415.s [AArch64] Enable overflow check for R_AARCH64_TLSLE_ADD_TPREL_HI12 2015-01-13 11:18:10 +00:00
relasz.d bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ 2014-03-25 09:01:50 +00:00
relasz.s bfd/elfnn-aarch64.c: Fix calculation of DT_RELASZ 2014-03-25 09:01:50 +00:00
relocs-257-symbolic-func.d [AArch64] Fix function pointer variable with -Bsymbolic-functions 2015-01-13 11:36:54 +00:00
relocs-257-symbolic-func.s [AArch64] Fix function pointer variable with -Bsymbolic-functions 2015-01-13 11:36:54 +00:00
relocs.ld
tls-desc-ie.d
tls-desc-ie.s
tls-relax-all.d
tls-relax-all.s
tls-relax-gd-ie.d
tls-relax-gd-ie.s
tls-relax-gd-le.d
tls-relax-gd-le.s
tls-relax-gdesc-ie-2.d
tls-relax-gdesc-ie-2.s
tls-relax-gdesc-ie.d
tls-relax-gdesc-ie.s [AArch64] Fix off by one error in instruction relaxation mask. 2014-04-15 17:46:07 +01:00
tls-relax-gdesc-le-2.d
tls-relax-gdesc-le-2.s
tls-relax-gdesc-le.d
tls-relax-gdesc-le.s
tls-relax-ie-le-2.d
tls-relax-ie-le-2.s
tls-relax-ie-le-3.d
tls-relax-ie-le-3.s
tls-relax-ie-le.d
tls-relax-ie-le.s
tlsle-symbol-offset.d
tlsle-symbol-offset.s
tprel_g2_overflow.d [AArch64] Enable overflow check for TLSLE_MOVW_TPREL_G2 2015-01-13 11:21:43 +00:00
tprel_g2_overflow.s [AArch64] Enable overflow check for TLSLE_MOVW_TPREL_G2 2015-01-13 11:21:43 +00:00
weak-undefined.d
weak-undefined.s