H.J. Lu
be59ad3d96
Don't hardcode offset of .shstrtab section
...
There is no requirement on placement of section name section, .shstrtab.
This patch removes hardcoded offsets of .shstrtab sections.
binutils/testsuite/
* binutils-all/i386/compressed-1b.d: Don't hardcode offset of
.shstrtab section.
* binutils-all/i386/compressed-1c.d: Likewise.
* binutils-all/readelf.s-64: Likewise.
* binutils-all/x86-64/compressed-1b.d: Likewise.
* binutils-all/x86-64/compressed-1c.d: Likewise.
gas/testsuite/
* gas/i386/ilp32/x86-64-unwind.d: Don't hardcode offset of
.shstrtab section.
* 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/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-mmix/bspec1.d: Don't hardcode offset of .shstrtab section.
* 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/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.
2015-04-20 09:55:47 -07:00
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
Jan Beulich
34a79995c4
ld/ELF: refine fake STT_FILE symbol emission
...
There's no real need to emit these always: They're needed only if we
indeed want to emit a localized symbol. Hence defer emission until we
at least did the basic early checks that would lead to no such symbol
getting emitted. This in particular avoids emitting such a symbol in
the majority of (if not all) "ld -r" cases.
I hope my set of cross build tests caught all the test cases needing
adjustment - please forgive if I missed a few.
bfd/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* elflink.c (struct elf_outext_info): Add field file_sym_done.
(bfd_elf_final_link): Initialize new field. Move fake STT_FILE
symbol emission from here ...
(elf_link_output_extsym): ... to here.
gas/testsuite/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* gas/microblaze/relax_size.elf: Drop expectation of no longer
present STT_FILE symbol.
* gas/microblaze/relax_size2.elf: Likewise.
ld/testsuite/
2013-10-29 Jan Beulich <jbeulich@suse.com>
* ld-cris/tls-e-tpoffcomm1.d: Drop expectation of no longer
present STT_FILE symbol.
* ld-mmix/bpo-18.d: Likewise.
* ld-mmix/bpo-22.d: Likewise.
* ld-mmix/greg-6.d: Likewise.
* ld-mmix/greg-7.d: Likewise.
* ld-mmix/loc4.d: Likewise.
* ld-mmix/local1.d: Likewise.
* ld-mmix/local3.d: Likewise.
* ld-mmix/local5.d: Likewise.
* ld-mmix/local7.d: Likewise.
* ld-mmix/loct-1.d: Likewise.
* ld-sh/sh64/abi32.xd: Likewise.
* ld-sh/sh64/abi64.xd: Likewise.
* ld-sh/sh64/cmpct1.xd: Likewise.
* ld-sh/sh64/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
* ld-sh/sh64/mix1.xd: Likewise.
* ld-sh/sh64/mix2.xd: Likewise.
* ld-sh/sh64/shdl32.xd: Likewise.
* ld-sh/sh64/shdl64.xd: Likewise.
2013-10-29 17:52:24 +01:00
Alan Modra
ffbc01ccf0
bfd/
...
* elflink.c (elf_link_input_bfd): Provide a file symbol for
each input file with local syms, if the input lacks such.
(bfd_elf_final_link): Add a file symbol to mark end of locals
for which we can associate with input files.
(struct elf_final_link_info): Add filesym_count field.
(struct elf_outext_info): Add need_second_pass and second_pass.
(elf_link_output_extsym): Detect symbols defined in the output
file, emit them on second pass over locals.
ld/testsuite/
Update to suit added STT_FILE symbols.
2012-06-06 10:50:18 +00:00
Andreas Schwab
3437afb199
binutils/testsuite/:
...
* binutils-all/readelf.s: Ignore "Key to Flags" contents.
* binutils-all/readelf.s-64: Likewise.
* binutils-all/i386/compressed-1b.d: Likewise.
* binutils-all/i386/compressed-1c.d: Likewise.
* binutils-all/x86-64/compressed-1b.d: Likewise.
* binutils-all/x86-64/compressed-1c.d: Likewise.
gas/testsuite/:
* gas/i386/x86-64-unwind.d: Ignore "Key to Flags" contents.
* 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/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.
ld/testsuite/:
* ld-mmix/bspec1.d: Ignore "Key to Flags" contents.
* 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/crange1.rd: Likewise.
* ld-sh/sh64/crange2.rd: Likewise.
* ld-sh/sh64/crange3-cmpct.rd: Likewise.
* ld-sh/sh64/crange3-media.rd: Likewise.
* ld-sh/sh64/crange3.rd: Likewise.
* ld-sh/sh64/crangerel1.rd: Likewise.
* ld-sh/sh64/crangerel2.rd: Likewise.
2010-07-19 15:11:03 +00:00
Alan Modra
f9272224cd
Tolerate some whitespace differences in readelf output.
2009-09-23 03:12:28 +00:00
Alan Modra
f0b5bb34d5
bfd/
...
PR ld/2723
* elflink.c (bfd_elf_final_link): Don't output section symbols
for special ELF sections.
ld/testsuite/
Update for removal of some section syms.
2006-06-02 00:32:00 +00:00
H.J. Lu
8d7146bab4
2005-03-20 H.J. Lu <hongjiu.lu@intel.com>
...
* ld-mmix/bpo-1.d: Updated for empty section removal.
* ld-mmix/bpo-10.d: Likewise.
* ld-mmix/bpo-11.d: Likewise.
* ld-mmix/bpo-14.d: Likewise.
* ld-mmix/bpo-16.d: Likewise.
* ld-mmix/bpo-17.d: Likewise.
* ld-mmix/bpo-18.d: Likewise.
* ld-mmix/bpo-19.d: Likewise.
* ld-mmix/bpo-2.d: Likewise.
* ld-mmix/bpo-3.d: Likewise.
* ld-mmix/bpo-4.d: Likewise.
* ld-mmix/bpo-5.d: Likewise.
* ld-mmix/bpo-6.d: Likewise.
* ld-mmix/bpo-9.d: Likewise.
* ld-mmix/bspec1.d: Likewise.
* ld-mmix/bspec2.d: Likewise.
* ld-mmix/greg-1.d: Likewise.
* ld-mmix/greg-19.d: Likewise.
* ld-mmix/greg-2.d: Likewise.
* ld-mmix/greg-3.d: Likewise.
* ld-mmix/greg-4.d: Likewise.
* ld-mmix/greg-5.d: Likewise.
* ld-mmix/greg-5s.d: Likewise.
* ld-mmix/greg-6.d: Likewise.
* ld-mmix/greg-7.d: Likewise.
* ld-mmix/loc1.d: Likewise.
* ld-mmix/loc2.d: Likewise.
* ld-mmix/loc3.d: Likewise.
* ld-mmix/loc4.d: Likewise.
* ld-mmix/loc6.d: Likewise.
* ld-mmix/local1.d: Likewise.
* ld-mmix/local12.d: Likewise.
* ld-mmix/local3.d: Likewise.
* ld-mmix/local5.d: Likewise.
* ld-mmix/local7.d: Likewise.
* ld-mmix/locdo-1.d: Likewise.
* ld-mmix/loct-1.d: Likewise.
* ld-mmix/locto-1.d: Likewise.
* ld-mmix/start-1.d: Likewise.
* ld-mmix/undef-3.d: Likewise.
2005-03-20 17:00:14 +00:00
Hans-Peter Nilsson
816a1cc6bf
2004-05-10 John Paul Wallington <jpw@gnu.org>
...
* ld-mmix/bspec2.d: Update sh_info to decimal.
* ld-mmix/local1.d: Likewise.
* ld-mmix/local3.d: Likewise.
* ld-mmix/local5.d: Likewise.
* ld-mmix/local7.d: Likewise.
2004-05-10 03:57:04 +00:00
Hans-Peter Nilsson
646a0a402c
* ld-mmix/local1.d, ld-mmix/local3.d, ld-mmix/local5.d,
...
ld-mmix/local7.d: Tweak for change in readelf output.
2002-11-10 09:29:07 +00:00
Hans-Peter Nilsson
f854883482
* ld-mmix/bpo-1.d: Tweak for type of linker-script-symbols no
...
longer set to object.
* ld-mmix/undef-3.d, ld-mmix/start-1.d, ld-mmix/locto-1.d,
ld-mmix/loct-1.d, ld-mmix/locdo-1.d, ld-mmix/local7.d,
ld-mmix/local5.d, ld-mmix/local3.d, ld-mmix/local1.d,
ld-mmix/loc6.d, ld-mmix/loc4.d, ld-mmix/loc3.d, ld-mmix/loc2.d,
ld-mmix/loc1.d, ld-mmix/greg-7.d, ld-mmix/greg-6.d,
ld-mmix/greg-5.d, ld-mmix/greg-4.d, ld-mmix/greg-3.d,
ld-mmix/greg-2.d, ld-mmix/greg-19.d, ld-mmix/greg-1.d,
ld-mmix/bspec2.d, ld-mmix/bspec1.d, ld-mmix/bpo-9.d,
ld-mmix/bpo-6.d, ld-mmix/bpo-5.d, ld-mmix/bpo-4.d,
ld-mmix/bpo-3.d, ld-mmix/bpo-2.d, ld-mmix/bpo-19.d,
ld-mmix/bpo-18.d, ld-mmix/bpo-17.d, ld-mmix/bpo-16.d,
ld-mmix/bpo-14.d, ld-mmix/bpo-11.d, ld-mmix/bpo-10.d: Ditto.
2002-03-19 22:48:15 +00:00
Nick Clifton
3c3bdf30e4
Add MMIX support
2001-10-30 15:20:14 +00:00