Copy BFD_COMPRESS/BFD_DECOMPRESS/BFD_COMPRESS_GABI for thin archive
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 51d6a0f1fcd852f90661f7d9f8861d0c8ab38af7..6fe991d80d0c1e8d0669f80b5d73afbbbc1f2f03 100644 (file)
-2017-05-12  Igor Kudrin  <ikudrin@accesssoftek.com>
+2019-08-16  Martin Liska  <mliska@suse.cz>
 
-       PR gold/21430
-       * aarch64.cc
-       (AArch64_relobj::convert_input_section_to_relaxed_section):
-       Set the section offset to -1ULL.
-       (Target_aarch64::relocate_section): Adjust the view in case
-       of a relaxed input section.
-       * testsuite/Makefile.am (pr21430): New test.
-       * testsuite/Makefile.in: Regenerate
-       * testsuite/pr21430.s: New test source file.
-       * testsuite/pr21430.sh: New test script.
-
-2017-04-27  Alan Modra  <amodra@gmail.com>
-
-       * testsuite/plugin_section_order.c (onload): Add missing break.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Mips_got_entry::hash()): Shift addend to reduce
-       possibility of collisions.
-       (Mips_got_entry::equals): Fix case for GOT_TLS_LDM
-       entries.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Mips_relobj::merge_processor_specific_data_): New data
-       member.
-       (Mips_relobj::merge_processor_specific_data): New method.
-       (Mips_relobj::do_read_symbols): Set merge_processor_specific_data_
-       to false, only if the input file is a binary or if object has no
-       contents except the section name string table and an empty symbol
-       table with the undefined symbol.
-       (Target_mips::do_finalize_sections): Refactor.  Skip empty object files
-       for merging processor-specific data.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Target_mips::Relocate::calculated_value_): New data
-       member.
-       (Target_mips::Relocate::calculate_only_): Likewise.
-       (Target_mips::Relocate::relocate): Handle multiple consecutive
-       relocations with the same offset.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Target_mips::Relocate::relocate): Remove redundant
-       checks for relocatable link.
-       (Mips_relocate_functions::reljalr): Likewise.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (class Mips_output_section_options): New class.
-       (Target_mips::do_make_output_section): New method.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Mips_relocate_functions::rel26): Don't print relocation
-       overflow error message.
-       (Target_mips::relocate_special_relocatable): Improve relocation
-       overflow error message.
-       (Target_mips::Relocate::relocate): Likewise.
-
-2017-03-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (symbol_refs_local): Return false if a symbol
-       is from a dynamic object.
-       (Target_mips::got_section): Make _GLOBAL_OFFSET_TABLE_ STV_HIDDEN.
-       (Target_mips::set_gp): Refactor.  Make _gp STT_NOTYPE and
-       STB_LOCAL.
-       (Target_mips::do_finalize_sections): Set _gp after all the checks
-       for creating .got are done.
-       (Target_mips::Scan::global): Remove unused code.
-
-2017-02-22  Alan Modra  <amodra@gmail.com>
-
-       * powerpc.cc (Target_powerpc::make_iplt_section): Check that
-       output_section exists before attempting add_output_section_data.
-       (Target_powerpc::make_brlt_section): Likewise.
-
-2017-02-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Target_mips::Scan::get_reference_flags): Remove
-       gold_unreachable from default case.
-
-2017-02-15  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       PR gold/21111
-       * mips.cc (Mips_relocate_functions::relhigher): New method.
-       (Mips_relocate_functions::relhighest): Likewise.
-       (mips_get_size_for_reloc): Add support for relocs: R_MIPS_HIGHER and
-       R_MIPS_HIGHEST.
-       (Target_mips::Scan::local): Add support for relocs: R_MIPS_HIGHER,
-       R_MIPS_HIGHEST, R_MICROMIPS_HIGHER and R_MICROMIPS_HIGHEST.
-       (Target_mips::Scan::global): Likewise.
-       (Target_mips::Scan::get_reference_flags): Likewise.
-       (Target_mips::Relocate::relocate): Call static methods for resolving
-       HIGHER and HIGHEST relocations.
-
-2017-02-03  Rahul Chaudhry  <rahulchaudhry@google.com>
-
-       * x86_64.cc (Target_x86_64::do_can_check_for_function_pointers):
-       Return true even when building pie binaries.
-       (Target_x86_64::possible_function_pointer_reloc): Check opcode
-       for R_X86_64_PC32 relocations.
-       (Target_x86_64::local_reloc_may_be_function_pointer): Pass
-       extra arguments to local_reloc_may_be_function_pointer.
-       (Target_x86_64::global_reloc_may_be_function_pointer): Likewise.
-       * gc.h (gc_process_relocs): Add check for STT_FUNC.
-       * testsuite/Makefile.am (icf_safe_pie_test): New test case.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/icf_safe_pie_test.sh: New shell script.
-
-2017-02-03  Alan Modra  <amodra@gmail.com>
-
-       * powerpc.cc (Powerpc_relobj::make_toc_relative): Don't crash
-       when no .toc section exists.
-
-2017-01-31  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/21090
-       * x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
-       for predefined symbol.
-       (Target_x86_64::Relocate::relocate): Fix formatting.
-
-2017-01-23  Rahul Chaudhry  <rahulchaudhry@google.com>
-
-        * testsuite/icf_safe_so_test.sh: Use "set -e".
-        * testsuite/icf_safe_test.sh: Likewise.
-        * testsuite/icf_test.sh: Likewise.
-
-2017-01-23  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
-
-       * mips.cc (Mips_output_data_plt::rel_plt): Remove const from return
-       type.
-       (Target_mips::make_plt_entry): Make the sh_info field of .rel.plt
-       point to .plt.
-
-2017-01-23  Vladimir Radosavljevic  <Vladimir.Radosavljevic@imgtec.com>
+       PR ld/24912
+       * object.cc (big_endian>::do_layout): Do not report error,
+       but only set a flag.
+       (big_endian>::do_add_symbols): Report error only for when
+       relocatable.
 
-       PR gold/21054
-       * mips.cc (Mips_got_info::record_global_got_symbol): Don't add symbol
-       to the dynamic symbol table if it is forced to local visibility.
-       (Target_mips::do_finalize_sections): Don't add __RLD_MAP symbol to the
-       dynamic symbol table if it is forced to local visibility.
+2019-08-02  Alan Modra  <amodra@gmail.com>
 
-2017-01-20  Nick Clifton  <nickc@redhat.com>
-
-       * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
-        from a pointer to an array.
-
-2017-01-13  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR gold/21040
-       * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
-       Cast 0x80008000 to uint64_t.
-
-2017-01-12  Cary Coutant  <ccoutant@gmail.com>
-
-       * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
+       * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Set
+       flags for new relocations, and some missing older relocs.
+       (Target_powerpc::Scan::local): Handle new pcrel tls relocs.
+       Call set_has_static_tls for tprel relocs.
+       (Target_powerpc::Scan::global): Likewise.
+       (Target_powerpc::Relocate::relocate): Handle new pcrel tls relocs.
+
+2019-08-02  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform
+       signed right shift for signed overflow check.
+
+2019-07-29  Martin Liska  <mliska@suse.cz>
+
+       PR 24768
+       * layout.h (class Layout): Add is_lto_slim_object and
+       set_lto_slim_object.
+       * object.cc (struct lto_section): Add lto_slim_object_.
+       (big_endian>::do_layout): Parse content of
+       .gnu_lto_.lto section.
+       (big_endian>::do_add_symbols): Report error for a missing
+       LTO plugin.
+
+2019-07-13  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (xlate_pcrel_opt): New function.
+       (Target_powerpc::Relocate::relocate): Optimise PCREL34 and
+       GOT_PCREL34 sequences marked with PCREL_OPT.
+
+2019-07-13  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relobj::make_got_relative): New function.
+       (relative_value_is_known): New functions.
+       (Target_powerpc::Relocate::relocate): Edit code using
+       GOT16_HA, GOT16_LO_DS, and GOT_PCREL34 relocs.
+
+2019-07-13  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc): Add powerxx_stubs_ and accessor
+       functions.
+       (Target_powerpc::maybe_skip_tls_get_addr_call): Handle PLT_PCREL34
+       and PLT_PCREL34_NOTOC relocs.
+       (Powerpc_relocate_functions): Add addr34, addr34_hi, addr34_ha,
+       addr28, addr16_higher34, addr16_highera34, addr16_highest34,
+       addr16_highest34a functions.
+       (li_11_0, ori_11_11_0, sldi_11_11_34): Define.
+       (paddi_12_pc, pld_12_pc, pnop): Define.
+       (d34, ha34): New inline functions.
+       (Stub_table::add_plt_call_entry): Handle powerxx_stubs.
+       (Stub_table::add_eh_frame): Likewise.
+       (build_powerxx_offset): New function.
+       (Stub_table::plt_call_size): Handle powerxx_stubs.
+       (Stub_table::branch_stub_size): Likewise.
+       (Stub_table::do_write): Likewise.
+       (Target_powerpc::Scan::get_reference_flags): Handle new relocs.
+       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc: Likewise.
+       (Target_powerpc::Scan::local, global, relocate): Likewise.
+
+2019-07-13  Alan Modra  <amodra@gmail.com>
+
+       * ehframe.cc (Fde::operator==): Delete.
+       (Cie::remove_fde): Delete.
+       (Eh_frame::remove_ehframe_for_plt): Delete fde_data and fde_length
+       parameters.  Remove all post-map plt FDEs.
+       * ehframe.h (Fde:post_map): Make const, add variant to compare plt.
+       (Fde::operator==): Delete.
+       (Cie::remove_fde): Implement here.
+       (Cie::last_fde): New accessor.
+       (Eh_frame::remove_ehframe_for_plt): Update prototype.
+       * layout.cc (Layout::remove_eh_frame_for_plt): Delete fde_data and
+       fde_length parameters.
+       * layout.h (Layout::remove_eh_frame_for_plt): Update prototype.
+       * powerpc.cc (Stub_table::tls_get_addr_opt_bctrl_): Delete.
+       (Stub_table::plt_fde_len_, plt_fde_, init_plt_fde): Delete.
+       (Stub_table::add_plt_call_entry): Don't set tls_get_addr_opt_bctrl_.
+       (eh_advance): New function.
+       (stub_sort): New function.
+       (Stub_table::add_eh_frame): Emit eh_frame for notoc plt calls and
+       branches as well as __tls_get_addr_opt plt call stub.
+       (Stub_table::remove_eh_frame): Update to suit.
+
+2019-07-13  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::maybe_skip_tls_get_addr_call): Handle
+       notoc calls.
+       (is_branch_reloc): Template on size.  Return true for REL24_NOTOC.
+       Update all callers.
+       (max_branch_delta): Likewise.
+       (Target_powerpc::Branch_info::make_stub): Add a stub for notoc
+       calls to functions needing a valid toc pointer.
+       (Target_powerpc::do_relax): Layout stubs again if any need resize.
+       (add_12_11_12, addi_12_11, addis_12_11, ldx_12_11_12, ori_12_12_0),
+       (oris_12_12_0, sldi_12_12_32): Define.
+       (Stub_table::Plt_stub_ent): Add notoc_ and iter_ fields.
+       (Stub_table::Branch_stub_key, Branch_stub_key_hash): Rename from
+       Branch_stub_ent and Branch_stub_ent hash.  Remove save_res_ from key.
+       (Stub_table::Branch_stub_ent): New struct.
+       (class Stub_table): Add need_resize and resizing vars.
+       (Stub_table::need_resize, branch_size): New accessors.
+       (Stub_table::set_resizing): New function.
+       (Stub_table::add_plt_call_entry): Handle notoc calls and resizing
+       on seeing such or a tocsave stubs after a normal stub using the
+       same sym.
+       (Stub_table::add_long_branch_entry): Similarly.
+       (Stub_table::find_long_branch_entry): Return a Branch_stub_ent*.
+       (Stub_table::define_stub_syms): Adjust
+       (Stub_table::build_tls_opt_head, build_tls_opt_tail): New functions.
+       (build_notoc_offset): New function.
+       (Stub_table::plt_call_size): Move out of line.  Handle notoc calls.
+       (Stub_table::branch_stub_size): Similarly.
+       (Stub_table::do_write): Separate loop for ELFv2 stubs, handling
+       notoc calls.  Simplify ELFv1 loop.  Output notoc branch stubs.
+       Use build_tls_opt_head and build_tls_opt_tail.
+       (Target_powerpc::Scan::get_reference_flags): Handle REL24_NOTOC.
+       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise,
+       and PLTSEQ_NOTOC and PLTCALL_NOTOC.
+       (Target_powerpc::Scan::local, global, relocate): Likewise.
+
+2019-06-28  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::Relocate::relocate): Don't look
+       at next/previous reloc when relnum is -1.
+
+2019-06-28  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Stub_table::plt_error): New function.
+       (Stub_table::do_write): Use it.
+       (Output_data_glink::do_write): Don't segfault emitting linkage
+       table error.
+
+2019-06-28  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::Scan::get_reference_flags): Handle
+       REL16_HIGH* relocs.
+       (Target_powerpc::Scan::local): Likewise.
+       (Target_powerpc::Scan::global): Likewise.
+       (Target_powerpc::Relocate::relocate): Likewise.
+
+2019-06-10  Martin Liska  <mliska@suse.cz>
+
+       * errors.h: Include string.
+
+2019-05-10  Joshua Oreman  <oremanj@hudson-trading.com>
+
+       PR gold/21066
+       * gc.h (gc_process_relocs): Track relocations in .eh_frame sections
+       when ICF is enabled, even though the .eh_frame sections themselves
+       are not foldable.
+       * icf.cc (get_section_contents): Change arguments to permit operation
+       on just part of a section. Include extra identity regions in the
+       referring section's contents recursively.
+       (match_sections): Lock object here instead of in get_section_contents
+       so that get_section_contents can operate recursively.
+       (Icf::add_ehframe_links): New method.
+       (Icf::find_identical_sections): Pass .eh_frame sections to
+       add_ehframe_links(). Increase default iteration count from 2 to 3
+       because handling exception info typically requires one extra iteration.
+       * icf.h (Icf::extra_identity_list_): New data member with accessor.
+       (is_section_foldable_candidate): Include .gcc_except_table sections.
+       * options.h: Update documentation for new default ICF iteration count.
+       * testsuite/Makefile.am (icf_test_pr21066): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/icf_test_pr21066.cc: New source file.
+       * testsuite/icf_test_pr21066.sh: New test script.
 
-2017-01-11  Cary Coutant  <ccoutant@gmail.com>
+2019-02-19  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
 
-       PR gold/21040
-       * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
-       Remove unnecessary 'typename' keyword.
-       (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
-       (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
-       (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
-       (Output_data_plt_x86_64_bnd::do_write): Likewise.
+     PR gold/23870
+     * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with
+     R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry.
+     * testsuite/Makefile.am: Add aarch64_pr23870 test case.
+     * testsuite/Makefile.in: Regenerate.
+     * testsuite/aarch64_pr23870_bar.c: New file.
+     * testsuite/aarch64_pr23870_foo.c: New file.
+     * testsuite/aarch64_pr23870_main.S: New file.
 
-2017-01-11  Cary Coutant  <ccoutant@gmail.com>
+2019-02-12  Nick Clifton  <nickc@redhat.com>
 
-       PR gold/21040
-       * x86_64.cc (Output_data_plt_x86_64_bnd::do_fill_first_plt_entry):
-       Remove unnecessary 'typename' keyword.
-       (Output_data_plt_x86_64_bnd::do_fill_plt_entry): Likewise.
-       (Output_data_plt_x86_64_bnd::do_fill_tlsdesc_entry): Likewise.
-       (Output_data_plt_x86_64_bnd::fill_aplt_entry): Likewise.
-       * testsuite/copy_test_relro_1.cc (p, b, c, q): Add separate extern
-       declarations.
+       * po/fr.po: Updated French translation.
 
-2017-01-11  Cary Coutant  <ccoutant@gmail.com>
+2019-01-21  Nick Clifton  <nickc@redhat.com>
 
-       PR gold/21039
-       * testsuite/script_test_13.sh: Adjust patterns to work for i386.
-       * testsuite/script_test_15a.sh: Likewise.
-       * testsuite/script_test_15b.sh: Likewise.
-       * testsuite/script_test_15c.sh: Likewise.
+       * po/uk.po: Updated Ukranian translation.
 
-2017-01-11  Alan Modra  <amodra@gmail.com>
+2019-01-19  Nick Clifton  <nickc@redhat.com>
 
-       * powerpc.cc (class Powerpc_copy_relocs): New.
-       (Powerpc_copy_relocs::emit): New function.
-       (Powerpc_relobj::relatoc_, toc_, no_toc_opt_): New variables.
-       (Powerpc_relobj::toc_shndx, set_no_toc_opt, no_toc_opt): New inlines.
-       (Powerpc_relobj::do_relocate_sections): New function.
-       (Powerpc_relobj::make_toc_relative): Likewise.
-       (Powerpc_relobj::do_find_special_sections): Stash away .rela.toc
-       and .toc too.
-       (ok_lo_toc_insn): Move earlier, and handle more insns.
-       (Target_powerpc::Scan::local): If optimizing toc accesses, set
-       no_toc_opt for entries we can't edit.  Check insn validity.
-       Emit "toc optimization is not supported" warning, downgraded
-       from error.
-       (Target_powerpc::Scan::global): Likewise.
-       (Target_powerpc::Relocate::relocate): Edit TOC indirect code
-       to TOC relative.  Don't emit "toc optimization is not supported"
-       error here.
-
-2017-01-10  Cary Coutant  <ccoutant@gmail.com>
-
-       * aarch64.cc (AArch64_relobj::do_relocate_sections): Call
-       Sized_relobj_file::relocate_section_range().
-       * arm.cc (Arm_relobj::do_relocate_sections): Likewise.
-       * object.h (Sized_relobj_file::relocate_section_range): New method.
-       * reloc.cc (Sized_relobj_file::do_relocate_sections): Move
-       implementation...
-       (Sized_relobj_file::relocate_section_range): ...to new method.
-
-2017-01-10  Alan Modra  <amodra@gmail.com>
-
-       * testsuite/ver_test_8.sh: Accept .TOC. in lieu of
-       _GLOBAL_OFFSET_TABLE_.  Allow zero count.
-       * testsuite/copy_test_relro_1.cc (c, q): New vars.
-       * testsuite/copy_test_relro.cc: Rewrite to test read-only
-       status of variables directly.  Reference new vars in
-       read-only data.
-
-2017-01-10  Alan Modra  <amodra@gmail.com>
-
-       * options.h: Add --secure-plt option.
-       * powerpc.cc (Target_powerpc::Scan::local): Detect and error
-       on -fPIC -mbss-plt code.
-       (Target_powerpc::Scan::global): Likewise.
+       * po/gold.pot: Regenerate.
 
-2017-01-09  Alan Modra  <amodra@gmail.com>
+2018-06-24  Nick Clifton  <nickc@redhat.com>
 
-       * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
-       ".rela.plt" at ".plt".
+       2.32 branch created.
 
-2017-01-07  Alan Modra  <amodra@gmail.com>
+2019-01-09  Andrew Paprocki  <andrew@ishiboo.com>
 
-       * powerpc.cc: Use shorter equivalent elfcpp typedef for
-       Reltype and reloc_size throughout.
-       (Target_powerpc::symval_for_branch): Exclude dynamic symbols.
-       (Target_powerpc::Scan::local): Use local var r_sym.
-       (Target_powerpc::Scan::global: Likewise.
-       (Target_powerpc::Relocate::relocate): Delete shadowing r_sym.
+       * configure: Regenerate.
 
-2017-01-02  Alan Modra  <amodra@gmail.com>
+2019-01-01  Alan Modra  <amodra@gmail.com>
 
        Update year range in copyright notice of all files.
 
-For older changes see ChangeLog-2016
+For older changes see ChangeLog-2018
 \f
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2019 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright
This page took 0.027635 seconds and 4 git commands to generate.