Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
* ldlang.h (lang_output_section_statement_type): Add after_end field.
(lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
(section_for_dot): Declare.
* ldlang.c (lang_size_sections_1): Correct comment.
(current_section): Move earlier.
(current_assign, prefer_next_section): New static vars.
(lang_do_assignments_1): Add found_end param. Detect _end
assignment to set found_end. Set os->after_end. Set above statics.
(lang_do_assignments): Adjust lang_do_assignments_1 call. Init
vars.
(section_for_dot): New function.
(lang_set_startof): Don't make an absolute symbol.
(lang_abs_symbol_at_beginning_of, lang_abs_symbol_at_end_of): Delete.
* ldexp.c (new_rel_from_abs): Use section_for_dot.
* emultempl/lnk960.em (symbol_at_beginning_of): New function.
(symbol_at_end_of): Likewise.
(lnk960_after_allocation): Use them.
* scripttempl/elf.sc: Precede OTHER_GOT_SYMBOLS with . = .; and
likewise before __bss_start.
ld/testsuite/
Update far too many tests.
|
|
* 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.
|
|
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.
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
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.
|
|
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.
|
|
ld-mmix/loc1.d, ld-mmix/bspec1m.d, ld-mmix/bspec2m.d,
ld-mmix/b-nosym.d, ld-mmix/b-fixo2.d, ld-mmix/b-loc64k.d,
ld-mmix/undef-3m.d, ld-mmix/locto.s, ld-mmix/loct.s,
ld-mmix/local3m.d, ld-mmix/local1m.d, ld-mmix/loc6m.d,
ld-mmix/loc2.s, ld-mmix/loc1.s, ld-mmix/gregldo1.s,
ld-mmix/dloc1.s, ld-mmix/b-widec3.s, ld-mmix/b-nosym.s: Remove
unnecessary empty lines.
|
|
|