bfd_cleanup for object_p
The object_p (and archive_p, core_file_p) functions are not supposed
to have any target specific malloc'd memory attached to the bfd on
their return. This should be obvious on a failure return, but it's
also true for a successful return. The reason is that even though the
object_p recognises the file, that particular target may not be used
and thus the bfd won't be closed calling close_and_cleanup for the
target that allocated the memory.
It turns out that the object_p bfd_target* return value isn't needed.
In all cases except ld/plugin.c the target is abfd->xvec and with
ld/plugin.c the target isn't used. So this patch returns a cleanup
function from object_p instead, called in bfd_check_format_matches to
tidy the bfd before trying a different target match. The only cleanup
that does anything at this stage is the alpha-vms one.
bfd/
* targets.c (bfd_cleanup): New typedef.
(struct bfd <_bfd_check_format>): Return a bfd_cleanup.
* libbfd-in.h (_bfd_no_cleanup): Define.
* format.c (bfd_reinit): Add cleanup parameter, call it.
(bfd_check_format_matches): Set cleanup from _bfd_check_format
call and pass to bfd_reinit. Delete temp, use abfd->xvec instead.
* aout-target.h (callback, object_p): Return bfd_cleanup.
* aout-tic30.c (tic30_aout_callback, tic30_aout_object_p): Likewise.
* archive.c (bfd_generic_archive_p): Likewise.
* binary.c (binary_object_p): Likewise.
* coff-alpha.c (alpha_ecoff_object_p): Likewise.
* coff-ia64.c (ia64coff_object_p): Likewise.
* coff-rs6000.c (_bfd_xcoff_archive_p, rs6000coff_core_p): Likewise.
* coff-sh.c (coff_small_object_p): Likewise.
* coff-stgo32.c (go32_check_format): Likewise.
* coff64-rs6000.c (xcoff64_archive_p, rs6000coff_core_p),
(xcoff64_core_p): Likewise.
* coffgen.c (coff_real_object_p, coff_object_p): Likewise.
* elf-bfd.h (bfd_elf32_object_p, bfd_elf32_core_file_p),
(bfd_elf64_object_p, bfd_elf64_core_file_p): Likewise.
* elfcode.h (elf_object_p): Likewise.
* elfcore.h (elf_core_file_p): Likewise.
* i386msdos.c (msdos_object_p): Likewise.
* ihex.c (ihex_object_p): Likewise.
* libaout.h (some_aout_object_p): Likewise.
* libbfd-in.h (bfd_generic_archive_p, _bfd_dummy_target),
(_bfd_vms_lib_alpha_archive_p, _bfd_vms_lib_ia64_archive_p): Likewise.
* libbfd.c (_bfd_dummy_target): Likewise.
* libcoff-in.h (coff_object_p): Likewise.
* mach-o-aarch64.c (bfd_mach_o_arm64_object_p),
(bfd_mach_o_arm64_core_p): Likewise.
* mach-o-arm.c (bfd_mach_o_arm_object_p),
(bfd_mach_o_arm_core_p): Likewise.
* mach-o-i386.c (bfd_mach_o_i386_object_p),
(bfd_mach_o_i386_core_p): Likewise.
* mach-o-x86-64.c (bfd_mach_o_x86_64_object_p),
(bfd_mach_o_x86_64_core_p): Likewise.
* mach-o.c (bfd_mach_o_header_p, bfd_mach_o_gen_object_p),
(bfd_mach_o_gen_core_p, bfd_mach_o_fat_archive_p): Likewise.
* mach-o.h (bfd_mach_o_object_p, bfd_mach_o_core_p),
(bfd_mach_o_fat_archive_p, bfd_mach_o_header_p): Likewise.
* mmo.c (mmo_object_p): Likewise.
* pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
* peicode.h (coff_real_object_p, pe_ILF_object_p),
(pe_bfd_object_p): Likewise.
* plugin.c (ld_plugin_object_p, bfd_plugin_object_p): Likewise.
* ppcboot.c (ppcboot_object_p): Likewise.
* rs6000-core.c (rs6000coff_core_p): Likewise.
* som.c (som_object_setup, som_object_p): Likewise.
* srec.c (srec_object_p, symbolsrec_object_p): Likewise.
* tekhex.c (tekhex_object_p): Likewise.
* vms-alpha.c (alpha_vms_object_p): Likewise.
* vms-lib.c (_bfd_vms_lib_archive_p, _bfd_vms_lib_alpha_archive_p),
(_bfd_vms_lib_ia64_archive_p, _bfd_vms_lib_txt_archive_p): Likewise.
* wasm-module.c (wasm_object_p): Likewise.
* xsym.c (bfd_sym_object_p): Likewise.
* xsym.h (bfd_sym_object_p): Likewise.
* aoutx.h (some_aout_object_p): Likewise, and callback parameter
return type.
* pdp11.c (some_aout_object_p): Likewise.
* plugin.c (register_ld_plugin_object_p): Update object_p
parameter type.
* plugin.h (register_ld_plugin_object_p): Likewise.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* libcoff.h: Regenerate.
ld/
* plugin.c (plugin_object_p): Return a bfd_cleanup.
(plugin_cleanup): New function.
2020-03-02 12:51:09 +08:00
|
|
|
|
2020-03-02 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* plugin.c (plugin_object_p): Return a bfd_cleanup.
|
|
|
|
|
(plugin_cleanup): New function.
|
|
|
|
|
|
2020-03-02 09:07:12 +08:00
|
|
|
|
2020-03-01 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25618
|
|
|
|
|
* plugin.c (plugin_object_p): Copy the no_export field to the IR
|
|
|
|
|
dummy object.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp (lto_link_elf_tests): Add
|
|
|
|
|
PR ld/25618 tests.
|
|
|
|
|
* testsuite/ld-plugin/pr25618.d: New file.
|
|
|
|
|
* testsuite/ld-plugin/pr25618a.cc: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25618a.h: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25618b.cc: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25618b.h: Likewise.
|
|
|
|
|
|
2020-02-27 13:56:19 +08:00
|
|
|
|
2020-02-27 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 24511
|
|
|
|
|
* testsuite/ld-mmix/b-fixo2.d: Adjust for .data change.
|
|
|
|
|
* testsuite/ld-mmix/sec-2.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/sec-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/sec-4.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec802.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec803.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec804.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec805.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec806.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec807.d: Likewise.
|
|
|
|
|
* testsuite/ld-mmix/spec808.d: Likewise.
|
|
|
|
|
|
2020-02-26 19:56:28 +08:00
|
|
|
|
2020-02-26 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25593
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Run PR ld/25593 tests.
|
|
|
|
|
* testsuite/ld-plugin/pr25593.d: New file.
|
|
|
|
|
* testsuite/ld-plugin/pr25593a-1.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25593a-2.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25593b.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25593c.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25593d.c: Likewise.
|
|
|
|
|
* testsuite/ld-plugin/pr25593e.c: Likewise.
|
|
|
|
|
|
2020-02-25 13:04:46 +08:00
|
|
|
|
2020-02-26 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/cskyelf.em: Indent labels correctly.
|
|
|
|
|
* ldfile.c: Likewise.
|
|
|
|
|
* ldlang.c: Likewise.
|
|
|
|
|
* plugin.c: Likewise.
|
|
|
|
|
|
2020-02-25 10:20:10 +08:00
|
|
|
|
2020-02-26 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25593
|
|
|
|
|
* ldelf.c (ldelf_try_needed): Add DT_NEEDED lib to input_bfds.
|
|
|
|
|
(ldelf_after_open): Save state of input_bfds list before loading
|
|
|
|
|
DT_NEEDED libs. Traverse input_bfds list adding DT_NEEDED tags.
|
|
|
|
|
Restore input_bfds list.
|
|
|
|
|
* testsuite/ld-cris/gotplt1.d: Adjust for changed .dynstr order.
|
|
|
|
|
|
2020-02-24 22:52:34 +08:00
|
|
|
|
2020-02-24 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/fr.po: Update French translation.
|
|
|
|
|
|
2020-02-22 10:16:33 +08:00
|
|
|
|
2020-02-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25585
|
|
|
|
|
* NEWS: Mention better "PHDR segment not covered by LOAD segment"
|
|
|
|
|
checking.
|
|
|
|
|
|
2020-02-20 01:46:10 +08:00
|
|
|
|
2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25537
|
|
|
|
|
* emultempl/z80.em: Remove machine compatability checking.
|
|
|
|
|
|
|
|
|
|
2020-02-19 Sergey Belyashov <sergey.belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25517
|
|
|
|
|
* testsuite/ld-z80/arch_ez80_adl.d: Update command line.
|
|
|
|
|
* testsuite/ld-z80/arch_ez80_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_r800.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_z180.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_z80n.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_z180_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_z80_ez80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_z80_z180.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_z80_z80n.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_b_ez80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_b_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_f_ez80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_f_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_f_z80n.d: Likewise.
|
|
|
|
|
|
2020-02-19 10:40:47 +08:00
|
|
|
|
2020-02-19 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-plugin/pr25355.d: Allow alpha-linux nm result.
|
|
|
|
|
|
Use GCC LTO wrapper to get real symbols from LTO IR objects
GCC LTO wrapper is needed to extract real symbols from LTO IR objects.
This patch does the following:
1. Set up GCC LTO wrapper for each LTO IR object.
2. Run GCC LTO wrapper to get the real object.
3. Extract symbol info from the real object.
4. Cleanup afterwards.
bfd/
PR binutils/25355
* configure.ac (HAVE_EXECUTABLE_SUFFIX): New AC_DEFINE.
(EXECUTABLE_SUFFIX): Likewise.
* config.in: Regenerated.
* configure: Likewise.
* plugin.c (bfd_plugin_close_and_cleanup): Removed.
(plugin_list_entry): Add all_symbols_read, cleanup_handler,
gcc, lto_wrapper, resolution_file, resolution_option, gcc_env,
real_bfd, real_nsyms, real_syms, lto_nsyms and lto_syms.
(get_lto_wrapper): New.
(setup_lto_wrapper_env): Likewise.
(current_plugin): Likewise.
(register_all_symbols_read): Likewise.
(register_cleanup): Likewise.
(get_symbols): Likewise.
(add_input_file): Likewise.
(bfd_plugin_close_and_cleanup): Likewise.
(claim_file): Removed.
(register_claim_file): Set current_plugin->claim_file.
(add_symbols): Make a copy of LTO symbols. Set lto_nsyms and
lto_syms in current_plugin.
(try_claim): Use current_plugin->claim_file. Call LTO plugin
all_symbols_read handler. Copy real symbols to plugin_data.
Call LTO plugin cleanup handler. Clean up for LTO wrapper.
(try_load_plugin): Don't reuse the previous plugin for LTO
wrapper. Set up GCC LTO wrapper if possible. Don't set
plugin_list_iter->claim_file.
(bfd_plugin_canonicalize_symtab): Use real LTO symbols if
possible.
* plugin.h (plugin_data_struct): Add real_bfd, real_nsyms and
real_syms.
ld/
PR binutils/25355
* testsuite/ld-plugin/lto.exp: Run PR binutils/25355 test.
* testsuite/ld-plugin/pr25355.c: New file.
* testsuite/ld-plugin/pr25355.d: Likewise.
* testsuite/lib/ld-lib.exp (run_cc_link_tests): Support compile
only dump.
2020-02-11 11:01:42 +08:00
|
|
|
|
2020-02-10 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR binutils/25355
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Run PR binutils/25355 test.
|
|
|
|
|
* testsuite/ld-plugin/pr25355.c: New file.
|
|
|
|
|
* testsuite/ld-plugin/pr25355.d: Likewise.
|
|
|
|
|
* testsuite/lib/ld-lib.exp (run_cc_link_tests): Support compile
|
|
|
|
|
only dump.
|
|
|
|
|
|
2020-02-08 04:01:58 +08:00
|
|
|
|
2020-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-unique/unique.exp (contains_unique_symbol): Updated.
|
|
|
|
|
|
2020-02-07 22:53:46 +08:00
|
|
|
|
2020-02-07 Sergey Belyashov <sergey.belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25469
|
|
|
|
|
* emulparams/elf32z80.sh: Use z80 emulation.
|
|
|
|
|
* emultempl/z80.em: Make generic to both COFF and ELF Z80 emulations.
|
|
|
|
|
* emultempl/z80elf.em: Delete.
|
|
|
|
|
* testsuite/ld-elf/pr22450.d: Expect to fail for the Z80.
|
|
|
|
|
* testsuite/ld-elf/sec64k.exp: Fix Z80 assembly.
|
|
|
|
|
* testsuite/ld-unique/pr21529.s: Avoid register name conflict.
|
|
|
|
|
* testsuite/ld-unique/unique.s: Likewise.
|
|
|
|
|
* testsuite/ld-unique/unique_empty.s: Likewise.
|
|
|
|
|
* testsuite/ld-unique/unique_shared.s: Likewise.
|
|
|
|
|
* testsuite/ld-unique/unique.d: Updated expected output.
|
|
|
|
|
* testsuite/ld-z80/arch_z80n.d: New file.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_z80_z80n.d: New file.
|
|
|
|
|
* testsuite/ld-z80/labels.s: Add more labels.
|
|
|
|
|
* testsuite/ld-z80/relocs.s: Add more reloc tests.
|
|
|
|
|
* testsuite/ld-z80/relocs_f_z80n.d: New file
|
|
|
|
|
|
2020-02-07 21:08:16 +08:00
|
|
|
|
2020-02-07 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25022
|
|
|
|
|
* testsuite/ld-elf/pr25022.d: Xfail more targets which don't use
|
|
|
|
|
ldelf_before_place_orphans.
|
|
|
|
|
|
2020-02-07 11:42:52 +08:00
|
|
|
|
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25022
|
|
|
|
|
* emultempl/aix.em (ld_${EMULATION_NAME}_emulation): Add
|
|
|
|
|
before_place_orphans_default.
|
|
|
|
|
* emultempl/armcoff.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/beos.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/generic.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/linux.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/msp430.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/pe.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/pep.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/ticoff.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/vanilla.em (ld_${EMULATION_NAME}_emulation): Likewise.
|
|
|
|
|
* emultempl/elf.em (ld_${EMULATION_NAME}_emulation): Use
|
|
|
|
|
ldelf_before_place_orphans.
|
|
|
|
|
* ldelf.c (ldelf_before_place_orphans): New.
|
|
|
|
|
* ldelf.h (ldelf_before_place_orphans): Likewise.
|
|
|
|
|
* ldemul.c (ldemul_before_place_orphans): Likewise.
|
|
|
|
|
(before_place_orphans_default): Likewise.
|
|
|
|
|
* ldemul.h (ldemul_before_place_orphans): Likewise.
|
|
|
|
|
(before_place_orphans_default): Likewise.
|
|
|
|
|
(ld_emulation_xfer_struct): Add before_place_orphans.
|
|
|
|
|
* ldlang.c (lang_process): Call ldemul_before_place_orphans
|
|
|
|
|
before lang_place_orphans.
|
|
|
|
|
* testsuite/ld-elf/pr25022.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr25022.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25022.t: Likewise.
|
|
|
|
|
|
2020-02-07 11:37:54 +08:00
|
|
|
|
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25490
|
|
|
|
|
* testsuite/ld-elf/pr25490-1.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr25490-1.s: Likewise.
|
|
|
|
|
|
ELF: Support the section flag 'o' in .section directive
As shown in
https://sourceware.org/bugzilla/show_bug.cgi?id=25490
--gc-sections will silently remove __patchable_function_entries section
and generate corrupt result. This patch adds the section flag 'o' to
.section directive:
.section __patchable_function_entries,"awo",@progbits,foo
.section __patchable_function_entries,"awoG",@progbits,foo,foo,comdat
.section __patchable_function_entries,"awo",@progbits,bar,unique,4
.section __patchable_function_entries,"awoG",@progbits,foo,foo,comdat,unique,1
which specifies the symbol name which the section references. Assmebler
will set its elf_linked_to_section to a local section where the symbol
is defined.
Linker is updated to call mark_hook if gc_mark of any of its linked-to
sections is set after all sections, except for backend specific ones,
have been garbage collected.
bfd/
PR gas/25381
* bfd-in2.h: Regenerated.
* elflink.c (_bfd_elf_gc_mark_extra_sections): Call mark_hook
on section if gc_mark of any of its linked-to sections is set
and don't set gc_mark again.
* section.c (asection): Add linked_to_symbol_name to map_head
union.
gas/
PR gas/25381
* config/obj-elf.c (get_section): Also check
linked_to_symbol_name.
(obj_elf_change_section): Also set map_head.linked_to_symbol_name.
(obj_elf_parse_section_letters): Handle the 'o' flag.
(build_group_lists): Renamed to ...
(build_additional_section_info): This. Set elf_linked_to_section
from map_head.linked_to_symbol_name.
(elf_adjust_symtab): Updated.
* config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
* doc/as.texi: Document the 'o' flag.
* testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
* testsuite/gas/elf/section18.d: New file.
* testsuite/gas/elf/section18.s: Likewise.
* testsuite/gas/elf/section19.d: Likewise.
* testsuite/gas/elf/section19.s: Likewise.
* testsuite/gas/elf/section20.d: Likewise.
* testsuite/gas/elf/section20.s: Likewise.
* testsuite/gas/elf/section21.d: Likewise.
* testsuite/gas/elf/section21.l: Likewise.
* testsuite/gas/elf/section21.s: Likewise.
ld/
PR ld/24526
PR ld/25021
PR ld/25490
* testsuite/ld-elf/elf.exp: Run PR ld/25490 tests.
* testsuite/ld-elf/pr24526.d: New file.
* testsuite/ld-elf/pr24526.s: Likewise.
* testsuite/ld-elf/pr25021.d: Likewise.
* testsuite/ld-elf/pr25021.s: Likewise.
* testsuite/ld-elf/pr25490-2-16.rd: Likewise.
* testsuite/ld-elf/pr25490-2-32.rd: Likewise.
* testsuite/ld-elf/pr25490-2-64.rd: Likewise.
* testsuite/ld-elf/pr25490-2.s: Likewise.
* testsuite/ld-elf/pr25490-3-16.rd: Likewise.
* testsuite/ld-elf/pr25490-3-32.rd: Likewise.
* testsuite/ld-elf/pr25490-3-64.rd: Likewise.
* testsuite/ld-elf/pr25490-3.s: Likewise.
* testsuite/ld-elf/pr25490-4-16.rd: Likewise.
* testsuite/ld-elf/pr25490-4-32.rd: Likewise.
* testsuite/ld-elf/pr25490-4-64.rd: Likewise.
* testsuite/ld-elf/pr25490-4.s: Likewise.
* testsuite/ld-elf/pr25490-5-16.rd: Likewise.
* testsuite/ld-elf/pr25490-5-32.rd: Likewise.
* testsuite/ld-elf/pr25490-5-64.rd: Likewise.
* testsuite/ld-elf/pr25490-5.s: Likewise.
* testsuite/ld-elf/pr25490-6-16.rd: Likewise.
* testsuite/ld-elf/pr25490-6-32.rd: Likewise.
* testsuite/ld-elf/pr25490-6-64.rd: Likewise.
* testsuite/ld-elf/pr25490-6.s: Likewise.
2020-02-07 10:04:58 +08:00
|
|
|
|
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/24526
|
|
|
|
|
PR ld/25021
|
|
|
|
|
PR ld/25490
|
|
|
|
|
* testsuite/ld-elf/elf.exp: Run PR ld/25490 tests.
|
|
|
|
|
* testsuite/ld-elf/pr24526.d: New file.
|
|
|
|
|
* testsuite/ld-elf/pr24526.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25021.d: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25021.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-2-16.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-2-32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-2-64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-2.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-3-16.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-3-32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-3-64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-4-16.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-4-32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-4-64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-4.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-5-16.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-5-32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-5-64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-5.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-6-16.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-6-32.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-6-64.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25490-6.s: Likewise.
|
|
|
|
|
|
|
|
|
|
2020-02-06 H.J. Lu <hongjiu.lu@intel.com>
|
2020-02-06 22:40:30 +08:00
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (check_gc_sections_available): Mark
|
|
|
|
|
z80 as not supported.
|
|
|
|
|
|
Enable ld-ifunc tests for more targets
Also fix some ix86 fails.
* testsuite/ld-ifunc/ifunc.exp: Enable for more targets, specifying
targets that don't support ifunc rather than ones that do.
(contains_irelative_reloc): Match R_PARISC_IPLT.
* testsuite/ld-ifunc/lib.c: Don't use .set in asm.
* testsuite/ld-ifunc/ifunc-23-x86.s,
* testsuite/ld-ifunc/ifunc-24-x86.s,
* testsuite/ld-ifunc/ifunc-25-x86.s,
* testsuite/ld-ifunc/ifunc-4-local-x86.s,
* testsuite/ld-ifunc/ifunc-4-x86.s: Define _main.
* testsuite/ld-ifunc/ifunc-10-i386.d,
* testsuite/ld-ifunc/ifunc-11-i386.d,
* testsuite/ld-ifunc/ifunc-12-i386.d,
* testsuite/ld-ifunc/ifunc-13-i386.d,
* testsuite/ld-ifunc/ifunc-14a-i386.d,
* testsuite/ld-ifunc/ifunc-14b-i386.d,
* testsuite/ld-ifunc/ifunc-14c-i386.d,
* testsuite/ld-ifunc/ifunc-14d-i386.d,
* testsuite/ld-ifunc/ifunc-14e-i386.d,
* testsuite/ld-ifunc/ifunc-14f-i386.d,
* testsuite/ld-ifunc/ifunc-15-i386.d,
* testsuite/ld-ifunc/ifunc-16-i386-now.d,
* testsuite/ld-ifunc/ifunc-16-i386.d,
* testsuite/ld-ifunc/ifunc-17a-i386.d,
* testsuite/ld-ifunc/ifunc-17b-i386.d,
* testsuite/ld-ifunc/ifunc-18a-i386.d,
* testsuite/ld-ifunc/ifunc-18b-i386.d,
* testsuite/ld-ifunc/ifunc-19a-i386.d,
* testsuite/ld-ifunc/ifunc-19b-i386.d,
* testsuite/ld-ifunc/ifunc-2-i386-now.d,
* testsuite/ld-ifunc/ifunc-2-i386.d,
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d,
* testsuite/ld-ifunc/ifunc-2-local-i386.d,
* testsuite/ld-ifunc/ifunc-20-i386.d,
* testsuite/ld-ifunc/ifunc-21-i386.d,
* testsuite/ld-ifunc/ifunc-22-i386.d,
* testsuite/ld-ifunc/ifunc-26.d,
* testsuite/ld-ifunc/ifunc-5a-i386.d,
* testsuite/ld-ifunc/ifunc-5a-local-i386.d,
* testsuite/ld-ifunc/ifunc-5b-i386.d,
* testsuite/ld-ifunc/ifunc-5b-local-i386.d,
* testsuite/ld-ifunc/ifunc-5r-local-i386.d,
* testsuite/ld-ifunc/ifunc-6a-i386.d,
* testsuite/ld-ifunc/ifunc-6b-i386.d,
* testsuite/ld-ifunc/ifunc-7a-i386.d,
* testsuite/ld-ifunc/ifunc-7b-i386.d,
* testsuite/ld-ifunc/ifunc-8-i386.d,
* testsuite/ld-ifunc/ifunc-9-i386.d,
* testsuite/ld-ifunc/pr17154-i386-now.d,
* testsuite/ld-ifunc/pr17154-i386.d: xfail lynxos, nto, and solaris.
2020-02-06 08:53:43 +08:00
|
|
|
|
2020-02-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Enable for more targets, specifying
|
|
|
|
|
targets that don't support ifunc rather than ones that do.
|
|
|
|
|
(contains_irelative_reloc): Match R_PARISC_IPLT.
|
|
|
|
|
* testsuite/ld-ifunc/lib.c: Don't use .set in asm.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-23-x86.s,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-24-x86.s,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-25-x86.s,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-4-local-x86.s,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-4-x86.s: Define _main.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-10-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-11-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-12-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-13-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-14a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-14b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-14c-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-14d-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-14e-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-14f-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-15-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-16-i386-now.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-16-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-17a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-17b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-18a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-18b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-19a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-19b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-i386-now.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-local-i386-now.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-2-local-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-20-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-21-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-22-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-26.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-5a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-5a-local-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-5b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-5b-local-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-5r-local-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-6a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-6b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-7a-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-7b-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-8-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/ifunc-9-i386.d,
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-i386-now.d,
|
|
|
|
|
* testsuite/ld-ifunc/pr17154-i386.d: xfail lynxos, nto, and solaris.
|
|
|
|
|
|
2020-02-05 13:49:17 +08:00
|
|
|
|
2020-02-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/lib/ld-lib.exp (is_generic): Delete.
|
|
|
|
|
* testsuite/ld-unique/unique.exp: Exclude tic6x.
|
|
|
|
|
|
2020-02-06 08:38:37 +08:00
|
|
|
|
2020-02-06 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* configure.tgt (i[3-7]86-*-moss*): Don't clear targ_extra_ofiles.
|
|
|
|
|
(i[3-7]86-*-openbsd*, x86_64-*-openbsd*): Add.
|
|
|
|
|
|
ELF: Add support for unique section ID to assembler
Clang's integrated assembler supports multiple section with the same
name:
.section .text,"ax",@progbits,unique,1
nop
.section .text,"ax",@progbits,unique,2
nop
"unique,N" assigns the number, N, as the section ID, to a section. The
valid values of the section ID are between 0 and 4294967295. It can be
used to distinguish different sections with the same section name.
This is useful with -fno-unique-section-names -ffunction-sections.
-ffunction-sections by default generates .text.foo, .text.bar, etc.
Using the same string can save lots of space in .strtab.
This patch adds section_id to bfd_section and reuses the linker
internal bit in BFD section flags, SEC_LINKER_CREATED, for assmebler
internal use to mark valid section_id. It also updates objdump to
compare section pointers if 2 sections comes from the same file since
2 different sections can have the same section name.
bfd/
PR gas/25380
* bfd-in2.h: Regenerated.
* ecoff.c (bfd_debug_section): Add section_id.
* section.c (bfd_section): Add section_id.
(SEC_ASSEMBLER_SECTION_ID): New.
(BFD_FAKE_SECTION): Add section_id.
binutils/
PR gas/25380
* objdump.c (sym_ok): Return FALSE if 2 sections are in the
same file with different section pointers.
gas/
PR gas/25380
* config/obj-elf.c (section_match): Removed.
(get_section): Also match SEC_ASSEMBLER_SECTION_ID and
section_id.
(obj_elf_change_section): Replace info and group_name arguments
with match_p. Also update the section ID and flags from match_p.
(obj_elf_section): Handle "unique,N". Update call to
obj_elf_change_section.
* config/obj-elf.h (elf_section_match): New.
(obj_elf_change_section): Updated.
* config/tc-arm.c (start_unwind_section): Update call to
obj_elf_change_section.
* config/tc-ia64.c (obj_elf_vms_common): Likewise.
* config/tc-microblaze.c (microblaze_s_data): Likewise.
(microblaze_s_sdata): Likewise.
(microblaze_s_rdata): Likewise.
(microblaze_s_bss): Likewise.
* config/tc-mips.c (s_change_section): Likewise.
* config/tc-msp430.c (msp430_profiler): Likewise.
* config/tc-rx.c (parse_rx_section): Likewise.
* config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
* doc/as.texi: Document "unique,N" in .section directive.
* testsuite/gas/elf/elf.exp: Run "unique,N" tests.
* testsuite/gas/elf/section15.d: New file.
* testsuite/gas/elf/section15.s: Likewise.
* testsuite/gas/elf/section16.s: Likewise.
* testsuite/gas/elf/section16a.d: Likewise.
* testsuite/gas/elf/section16b.d: Likewise.
* testsuite/gas/elf/section17.d: Likewise.
* testsuite/gas/elf/section17.l: Likewise.
* testsuite/gas/elf/section17.s: Likewise.
* testsuite/gas/i386/unique.d: Likewise.
* testsuite/gas/i386/unique.s: Likewise.
* testsuite/gas/i386/x86-64-unique.d: Likewise.
* testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
ld/
PR gas/25380
* testsuite/ld-i386/pr22001-1c.S: Use "unique,N" in .section
directives.
* testsuite/ld-i386/tls-gd1.S: Likewise.
* testsuite/ld-x86-64/pr21481b.S: Likewise.
2020-02-03 09:07:51 +08:00
|
|
|
|
2020-02-02 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR gas/25380
|
|
|
|
|
* testsuite/ld-i386/pr22001-1c.S: Use "unique,N" in .section
|
|
|
|
|
directives.
|
|
|
|
|
* testsuite/ld-i386/tls-gd1.S: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr21481b.S: Likewise.
|
|
|
|
|
|
2020-01-31 00:02:33 +08:00
|
|
|
|
2020-01-30 Jan Beulich <jbeulich@suse.com>
|
|
|
|
|
|
|
|
|
|
* ld.texi: Remove space between @option and brace.
|
|
|
|
|
|
2020-01-29 07:55:58 +08:00
|
|
|
|
2020-01-29 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR 25477
|
|
|
|
|
* ldelf.c (ldelf_check_ld_so_conf): Add prefix parameter and
|
|
|
|
|
correct concat.
|
|
|
|
|
(ldelf_after_open): Add prefix parameter.
|
|
|
|
|
* ldelf.h (ldelf_after_open): Update prototype.
|
|
|
|
|
* emultempl/elf.em (gld${EMULATION_NAME}_after_open): Pass $prefix
|
|
|
|
|
to ldelf_after_open.
|
|
|
|
|
* Makefile.am: Correct z80 dependencies.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
|
2020-01-28 07:37:46 +08:00
|
|
|
|
2020-01-28 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* ldexp.c (fold_name): Don't print bfd_link_hash_lookup failed
|
|
|
|
|
in first phase.
|
|
|
|
|
|
2020-01-27 08:21:52 +08:00
|
|
|
|
2020-01-27 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elfvers/vers.exp: Replace case statements with
|
|
|
|
|
switch statements.
|
|
|
|
|
* testsuite/ld-ifunc/ifunc.exp: Likewise.
|
|
|
|
|
* testsuite/ld-unique/unique.exp: Likewise.
|
|
|
|
|
|
2020-01-27 07:57:42 +08:00
|
|
|
|
2020-01-27 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25458
|
|
|
|
|
* testsuite/ld-elf/pr25458.map: New file.
|
|
|
|
|
* testsuite/ld-elf/pr25458.rd: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25458a.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/pr25458b.s: Likewise.
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Run PR ld/25458 test.
|
|
|
|
|
|
2020-01-22 22:22:41 +08:00
|
|
|
|
2020-01-22 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25416
|
|
|
|
|
* testsuite/ld-x86-64/tls.exp: Skip GNU2 TLS tests only without
|
|
|
|
|
compiler support.
|
|
|
|
|
|
2020-01-22 09:54:56 +08:00
|
|
|
|
2020-01-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc3.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc3.wf,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc4.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc4.s,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc4.wf: New tests.
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Run them.
|
|
|
|
|
|
PowerPC64 __tls_get_addr_desc
This implements register saving and restoring in the __tls_get_addr
call stub, so that when glibc supports the optimized tls call stub gcc
can generate code that assumes only r0, r12 and of course r3 are
changed on a __tls_get_addr call. When gcc expects __tls_get_addr
calls to preserve registers the call will be to __tls_get_addr_desc,
which will be translated by the linker to a call to __tls_get_addr_opt.
bfd/
* elf64-ppc.h (struct ppc64_elf_params): Add no_tls_get_addr_regsave.
* elf64-ppc.c (struct ppc_link_hash_table): Add tga_desc and
tga_desc_fd.
(is_tls_get_addr): Match tga_desc and tga_desc_df too.
(STDU_R1_0R1, ADDI_R1_R1): Define.
(tls_get_addr_prologue, tls_get_addr_epilogue): New functions.
(ppc64_elf_tls_setup): Set up tga_desc and tga_desc_fd. Indirect
tga_desc_fd to opt_fd, and tga_desc to opt. Set
no_tls_get_addr_regsave.
(branch_reloc_hash_match): Add hash3 and hash4.
(ppc64_elf_tls_optimize): Handle tga_desc_fd and tga_desc too.
(ppc64_elf_size_dynamic_sections): Likewise.
(ppc64_elf_relocate_section): Likewise.
(plt_stub_size, build_plt_stub): Likewise. Size regsave
__tls_get_addr stub.
(build_tls_get_addr_stub): Build regsave __tls_get_addr stub and
eh_frame.
(ppc_size_one_stub): Handle tga_desc_fd and tga_desc too. Size
eh_frame for regsave __tls_get_addr.
gas/
* config/tc-ppc.c (parse_tls_arg): Handle tls arg for
__tls_get_addr_desc and __tls_get_addr_opt.
ld/
* emultempl/ppc64elf.em (ppc64_opt, PARSE_AND_LIST_LONGOPTS),
(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Support
--tls-get-addr-regsave and --no-tls-get-addr-regsave.
(params): Init new field.
* ld.texi (--tls-get-addr-regsave, --no-tls-get-addr-regsave):
Document.
* testsuite/ld-powerpc/tlsdesc.s,
* testsuite/ld-powerpc/tlsdesc.d,
* testsuite/ld-powerpc/tlsdesc.wf,
* testsuite/ld-powerpc/tlsdesc2.d,
* testsuite/ld-powerpc/tlsdesc2.wf,
* testsuite/ld-powerpc/tlsexenors.d,
* testsuite/ld-powerpc/tlsexenors.r,
* testsuite/ld-powerpc/tlsexers.d,
* testsuite/ld-powerpc/tlsexers.r,
* testsuite/ld-powerpc/tlsexetocnors.d,
* testsuite/ld-powerpc/tlsexetocrs.d,
* testsuite/ld-powerpc/tlsexetocrs.r,
* testsuite/ld-powerpc/tlsopt6.d,
* testsuite/ld-powerpc/tlsopt6.wf: New.
* testsuite/ld-powerpc/powerpc.exp: Run new tests.
2020-01-20 10:08:00 +08:00
|
|
|
|
2020-01-22 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* emultempl/ppc64elf.em (ppc64_opt, PARSE_AND_LIST_LONGOPTS),
|
|
|
|
|
(PARSE_AND_LIST_OPTIONS, PARSE_AND_LIST_ARGS_CASES): Support
|
|
|
|
|
--tls-get-addr-regsave and --no-tls-get-addr-regsave.
|
|
|
|
|
(params): Init new field.
|
|
|
|
|
* ld.texi (--tls-get-addr-regsave, --no-tls-get-addr-regsave):
|
|
|
|
|
Document.
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc.s,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc.wf,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc2.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsdesc2.wf,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexenors.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexenors.r,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexers.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexers.r,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetocnors.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetocrs.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetocrs.r,
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt6.d,
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt6.wf: New.
|
|
|
|
|
* testsuite/ld-powerpc/powerpc.exp: Run new tests.
|
|
|
|
|
|
2020-01-19 22:24:06 +08:00
|
|
|
|
2020-01-22 Yuri Chornoivan <yurchor@mageia.org>
|
|
|
|
|
|
|
|
|
|
PR 25417
|
|
|
|
|
* ldlang.c (ldlang_open_ctf): Fix error message typo.
|
|
|
|
|
* emultempl/z80elf.em (z80_elf_after_open): Likewise.
|
|
|
|
|
|
2020-01-22 08:20:38 +08:00
|
|
|
|
2020-01-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr23900-1.d: Adjusted.
|
|
|
|
|
|
2020-01-21 21:43:59 +08:00
|
|
|
|
2020-01-21 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-elf/pr23900-1.d: Also pass -l to readelf.
|
|
|
|
|
|
2020-01-20 23:10:23 +08:00
|
|
|
|
2020-01-20 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* po/pt_BR.po: Updated Brazilian Portuguese translation.
|
|
|
|
|
* po/uk.po: Updated Ukranian translation.
|
|
|
|
|
|
x86-64: Fix TLSDESC relaxation for x32
For x32, we must encode "lea x@TLSDESC(%rip), %reg" with a REX prefix
even if it isn't required. Otherwise linker can’t safely perform
GDesc -> IE/LE optimization. X32 TLSDESC sequences can be:
40 8d 05 00 00 00 00 rex lea x@TLSDESC(%rip), %reg
...
67 ff 10 call *x@TLSCALL(%eax)
or the same sequence as LP64:
48 8d 05 00 00 00 00 lea foo@TLSDESC(%rip), %reg
...
ff 10 call *foo@TLSCALL(%rax)
We need to support both sequences for x32. For both GDesc -> IE/LE
transitions,
67 ff 10 call *x@TLSCALL(%eax)
should relaxed to
0f 1f 00 nopl (%rax)
For GDesc -> LE transition,
40 8d 05 00 00 00 00 rex lea x@TLSDESC(%rip), %reg
should relaxed to
40 c7 c0 fc ff ff ff rex movl $x@tpoff, %reg
For GDesc -> IE transition,
40 8d 05 00 00 00 00 rex lea x@TLSDESC(%rip), %reg
should relaxed to
40 8b 05 00 00 00 00 rex movl x@gottpoff(%rip), %eax
bfd/
PR ld/25416
* elf64-x86-64.c (elf_x86_64_check_tls_transition): Support
"rex leal x@tlsdesc(%rip), %reg" and "call *x@tlsdesc(%eax)" in
X32 mode.
(elf_x86_64_relocate_section): In x32 mode, for GDesc -> LE
transition, relax "rex leal x@tlsdesc(%rip), %reg" to
"rex movl $x@tpoff, %reg", for GDesc -> IE transition, relax
"rex leal x@tlsdesc(%rip), %reg" to
"rex movl x@gottpoff(%rip), %eax". For both transitions, relax
"call *(%eax)" to "nopl (%rax)".
gas/
PR ld/25416
* config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
x32 object.
* testsuite/gas/i386/ilp32/x32-tls.d: Updated.
* testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
R_X86_64_GOTPC32_TLSDESC relocation.
ld/
PR ld/25416
* testsuite/ld-x86-64/pr25416-1.s: New file
* testsuite/ld-x86-64/pr25416-1a.d: Likewise.
* testsuite/ld-x86-64/pr25416-1b.d: Likewise.
* testsuite/ld-x86-64/pr25416-1.s: Likewise.
* testsuite/ld-x86-64/pr25416-2.s: Likewise.
* testsuite/ld-x86-64/pr25416-2a.d: Likewise.
* testsuite/ld-x86-64/pr25416-2b.d: Likewise.
* testsuite/ld-x86-64/pr25416-3.d: Likewise.
* testsuite/ld-x86-64/pr25416-3.s: Likewise.
* testsuite/ld-x86-64/pr25416-4.d: Likewise.
* testsuite/ld-x86-64/pr25416-4.s: Likewise.
* testsuite/ld-x86-64/pr25416-5a.c: Likewise.
* testsuite/ld-x86-64/pr25416-5b.s: Likewise.
* testsuite/ld-x86-64/pr25416-5c.s: Likewise.
* testsuite/ld-x86-64/pr25416-5d.s: Likewise.
* testsuite/ld-x86-64/pr25416-5e.s: Likewise.
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/25416 tests.
2020-01-20 22:58:51 +08:00
|
|
|
|
2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
|
|
|
|
|
|
|
|
|
|
PR ld/25416
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-1.s: New file
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-1a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-1b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-1.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-2.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-2a.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-2b.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-3.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-3.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-4.d: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-4.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-5a.c: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-5b.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-5c.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-5d.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/pr25416-5e.s: Likewise.
|
|
|
|
|
* testsuite/ld-x86-64/x86-64.exp: Run PR ld/25416 tests.
|
|
|
|
|
|
2020-01-20 10:03:29 +08:00
|
|
|
|
2020-01-20 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/tlsexe.d: Match new __tls_get_addr stub.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexeno.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetoc.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsexetocno.d: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/tlsopt5.d: Likewise.
|
|
|
|
|
|
2020-01-19 06:42:24 +08:00
|
|
|
|
2020-01-18 Roland McGrath <mcgrathr@google.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-x86-64/align-branch-1.d: Loosen instruction regexps
|
|
|
|
|
to admit whatever absolute address. The label-relative address is
|
|
|
|
|
what the test needs to verify.
|
|
|
|
|
|
2020-01-18 22:12:07 +08:00
|
|
|
|
2020-01-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
* configure: Regenerate.
|
|
|
|
|
* po/ld.pot: Regenerate.
|
|
|
|
|
|
2020-01-18 21:50:25 +08:00
|
|
|
|
2020-01-18 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
Binutils 2.34 branch created.
|
|
|
|
|
|
2020-01-16 21:44:21 +08:00
|
|
|
|
2020-01-16 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/elf32msp430_3.sc: Remove.
|
|
|
|
|
|
2020-01-16 19:32:23 +08:00
|
|
|
|
2020-01-16 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/elf32msp430.sc: Add input section rules for
|
|
|
|
|
.upper.{text,data,rodata,bss}.
|
|
|
|
|
* testsuite/ld-msp430-elf/msp430-elf.exp: Run new test.
|
|
|
|
|
* testsuite/ld-msp430-elf/upper-input-sections.s: New test.
|
|
|
|
|
|
2020-01-15 22:18:54 +08:00
|
|
|
|
2020-01-15 Lars Brinkhoff <lars@nocrew.org>
|
|
|
|
|
|
|
|
|
|
PR 20694
|
|
|
|
|
* temulparams/pdp11.sh (TARGET_PAGE_SIZE): Set to 8192.
|
|
|
|
|
|
2020-01-15 21:17:27 +08:00
|
|
|
|
2020-01-15 Jozef Lawrynowicz <jozef.l@mittosystems.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-msp430-elf/msp430-elf.exp: Run new test.
|
|
|
|
|
* testsuite/ld-msp430-elf/reloc-lo-430x.s: New test.
|
|
|
|
|
|
2020-01-14 18:15:53 +08:00
|
|
|
|
2020-01-15 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-powerpc/ambiguousv1b.d: Adjust expected output.
|
|
|
|
|
* testsuite/ld-powerpc/funref.s: Align func_tab.
|
|
|
|
|
* testsuite/ld-powerpc/funref2.s: Likewise.
|
|
|
|
|
* testsuite/ld-powerpc/funv1.s: Add dot symbols.
|
|
|
|
|
|
2020-01-15 00:59:37 +08:00
|
|
|
|
2020-01-14 Lili Cui <lili.cui@intel.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-i386/align-branch-1.d: Updated for i686-pc-elf.
|
|
|
|
|
|
2020-01-13 20:14:04 +08:00
|
|
|
|
2020-01-13 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* po/BLD-POTFILES.in: Regenerate.
|
|
|
|
|
|
2020-01-13 17:16:47 +08:00
|
|
|
|
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-arc/relax-local-pic.d: Improve matching patterns.
|
|
|
|
|
|
2020-01-13 17:16:47 +08:00
|
|
|
|
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Remove earcelf_prof.c and earclinux_prof.c
|
|
|
|
|
emulations.
|
|
|
|
|
* configure.tgt: Likewise.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* emulparams/arcelf_prof.sh: Remove file.
|
|
|
|
|
* emulparams/arclinux_prof.sh: Likewise.
|
|
|
|
|
|
2020-01-13 17:16:47 +08:00
|
|
|
|
2020-01-13 Claudiu Zissulescu <claziss@gmail.com>
|
|
|
|
|
|
|
|
|
|
* scripttempl/elfarcv2.sc : Allow interrupt vector table to be
|
|
|
|
|
located at an arbitrary address. Use DWARF.sc file.
|
|
|
|
|
* scripttempl/elfarc.sc: Use DWARF.sc file.
|
|
|
|
|
|
Re: Prefer object over notype symbols when disassembling
Reverts unnecessary mips testsuite changes made by commit 660df28acf.
* testsuite/ld-mips-elf/eh-frame5.s,
* testsuite/ld-mips-elf/ehdr_start-new.s,
* testsuite/ld-mips-elf/ehdr_start-o32.s,
* testsuite/ld-mips-elf/mips16-call-global-1.s,
* testsuite/ld-mips-elf/mips16-intermix-1.s,
* testsuite/ld-mips-elf/mips16-pic-1b.s,
* testsuite/ld-mips-elf/mips16-pic-4c.s,
* testsuite/ld-mips-elf/no-shared-1-n64.s,
* testsuite/ld-mips-elf/no-shared-1-o32.s,
* testsuite/ld-mips-elf/pic-and-nonpic-1b-micromips.s,
* testsuite/ld-mips-elf/pic-and-nonpic-1b.s,
* testsuite/ld-mips-elf/pic-and-nonpic-2a.s,
* testsuite/ld-mips-elf/pic-and-nonpic-3b.s,
* testsuite/ld-mips-elf/pic-and-nonpic-4b.s,
* testsuite/ld-mips-elf/pic-and-nonpic-5a.s,
* testsuite/ld-mips-elf/pic-and-nonpic-6-n32c.s,
* testsuite/ld-mips-elf/pic-and-nonpic-6-n64c.s,
* testsuite/ld-mips-elf/pic-and-nonpic-6-o32c.s,
* testsuite/ld-mips-elf/pie.s,
* testsuite/ld-mips-elf/relax-jalr.s: Revert 2019-12-17 change.
2020-01-07 06:59:54 +08:00
|
|
|
|
2020-01-07 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
* testsuite/ld-mips-elf/eh-frame5.s,
|
|
|
|
|
* testsuite/ld-mips-elf/ehdr_start-new.s,
|
|
|
|
|
* testsuite/ld-mips-elf/ehdr_start-o32.s,
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-call-global-1.s,
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-intermix-1.s,
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pic-1b.s,
|
|
|
|
|
* testsuite/ld-mips-elf/mips16-pic-4c.s,
|
|
|
|
|
* testsuite/ld-mips-elf/no-shared-1-n64.s,
|
|
|
|
|
* testsuite/ld-mips-elf/no-shared-1-o32.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-1b-micromips.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-1b.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-2a.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-3b.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-4b.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-5a.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-6-n32c.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-6-n64c.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pic-and-nonpic-6-o32c.s,
|
|
|
|
|
* testsuite/ld-mips-elf/pie.s,
|
|
|
|
|
* testsuite/ld-mips-elf/relax-jalr.s: Revert 2019-12-17 change.
|
|
|
|
|
|
2020-01-07 00:24:23 +08:00
|
|
|
|
2020-01-06 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 25327
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Add -fcommon option to compiler
|
|
|
|
|
command line when building libcomm1.o and pr13250 tests.
|
|
|
|
|
* testsuite/ld-plugin/lto.exp: Likewise for pr20267 tests.
|
|
|
|
|
|
2020-01-06 22:00:34 +08:00
|
|
|
|
2020-01-06 Nick Clifton <nickc@redhat.com>
|
|
|
|
|
|
|
|
|
|
PR 25326
|
|
|
|
|
* testsuite/ld-elf/shared.exp: Add -fcommon option to compiler
|
|
|
|
|
command line when building pr19579 binaries.
|
|
|
|
|
|
2020-01-03 20:55:12 +08:00
|
|
|
|
2020-01-03 Hannes Domani <ssbssa@yahoo.de>
|
|
|
|
|
|
|
|
|
|
* emultempl/pe.em: Add new option --enable-reloc-section.
|
|
|
|
|
* emultempl/pep.em: Likewise.
|
|
|
|
|
* ld.texi: Document --enable-reloc-section.
|
|
|
|
|
* pe-dll.c (pe_dll_build_sections): Use pe_dll_enable_reloc_section.
|
|
|
|
|
(pe_dll_fill_sections): Simplify by calling pe_exe_fill_sections.
|
|
|
|
|
* pe-dll.h: Add extern declaration of option flag.
|
|
|
|
|
* pep-dll.c (pe_dll_enable_reloc_section):
|
|
|
|
|
Add alias define for pep_dll_enable_reloc_section.
|
|
|
|
|
* pep-dll.h: Add extern declaration of option flag.
|
|
|
|
|
|
2020-01-02 22:10:40 +08:00
|
|
|
|
2020-01-02 Sergey Belyashov <sergey.belyashov@gmail.com>
|
|
|
|
|
|
|
|
|
|
* Makefile.am: Add new target z80-elf
|
|
|
|
|
* configure.tgt: Likewise.
|
|
|
|
|
* Makefile.in: Regenerate.
|
|
|
|
|
* emultempl/z80.em: Add support for eZ80 and Z180 architectures.
|
|
|
|
|
* emulparams/elf32z80.sh: New file.
|
|
|
|
|
* emultempl/z80elf.em: Likewise.
|
|
|
|
|
* testsuite/ld-elf/comm-data4.s: Fix for Z80.
|
|
|
|
|
* testsuite/ld-elf/comm-data5.s: Fix for Z80.
|
|
|
|
|
* testsuite/ld-scripts/fill16.d: Fix for Z80.
|
|
|
|
|
* testsuite/ld-z80/arch_ez80_adl.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_ez80_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_r800.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_z180.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/arch_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_ez80_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/comb_arch_z180.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/labels.s: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs.s: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_b_ez80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_b_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/relocs_f_z80.d: Likewise.
|
|
|
|
|
* testsuite/ld-z80/z80.exp: Likewise.
|
|
|
|
|
* NEWS: Mention the new support.
|
|
|
|
|
|
2020-01-02 22:06:01 +08:00
|
|
|
|
2020-01-02 Tamar Christina <tamar.christina@arm.com>
|
|
|
|
|
|
|
|
|
|
PR 25210
|
|
|
|
|
PR 24753
|
|
|
|
|
* emultempl/aarch64elf.em (elf${ELFSIZE}_aarch64_add_stub_section):
|
|
|
|
|
Remove SEC_LINKER_CREATED.
|
|
|
|
|
* testsuite/ld-aarch64/aarch64-elf.exp: Add erratum835769-843419.
|
|
|
|
|
* testsuite/ld-aarch64/erratum835769-843419.d: New test.
|
|
|
|
|
|
2020-01-01 16:22:19 +08:00
|
|
|
|
2020-01-01 Alan Modra <amodra@gmail.com>
|
|
|
|
|
|
|
|
|
|
Update year range in copyright notice of all files.
|
|
|
|
|
|
2020-01-01 15:37:11 +08:00
|
|
|
|
For older changes see ChangeLog-2019
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
2020-01-01 15:37:11 +08:00
|
|
|
|
Copyright (C) 2020 Free Software Foundation, Inc.
|
2016-01-01 18:44:31 +08:00
|
|
|
|
|
|
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: change-log
|
|
|
|
|
left-margin: 8
|
|
|
|
|
fill-column: 74
|
|
|
|
|
version-control: never
|
|
|
|
|
End:
|