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. |
||
---|---|---|
.. | ||
32bit.s | ||
64bit.s | ||
abs-k1om.d | ||
abs-l1om.d | ||
abs.d | ||
bnd-branch-1.d | ||
bnd-branch-1.s | ||
bnd-ifunc-1.d | ||
bnd-ifunc-1.s | ||
bnd-ifunc-2.d | ||
bnd-ifunc-2.s | ||
bnd-plt-1.d | ||
compressed1.d | ||
compressed1.s | ||
discarded1.d | ||
discarded1.s | ||
discarded1.t | ||
dummy.s | ||
dwarfreloc.exp | ||
dwarfreloc.rd | ||
dwarfreloc1.s | ||
dwarfreloc2.s | ||
export-class.exp | ||
foo.s | ||
hidden1.d | ||
hidden1.s | ||
hidden2.d | ||
hidden2.s | ||
hidden3.d | ||
hidden3.s | ||
ia32-1.d | ||
ia32-2.d | ||
ia32-3.d | ||
ilp32-1.d | ||
ilp32-2.d | ||
ilp32-3.d | ||
ilp32-4-nacl.d | ||
ilp32-4.d | ||
ilp32-4.s | ||
ilp32-5.d | ||
ilp32-5.s | ||
ilp32-6.d | ||
ilp32-6.s | ||
ilp32-7.d | ||
ilp32-7.s | ||
ilp32-8.d | ||
ilp32-8.s | ||
ilp32-9.d | ||
ilp32-9.s | ||
ilp32-10.d | ||
ilp32-10.s | ||
ilp32-11.d | ||
ilp32-11.s | ||
incompatible.l | ||
lea1.s | ||
lea1a.d | ||
lea1b.d | ||
lea1c.d | ||
lea1d.d | ||
lea1e.d | ||
lea1f.d | ||
lea1g.d | ||
lea1h.d | ||
lea1i.d | ||
lea1j.d | ||
lea1k.d | ||
lea1l.d | ||
line.exp | ||
lp64-1.d | ||
lp64-2.d | ||
lp64-3.d | ||
mixed1a.s | ||
mixed1b.s | ||
mixed2a.s | ||
mixed2b.s | ||
mov1.s | ||
mov1a.d | ||
mov1b.d | ||
mov1c.d | ||
mov1d.d | ||
mpx.exp | ||
mpx1.out | ||
mpx1a.c | ||
mpx1a.rd | ||
mpx1b.c | ||
mpx1c.c | ||
mpx1c.rd | ||
mpx2.out | ||
mpx2a.c | ||
mpx2a.rd | ||
mpx2b.c | ||
mpx2c.c | ||
mpx2c.rd | ||
nogot1.d | ||
nogot1.s | ||
nogot2.d | ||
nogot2.s | ||
pcrel8.d | ||
pcrel16.d | ||
plt-nacl.pd | ||
plt-pic.s | ||
plt.pd | ||
plt.s | ||
pltlib.s | ||
pr12570a.d | ||
pr12570a.s | ||
pr12570b.d | ||
pr12570b.s | ||
pr12718.d | ||
pr12718.s | ||
pr12921.d | ||
pr12921.s | ||
pr13082-1.s | ||
pr13082-1a.d | ||
pr13082-1b.d | ||
pr13082-2.s | ||
pr13082-2a.d | ||
pr13082-2b.d | ||
pr13082-3.s | ||
pr13082-3a.d | ||
pr13082-3b.d | ||
pr13082-4.s | ||
pr13082-4a.d | ||
pr13082-4b.d | ||
pr13082-5.s | ||
pr13082-5a.d | ||
pr13082-5b.d | ||
pr13082-6.s | ||
pr13082-6a.d | ||
pr13082-6b.d | ||
pr13947.d | ||
pr13947.s | ||
pr14207.d | ||
pr14207.s | ||
pr14215.d | ||
pr14215.s | ||
pr17306a.s | ||
pr17306b.s | ||
protected1.d | ||
protected1.s | ||
protected2-k1om.d | ||
protected2-l1om.d | ||
protected2.d | ||
protected2.s | ||
protected3-k1om.d | ||
protected3-l1om.d | ||
protected3.d | ||
protected3.s | ||
protected4.d | ||
protected4.s | ||
protected5.d | ||
protected5.s | ||
simple.c | ||
split-by-file-nacl.rd | ||
split-by-file.rd | ||
split-by-file1.s | ||
split-by-file2.s | ||
start.s | ||
tlsbin-nacl.rd | ||
tlsbin.dd | ||
tlsbin.rd | ||
tlsbin.s | ||
tlsbin.sd | ||
tlsbin.td | ||
tlsbindesc-nacl.rd | ||
tlsbindesc.dd | ||
tlsbindesc.rd | ||
tlsbindesc.s | ||
tlsbindesc.sd | ||
tlsbindesc.td | ||
tlsbinpic.s | ||
tlsdesc-nacl.pd | ||
tlsdesc-nacl.rd | ||
tlsdesc.dd | ||
tlsdesc.pd | ||
tlsdesc.rd | ||
tlsdesc.s | ||
tlsdesc.sd | ||
tlsdesc.td | ||
tlsg.s | ||
tlsg.sd | ||
tlsgd1.dd | ||
tlsgd1.s | ||
tlsgd2.d | ||
tlsgd2.s | ||
tlsgd3.d | ||
tlsgd3.s | ||
tlsgd4.dd | ||
tlsgd4.s | ||
tlsgd5.dd | ||
tlsgd5a.s | ||
tlsgd5b.s | ||
tlsgd6.dd | ||
tlsgd6a.s | ||
tlsgd6b.s | ||
tlsgd7.dd | ||
tlsgd7.s | ||
tlsgd8.dd | ||
tlsgd8.s | ||
tlsgdesc-nacl.rd | ||
tlsgdesc.dd | ||
tlsgdesc.rd | ||
tlsgdesc.s | ||
tlsie1.dd | ||
tlsie1.s | ||
tlsie2.d | ||
tlsie2.s | ||
tlsie3.d | ||
tlsie3.s | ||
tlsie4.dd | ||
tlsie4.s | ||
tlsld1.dd | ||
tlsld1.s | ||
tlsld2.dd | ||
tlsld2.s | ||
tlsld3.dd | ||
tlsld3.s | ||
tlsle1.d | ||
tlsle1.s | ||
tlslib.s | ||
tlspic-nacl.rd | ||
tlspic.dd | ||
tlspic.rd | ||
tlspic.sd | ||
tlspic.td | ||
tlspic1.s | ||
tlspic2.s | ||
tlspie1.d | ||
tlspie1.s | ||
undefined.s | ||
unique1.d | ||
unique1.s | ||
x86-64-64-export-class.rd | ||
x86-64-x32-export-class.rd | ||
x86-64-x32.rd | ||
x86-64.exp |