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. |
||
---|---|---|
.. | ||
arch | ||
sh64 | ||
adjsw8.s | ||
fdpic-funcdesc-shared.d | ||
fdpic-funcdesc-shared.s | ||
fdpic-funcdesc-static.d | ||
fdpic-funcdesc-static.s | ||
fdpic-gotfuncdesc-shared.d | ||
fdpic-gotfuncdesc-shared.s | ||
fdpic-gotfuncdesc-static.d | ||
fdpic-gotfuncdesc-static.s | ||
fdpic-gotfuncdesci20-shared.d | ||
fdpic-gotfuncdesci20-shared.s | ||
fdpic-gotfuncdesci20-static.d | ||
fdpic-gotfuncdesci20-static.s | ||
fdpic-goti20-shared.d | ||
fdpic-goti20-shared.s | ||
fdpic-goti20-static.d | ||
fdpic-goti20-static.s | ||
fdpic-gotofffuncdesc-shared.d | ||
fdpic-gotofffuncdesc-shared.s | ||
fdpic-gotofffuncdesc-static.d | ||
fdpic-gotofffuncdesc-static.s | ||
fdpic-gotofffuncdesci20-shared.d | ||
fdpic-gotofffuncdesci20-shared.s | ||
fdpic-gotofffuncdesci20-static.d | ||
fdpic-gotofffuncdesci20-static.s | ||
fdpic-gotoffi20-shared.d | ||
fdpic-gotoffi20-shared.s | ||
fdpic-gotoffi20-static.d | ||
fdpic-gotoffi20-static.s | ||
fdpic-plt-be.d | ||
fdpic-plt-le.d | ||
fdpic-plt.s | ||
fdpic-plti20-be.d | ||
fdpic-plti20-le.d | ||
fdpic-stack-default.d | ||
fdpic-stack-set.d | ||
fdpic-stack-size.d | ||
fdpic-stack.s | ||
ld-r-1.d | ||
ldr1.s | ||
ldr2.s | ||
rd-sh.exp | ||
refdbg-0-dso.d | ||
refdbg-1.d | ||
refdbg.s | ||
refdbglib.s | ||
reloc1.d | ||
reloc1.s | ||
sh-vxworks.exp | ||
sh.exp | ||
sh1.s | ||
sh2.c | ||
shared-1.d | ||
shared-2.d | ||
start.s | ||
sub2l-1.d | ||
sub2l.s | ||
textrel1.s | ||
textrel2.s | ||
tlsbin-0-dso.d | ||
tlsbin-1.d | ||
tlsbin-2.d | ||
tlsbin-3.d | ||
tlsbin-4.d | ||
tlsbin.s | ||
tlsbinpic.s | ||
tlslib.s | ||
tlspic-1.d | ||
tlspic-2.d | ||
tlspic-3.d | ||
tlspic-4.d | ||
tlspic1.s | ||
tlspic2.s | ||
tlstpoff-1.d | ||
tlstpoff-2.d | ||
tlstpoff1.s | ||
tlstpoff2.s | ||
vxworks1-le.dd | ||
vxworks1-lib-le.dd | ||
vxworks1-lib.dd | ||
vxworks1-lib.nd | ||
vxworks1-lib.rd | ||
vxworks1-lib.s | ||
vxworks1-lib.td | ||
vxworks1-static.d | ||
vxworks1.dd | ||
vxworks1.ld | ||
vxworks1.rd | ||
vxworks1.s | ||
vxworks2-static.sd | ||
vxworks2.s | ||
vxworks2.sd | ||
vxworks3-le.dd | ||
vxworks3-lib-le.dd | ||
vxworks3-lib.dd | ||
vxworks3-lib.s | ||
vxworks3.dd | ||
vxworks3.s | ||
vxworks4.d | ||
vxworks4a.s | ||
vxworks4b.s | ||
weak1.d | ||
weak1.s |