Copy BFD_COMPRESS/BFD_DECOMPRESS/BFD_COMPRESS_GABI for thin archive
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 64a2dbe1cd42ff29b33428807b6f0982d4a4107e..6fe991d80d0c1e8d0669f80b5d73afbbbc1f2f03 100644 (file)
-2017-01-11  Cary Coutant  <ccoutant@gmail.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.
-
-2017-01-11  Cary Coutant  <ccoutant@gmail.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.
-
-2017-01-11  Alan Modra  <amodra@gmail.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.
+2019-08-16  Martin Liska  <mliska@suse.cz>
+
+       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.
+
+2019-08-02  Alan Modra  <amodra@gmail.com>
+
+       * 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): 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::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.
+
+2019-02-19  Egeyar Bagcioglu  <egeyar.bagcioglu@oracle.com>
+
+     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.
+
+2019-02-12  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
+
+2019-01-21  Nick Clifton  <nickc@redhat.com>
+
+       * po/uk.po: Updated Ukranian translation.
+
+2019-01-19  Nick Clifton  <nickc@redhat.com>
+
+       * 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.025371 seconds and 4 git commands to generate.