a485e98ea0
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. |
||
---|---|---|
.. | ||
aarch64-elf.exp | ||
aarch64.ld | ||
copy-reloc-exe.s | ||
copy-reloc-so.s | ||
copy-reloc.d | ||
eh-frame-bar.s | ||
eh-frame-foo.s | ||
eh-frame.d | ||
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 | ||
emit-relocs-264.d | ||
emit-relocs-264.s | ||
emit-relocs-265.d | ||
emit-relocs-265.s | ||
emit-relocs-266-bad.d | ||
emit-relocs-266.d | ||
emit-relocs-266.s | ||
emit-relocs-267.d | ||
emit-relocs-267.s | ||
emit-relocs-268-bad.d | ||
emit-relocs-268.d | ||
emit-relocs-268.s | ||
emit-relocs-269-bad.d | ||
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 | ||
emit-relocs-local-addend-foo.s | ||
emit-relocs-local-addend.d | ||
emit-relocs1.s | ||
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-plt-hidden.s | ||
gc-plt-main.s | ||
gc-plt-relocs.d | ||
gc-plt1.s | ||
gc-plt2.s | ||
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 | ||
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 | ||
ifunc-21.s | ||
ifunc-22.d | ||
ifunc-22.s | ||
limit-b.d | ||
limit-b.s | ||
limit-bl.d | ||
limit-bl.s | ||
local-addend-r.d | ||
relasz.d | ||
relasz.s | ||
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 | ||
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 | ||
weak-undefined.d | ||
weak-undefined.s |