Commit graph

10 commits

Author SHA1 Message Date
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
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
Alan Modra
5c799c0790 bfd/
* elfcode.h (elf_slurp_symbol_table): Use bfd_elf_sym_name so that
	canonical sections syms have a name.

gas/testsuite/
	Update for changed section syms.

ld/testsuite/
	Update for changed section syms.
2004-12-11 04:32:37 +00:00
Alan Modra
afd7a018c9 ld/
PR 63
	* ldlang.h (lang_output_section_statement_type): Make "next" a
	struct lang_output_section_statement_struct *.
	(struct orphan_save): Move from elf32.em.  Add "name" and "flags".
	(lang_output_section_find_by_flags, lang_insert_orphan): Declare.
	* ldlang.c (lang_output_section_find_1): Adjust for changed
	output_section_statement "next".
	(strip_excluded_output_sections): Likewise.
	(lang_record_phdrs): Likewise.
	(lang_output_section_find_by_flags): New function.
	(output_prev_sec_find): Move from pe.em.  Adjust iterator.
	(lang_insert_orphan): New function.  Tail end of elf32.em's
	place_orphan merged with that from pe.em.  Allow bfd_section to
	be placed first.  New heuristic for placing new output section
	statement in existing script, and accompanying split of __start
	symbol alignment into a separate assignment to dot.
	(lang_add_section): Consistently use output->bfd_section rather than
	an alias, section->output_section.
	(map_input_to_output_sections): Rename overly long arg.  Move
	initialization of data_statement output section to here..
	(lang_check_section_addresses): ..from here.
	(print_assignment): Correct printing of etree_assert.
	(print_all_symbols): Don't bomb if userdata is NULL.
	(IGNORE_SECTION): Rearrange.
	* emultempl/elf32.em (output_rel_find): Adjust interator.
	(output_prev_sec_find): Delete.
	(struct orphan_save): Delete.
	(gld${EMULATION_NAME}_place_orphan): Cater for zero bfd_section
	flags without creating a duplicate output section statement.
	Revise code holding history of various orphan section placements.
	Allow orphan sections to place before script specified output
	sections.  Call lang_output_section_find_by_flags when placement
	by name fails.  Use lang_insert_orphan.
	* emultempl/mmo.em (output_prev_sec_find): Delete.
	(struct orphan_save): Delete.
	(mmo_place_orphan): Revise code holding history of orphan placement.
	Allow orphans to place before existing output sections.  Use
	lang_insert_orphan.
	* emultempl/pe.em (output_prev_sec_find): Delete.
	(struct orphan_save): Delete.
	(gld_${EMULATION_NAME}_place_orphan): Revise to suit use of
	lang_insert_orphan.
ld/testsuite/
	* ld-scripts/overlay-size.d: Update for changed orphan section
	placement.
	* ld-mmix/bpo-18.d: Likewise.
2004-10-14 12:54:47 +00:00
Hans-Peter Nilsson
d65b72117e * ld-mmix/bpo-1.d, ld-mmix/bpo-10.d, ld-mmix/bpo-11.d,
ld-mmix/bpo-14.d, ld-mmix/bpo-16.d, ld-mmix/bpo-17.d,
	ld-mmix/bpo-18.d, ld-mmix/bpo-19.d, ld-mmix/bpo-2.d,
	ld-mmix/bpo-22.d, ld-mmix/bpo-3.d, ld-mmix/bpo-4.d,
	ld-mmix/bpo-5.d, ld-mmix/bpo-6.d, ld-mmix/bpo-9.d,
	ld-mmix/greg-19.d, ld-mmix/loc1.d, ld-mmix/loc2.d, ld-mmix/loc3.d,
	ld-mmix/loc4.d, ld-mmix/loc6.d, ld-mmix/local12.d,
	ld-mmix/locdo-1.d, ld-mmix/loct-1.d, ld-mmix/locto-1.d: Adjust for
	objdump -d change.
2003-09-14 14:10:55 +00:00
Hans-Peter Nilsson
5ff4a71ef3 * ld-mmix/b-fixo2.d, ld-mmix/bpo-18.d, ld-mmix/bpo-18m.d,
ld-mmix/loc4.d, ld-mmix/loc4m.d, ld-mmix/loc6.d, ld-mmix/loc6m.d,
	ld-mmix/locdo-1.d, ld-mmix/sec-1.d, ld-mmix/sec-2.d,
	ld-mmix/sec-3.d, ld-mmix/sec-4.d, ld-mmix/sec-5.d,
	ld-mmix/sec-7m.d, ld-mmix/sec-8m.d, ld-mmix/spec802.d,
	ld-mmix/spec803.d, ld-mmix/spec804.d, ld-mmix/spec805.d,
	ld-mmix/spec806.d, ld-mmix/spec807.d, ld-mmix/spec808.d: Tweak for
	objdump no longer truncating dump addresses.
2003-05-12 05:45:38 +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
Hans-Peter Nilsson
a27be4d5bf * ld-mmix/bpo-18.d, ld-mmix/bpo64addr.ld, ld-mmix/bpo-18m.d,
ld-mmix/bpo-9.s, ld-mmix/bpo-19.d, ld-mmix/bpo-19m.d,
	ld-mmix/bpo-10.s, ld-mmix/bpo-20.d, ld-mmix/bpo-20m.d: New tests
	for on-demand global register allocation.
2002-02-04 04:38:53 +00:00