binutils-gdb/ld/testsuite/ld-aarch64
Alan Modra a485e98ea0 Move ELF section headers to end of object file
Currently, section ordering differs a little for non-loaded reloc
sections output by ld -emit-relocs or ld -r and that after passing
such objects through objcopy.  Not that it really matters, but it
would be better for a simple objcopy to produce an unchanged output
object file.  Also, section headers are put somewhere in the middle of
the non-loaded sections, again slightly differently for ld and
objcopy.  This patch fixes these discrepancies and puts section
headers last, which is where gold puts them, and is where
bfd_from_remote_memory wrongly assumed they will be found.

bfd/
	* elf.c (assign_file_positions_except_relocs): Move section header
	placement to..
	(_bfd_elf_assign_file_positions_for_relocs): ..here.  Make static.
	* elf-bfd.h (_bfd_elf_assign_file_positions_for_relocs): Delete.
	* elflink.c (bfd_elf_final_link): Don't call above function.
gas/testsuite/
	* gas/arm/got_prel.d: Adjust for changed section header placement.
	* gas/i386/ilp32/x86-64-size-1.d: Likewise.
	* gas/i386/ilp32/x86-64-size-3.d: Likewise.
	* gas/i386/ilp32/x86-64-size-5.d: Likewise.
	* gas/i386/ilp32/x86-64-unwind.d: Likewise.
	* gas/i386/size-1.d: Likewise.
	* gas/i386/size-3.d: Likewise.
	* gas/i386/x86-64-size-1.d: Likewise.
	* gas/i386/x86-64-size-3.d: Likewise.
	* gas/i386/x86-64-size-5.d: Likewise.
	* gas/i386/x86-64-unwind.d: Likewise.
	* gas/ia64/alias-ilp32.d: Likewise.
	* gas/ia64/alias.d: Likewise.
	* gas/ia64/group-1.d: Likewise.
	* gas/ia64/group-2.d: Likewise.
	* gas/ia64/secname-ilp32.d: Likewise.
	* gas/ia64/secname.d: Likewise.
	* gas/ia64/unwind-ilp32.d: Likewise.
	* gas/ia64/unwind.d: Likewise.
	* gas/mmix/bspec-1.d: Likewise.
	* gas/mmix/bspec-2.d: Likewise.
	* gas/mmix/byte-1.d: Likewise.
	* gas/mmix/loc-1.d: Likewise.
	* gas/mmix/loc-2.d: Likewise.
	* gas/mmix/loc-3.d: Likewise.
	* gas/mmix/loc-4.d: Likewise.
	* gas/mmix/loc-5.d: Likewise.
	* gas/tic6x/scomm-directive-4.d: Likewise.
ld/testsuite/
	* ld-aarch64/emit-relocs-local-addend.d: Adjust for changed
	section header placement.
	* ld-aarch64/local-addend-r.d: Likewise.
	* ld-mmix/bspec1.d: Likewise.
	* ld-mmix/bspec2.d: Likewise.
	* ld-mmix/local1.d: Likewise.
	* ld-mmix/local3.d: Likewise.
	* ld-mmix/local5.d: Likewise.
	* ld-mmix/local7.d: Likewise.
	* ld-mmix/undef-3.d: Likewise.
	* ld-sh/sh64/crange3-cmpct.rd: Likewise.
	* ld-sh/sh64/crange3-media.rd: Likewise.
	* ld-sh/sh64/crangerel1.rd: Likewise.
	* ld-sh/sh64/crangerel2.rd: Likewise.
	* ld-tic6x/common.d: Likewise.
	* ld-tic6x/shlib-1.rd: Likewise.
	* ld-tic6x/shlib-1b.rd: Likewise.
	* ld-tic6x/shlib-1r.rd: Likewise.
	* ld-tic6x/shlib-1rb.rd: Likewise.
	* ld-tic6x/shlib-app-1.rd: Likewise.
	* ld-tic6x/shlib-app-1b.rd: Likewise.
	* ld-tic6x/shlib-app-1r.rd: Likewise.
	* ld-tic6x/shlib-app-1rb.rd: Likewise.
	* ld-tic6x/shlib-noindex.rd: Likewise.
	* ld-tic6x/static-app-1.rd: Likewise.
	* ld-tic6x/static-app-1b.rd: Likewise.
	* ld-tic6x/static-app-1r.rd: Likewise.
	* ld-tic6x/static-app-1rb.rd: Likewise.
	* ld-x86-64/ilp32-4.d: Likewise.
	* ld-x86-64/split-by-file-nacl.rd: Likewise.
	* ld-x86-64/split-by-file.rd: Likewise.
2014-09-11 00:15:51 +09:30
..
aarch64-elf.exp [AArch64] Improve copy relocation support on four absolute relocation types 2014-08-26 15:48:47 +01: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 opcodes/ 2013-01-04 14:59:33 +00:00
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 opcodes/ 2013-01-04 14:59:33 +00:00
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 opcodes/ 2013-01-04 14:59:33 +00:00
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 opcodes/ 2013-01-04 14:59:33 +00:00
emit-relocs-269.s
emit-relocs-270-bad.d
emit-relocs-270.d opcodes/ 2013-01-04 14:59:33 +00:00
emit-relocs-270.s
emit-relocs-271.d opcodes/ 2013-01-04 14:59:33 +00:00
emit-relocs-271.s
emit-relocs-272.d opcodes/ 2013-01-04 14:59:33 +00:00
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 [AArch64] Adjust testcases for move of &_DYNAMIC to got[0]. 2013-07-02 06:37:33 +00:00
emit-relocs-309-up-bad.d
emit-relocs-309-up.d [AArch64] Adjust testcases for move of &_DYNAMIC to got[0]. 2013-07-02 06:37:33 +00:00
emit-relocs-309.s [PATCH, COMMITTED] [AArch64] Replace the :got_prel19: address modifier with :got: 2013-07-03 17:26:36 +00:00
emit-relocs-311.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
emit-relocs-311.s
emit-relocs-312.d [AArch64] Adjust testcases for move of &_DYNAMIC to got[0]. 2013-07-02 06:37:33 +00:00
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
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 [AArch64] Adjust testcases for move of &_DYNAMIC to got[0]. 2013-07-02 06:37:33 +00:00
gc-plt1.s 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-plt2.s 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-plt-hidden.s 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-plt-main.s 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-plt-relocs.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
gc-relocs-257-dyn.d 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-relocs-257.d 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-relocs-257.s 2013-04-10 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> 2013-04-10 12:00:14 +00:00
gc-relocs-309.s [PATCH, COMMITTED] [AArch64] Replace the :got_prel19: address modifier with :got: 2013-07-03 17:26:36 +00:00
gc-relocs-311.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-relocs-312.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-relocs-tlsdesc.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-relocs-tlsgd.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-relocs-tlsie.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-relocs-tlsle.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-start.s * elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use 2013-04-03 14:21:18 +00:00
gc-tls-relocs.d [AArch64] Adjust testcases for move of &_DYNAMIC to got[0]. 2013-07-02 06:37:33 +00:00
ifunc-1-local.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-1-local.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-1.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-1.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-2-local.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-2-local.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-2.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-2.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-3.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-3a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-3b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-4.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-4.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-4a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5-local.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5a-local.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5b-local.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-5r-local.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-6.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-6a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-6b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-7.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-7a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-7b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-7c.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-8.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-8a.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-8b.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-9.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-9.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-10.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-10.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-11.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-11.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-12.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-12.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-13.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-13a.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-13b.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14a.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14b.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14c.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14c.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14d.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14e.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-14f.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-15.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-15.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-16.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-16.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-17a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-17a.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-17b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-17b.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-18a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-18a.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-18b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-18b.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-19a.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-19a.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-19b.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-19b.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-20.d aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
ifunc-20.s aarch64: Add support for GNU indirect functions. 2013-10-03 14:46:09 +00:00
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
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.ld
tls-desc-ie.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
tls-desc-ie.s
tls-relax-all.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
tls-relax-all.s
tls-relax-gd-ie.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
tls-relax-gd-ie.s
tls-relax-gd-le.d
tls-relax-gd-le.s
tls-relax-gdesc-ie-2.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
tls-relax-gdesc-ie-2.s
tls-relax-gdesc-ie.d [AArch64] Fix creation of .got and placement of _GLOBAL_OFFSET_TABLE_ 2013-07-02 06:39:26 +00:00
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 Fixed AArch64 TLS relocation resolution. 2012-10-16 16:36:50 +00:00
tlsle-symbol-offset.s Fixed AArch64 TLS relocation resolution. 2012-10-16 16:36:50 +00:00
weak-undefined.d
weak-undefined.s