Gold: Skip zero-sized sections for ICF
[binutils-gdb.git] / gold / ChangeLog
index 922c2ff9bf639cd0f8b17c08512df642c030c564..0300722c3a6eecbe879afe9f54570d6b06b1f007 100644 (file)
-2018-06-26  Nick Clifton  <nickc@redhat.com>
+2020-10-13  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * icf.cc (Icf::find_identical_sections): Skip zero-sized sections.
+
+2020-10-09  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Powerpc_relobj::do_relocate_sections): Don't do
+       local entry offset optimisation for lplt_section.
+       (Target_powerpc::Branch_info::make_stub): Don't add local
+       entry offset to long branch dest passed to
+       add_long_branch_entry.  Do pass st_other bits.
+       (Stub_table::Branch_stub_ent): Add "other_" field.
+       (Stub_table::add_long_branch_entry): Add "other" param, and
+       save.
+       (Stub_table::branch_stub_size): Adjust long branch offset.
+       (Stub_table::do_write): Likewise.
+       (Target_powerpc::Relocate::relocate): Likewise.
+
+2020-10-09  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (is_got_reloc): New function.
+       (Target_powerpc::Relocate::relocate): Use it here, exclude GOT
+       relocs when looking for stubs.
+
+2020-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/split_i386.sh: Updated for --split-stack-adjust-size
+       default change.
+       * testsuite/split_x86_64.sh: Likewise.
+
+2020-10-08  Alan Modra  <amodra@gmail.com>
+
+       * options.h (split_stack_adjust_size): Default to 0x100000.
+
+2020-09-26  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc): Rename power10_stubs_ to
+       power10_relocs_.
+       (Target_powerpc::set_power10_relocs): New accessor.
+       (Target_powerpc::set_power10_stubs): Delete.
+       (Target_powerpc::power10_stubs): Adjust.
+       (Target_powerpc::has_localentry0): New accessor.
+       (ld_0_11): New constant.
+       (glink_eh_frame_fde_64v1, glink_eh_frame_fde_64v2): Adjust.
+       (glink_eh_frame_fde_64v2_localentry0): New.
+       (Output_data_glink::pltresolve_size): Update.
+       (Output_data_glink::add_eh_frame): Use localentry0 version eh_frame.
+       (Output_data_glink::do_write): Move r2 save to start of ELFv2 stub
+       and only emit for has_localentry0.  Don't use r2 in the stub.
+       (Target_powerpc::Scan::local, global): Adjust for
+       set_power10_relocs renaming.
+       (Target_powerpc::scan_relocs): Warn and reset plt_localentry0_.
+
+2020-09-24  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc::Relocate::relocate): Don't skip
+       first insn of __tls_get_addr_opt stub.
+
+2020-08-24  Alan Modra  <amodra@gmail.com>
+
+       * powerpc.cc (Target_powerpc): Add tprel_opt_ and accessors.
+       (Target_powerpc::Scan::local): Sanity check tprel high relocs.
+       (Target_powerpc::Scan::global): Likewise.
+       (Target_powerpc::Relocate::relocate): Control tprel optimisation
+       with tprel_opt_ and enable for 32-bit.
+
+2020-08-12  Nick Clifton  <nickc@redhat.com>
+
+       * po/sr.po: Updated Serbian translation.
+
+2020-07-27  Alan Modra  <amodra@gmail.com>
+
+       * options.h (DEFINE_enum): Add optional_arg__ param, adjust
+       all uses.
+       (General_options): Add --power10-stubs and --no-power10-stubs.
+       * options.cc (General_options::parse_no_power10_stubs): New.
+       (General_options::finalize): Handle --power10-stubs.
+       * powerpc.cc (set_power10_stubs): Don't set when --power10-stubs=no.
+       (power10_stubs_auto): New.
+       (struct Plt_stub_ent): Add toc_ and tocoff_.  Don't use a bitfield
+       for indx_.
+       (struct Branch_stub_ent): Add toc_and tocoff_.  Use bitfields for
+       iter_, notoc_ and save_res_.
+       (add_plt_call_entry): Set toc_.  Adjust resizing conditions for
+       --power10-stubs=auto.
+       (add_long_branch_entry): Set toc_.
+       (add_eh_frame, define_stub_syms): No longer use const_iterators
+       for plt and long branch stub iteration.
+       (build_tls_opt_head, build_tls_opt_tail): Change parameters and
+       return value.  Move tests for __tls_get_addr to callers.
+       (plt_call_size): Handle --power10-stubs=auto.
+       (branch_stub_size): Likewise.
+       (Stub_table::do_write): Likewise.
+       (relocate): Likewise.
+
+2020-07-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/bnd_ifunc_1.sh: Updated.
+       * testsuite/bnd_plt_1.sh: Likewise.
+       * testsuite/split_x32.sh: Likewise.
+       * testsuite/split_x86_64.sh: Likewise.
+       * testsuite/x86_64_indirect_call_to_direct.sh: Likewise.
+
+2020-07-08  Nick Clifton  <nickc@redhat.com>
+
+       * testsuite/script_test_7.sh: Adjust expected address of the .bss
+       section.
+       * testsuite/script_test_9.sh: Do not expect the .init section to
+       immediately follow the .text section in the mapping of sections to
+       segments.
+
+2020-07-07  Nick Clifton  <nickc@redhat.com>
+
+       * target-reloc.h: (Default_comdat_behaviour:get): Ignore discarded
+       relocs that refer to the .gnu.build.attributes section.
+
+2020-07-06  Nick Clifton  <nickc@redhat.com>
+
+       * po/fr.po: Updated French translation.
        * po/uk.po: Updated Ukranian translation.
 
-2018-06-24  Nick Clifton  <nickc@redhat.com>
+2020-07-04  Nick Clifton  <nickc@redhat.com>
 
-       * po/gold.pot: Regenerate.
+       Binutils 2.35 branch created.
 
-2018-06-24  Nick Clifton  <nickc@redhat.com>
-
-       2.31 branch created.
-
-2018-06-23  Cary Coutant  <ccoutant@gmail.com>
-
-       * version.cc (version_string): Bump to 1.16.
-       * NEWS: Add new features in 1.16.
-
-2018-06-23  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/22914
-       * x86_64.cc (Target_x86_64::record_gnu_property): Initialize val.
-
-2018-06-23  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/22915
-       * x86_64.cc (Output_data_plt_x86_64_ibt): New class.
-       (Target_x86_64::do_make_data_plt): (All instantiations) Check for
-       IBT feature bit and create IBT PLTs.
-
-2018-06-22  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/22914
-       * layout.cc (read_sized_value): Fix spelling of section name.
-       (Layout::layout_gnu_property): Call Sized_target::record_gnu_property
-       for target-specific properties;
-       don't store them with target-independent properties yet.
-       (Layout::merge_gnu_properties): New method.
-       (Layout::add_gnu_property): New method.
-       (Layout::create_gnu_properties_note): Call target to finalize
-       target-specific properties. Fix spelling of output section name.
-       * layout.h (Layout::merge_gnu_properties): New method.
-       (Layout::add_gnu_property): New method.
-       * object.cc (Sized_relobj_file::do_layout): Call
-       Layout::merge_gnu_properties.
-       * target.h (Target::merge_gnu_property): Remove.
-       (Target::finalize_gnu_properties): New method.
-       (Target::do_merge_gnu_property): Move to Sized_target and rename.
-       (Target::do_finalize_gnu_properties): New virtual method.
-       (Sized_target::record_gnu_property): Moved and renamed from
-       Target::do_merge_gnu_property.
-       (Sized_target::merge_gnu_properties): New virtual method.
-       * x86_64.cc (Target_x86_64::isa_1_used_, isa_1_needed_)
-       (feature_1_, object_feature_1_, seen_first_object_): New data members.
-       (Target_x86_64::do_merge_gnu_property): Rename to ...
-       (Target_x86_64::record_gnu_property): ... this.  Save target-specific
-       properties in Target class object.
-       (Target_x86_64::merge_gnu_properties): New method.
-       (add_property): New static inline function.
-       (Target_x86_64::do_finalize_gnu_properties): New method.
-       * testsuite/Makefile.am (gnu_property_test): Remove C source file;
-       link directly without compiler driver.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/gnu_property_a.S: Add _start.
-
-2018-06-22  Cary Coutant  <ccoutant@gmail.com>
-
-       * incremental.cc (Sized_incremental_binary::setup_readers): Use
-       emplace_back for GCC 5 and later.
-       * incremental.h (Incremental_binary::Input_reader): Provide copy
-       constructor.
-       (Sized_incremental_binary::Sized_input_reader): Likewise.
-
-2018-06-22  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/22914
-       * layout.cc (Layout::Layout): Initialize gnu_properties_.
-       (read_sized_value, write_sized_value): New functions.
-       (Layout::layout_gnu_property): New method.
-       (Layout::create_notes): Call create_gnu_properties_note.
-       (Layout::create_gnu_properties_note): New method.
-       * layout.h (Layout::layout_gnu_property): New method.
-       (Layout::create_gnu_properties_note): New method.
-       (Layout::Gnu_property, Layout::Gnu_properties): New types.
-       (Layout::gnu_properties_): New data member.
-       * object.cc (Sized_relobj_file::layout_gnu_property_section): New
-       method.
-       (Sized_relobj_file::do_layout): Handle .note.gnu.property sections.
-       * object.h (Sized_relobj_file::layout_gnu_property_section): New
-       method.
-       * target.h (Target::merge_gnu_property): New method.
-       (Target::do_merge_gnu_property): New virtual method.
-       * x86_64.cc (Target_x86_64::do_merge_gnu_property): New method.
-       * testsuite/Makefile.am (gnu_property_test): New test case.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/gnu_property_a.S: New source file.
-       * testsuite/gnu_property_b.S: New source file.
-       * testsuite/gnu_property_c.S: New source file.
-       * testsuite/gnu_property_main.c: New source file.
-       * testsuite/gnu_property_test.sh: New test script.
-
-2018-06-21  Cary Coutant  <ccoutant@gmail.com>
-
-       * resolve.cc (Symbol_table::resolve): Rename tobinding to
-       orig_tobinding.  Call set_is_needed() for objects that resolve
-       non-weak references.
-       (Symbol_table::should_override): Allow a dynamic definition to
-       override an earlier one in a not-needed library.
-       * symtab.cc (Symbol_table::set_dynsym_indexes): Remove separate
-       processing for as-needed symbols.  Add warning when discarding
-       version informatin.
-       * testsuite/Makefile.am (weak_as_needed): New test case.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/weak_as_needed.sh: New test script.
-       * testsuite/weak_as_needed_a.c: New source file.
-       * testsuite/weak_as_needed_b.c: New source file.
-       * testsuite/weak_as_needed_b.script: New version script.
-       * testsuite/weak_as_needed_c.c: New source file.
-       * testsuite/weak_as_needed_c.script: New version script.
-
-2018-06-20  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/23268
-       * dynobj.cc (Versions::Versions): Change init for needs_base_version_.
-       (Versions::record_version): Add verdefs for both shared objects and
-       executables.
-       (Versions::add_def): Likewise for base version.
-       (Versions::add_need): Don't add base version for executables.
-       (Versions::version_index): Look up version for both shared objects and
-       executables.
-       * testsuite/Makefile.am (ver_test_14): New test case.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/ver_test_14.script: New version script.
-       * testsuite/ver_test_14.sh: New test script.
-
-2018-06-19  Joshua Watt  <jpewhacker@gmail.com>
-           Cary Coutant  <ccoutant@gmail.com>
-
-       * configure.ac: Replace manual thread configuration with AX_PTHREAD.
-       Add --enable-threads=auto.
-       * Makefile.am (THREADFLAGS, THREADLIBS): New defines.
-       (AM_CFLAGS, AM_CXXFLAGS): Add $(THREADFLAGS).
-       (THREADSLIB): Remove; change all references to THREADLIBS.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * config.in: Regenerate.
-       * configure: Regenerate.
-       * testsuite/Makefile.am (THREADSLIB): Replace with...
-       (THREADFLAGS, THREADLIBS): ... these.
-       (LDADD): Remove; add as individual defines for...
-       (object_unittest, binary_unittest, leb128_unittest)
-       (overflow_unittest): ... these tests.
-       (tls_test, tls_pic_test, tls_pie_test, tls_pie_pic_test)
-       (tls_shared_test, tls_shared_ie_test, tls_shared_gd_to_ie_test)
-       (tls_shared_gnu2_gd_to_ie_test, tls_shared_gnu2_test_LDFLAGS)
-       (tls_shared_nonpic_test_LDFLAGS): Add $(THREADFLAGS) and ($THREADLIBS).
+2020-07-03  Alan Modra  <amodra@gmail.com>
+
+       PR 26028
+       * testsuite/Makefile.am (file_in_many_sections.stdout): Add -W
+       to readelf options.
        * testsuite/Makefile.in: Regenerate.
 
-2018-06-19  Cary Coutant  <ccoutant@gmail.com>
+2020-06-26  Nick Alcock  <nick.alcock@oracle.com>
 
-       * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr.
-       * testsuite/Makefile.in: Regenerate.
+       * configure.ac: Check for bswap_16, bswap_32, and bswap_64 decls.
+       * configure: Regenerated.
+       * config.h.in: Likewise.
+
+2020-06-24  Nick Clifton  <nickc@redhat.com>
+
+       * target-reloc.h (issue_discarded_error): Initialise the
+       key_symndx variable.
 
-2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
+2020-06-23  Roland McGrath  <mcgrathr@google.com>
 
-       * configure.ac: Remove AC_PREREQ, add missing quoting and usage
-       of AC_LANG_SOURCE.
-       * Makefile.in: Re-generate.
-       * aclocal.m4: Re-generate.
-       * configure: Re-generate.
-       * testsuite/Makefile.in: Re-generate.
+       PR 22843
+       * options.h (class General_options): Add --dependency-file option.
+       * fileread.cc (File_read::files_read): New static variable.
+       (File_read::open): Add the file to the files_read list.
+       (File_read::record_file_read): New static member function.
+       (File_read::write_dependency_file): New static member function.
+       * fileread.h (class File_read): Declare them.
+       * layout.cc (Layout::read_layout_from_file): Call record_file_read.
+       (Close_task_runner::run): Call write_dependency_file if
+       --dependency-file was passed.
 
-2018-05-10  Stephen Crane  <sjc@immunant.com>
+2020-06-18  Fangrui Song  <i@maskray.me>
 
-       * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of
-       .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation.
+       PR gold/26039
+       * layout.cc (Layout::finish_dynamic_section): Set DF_1_PIE.
 
-2018-04-24  Cary Coutant  <ccoutant@gmail.com>
+2020-06-16  Alan Modra  <amodra@gmail.com>
 
-       PR gold/20642
-       PR gold/22820
-       * gc.h (gc_process_relocs): Flag STT_SECTION symbols in symvec.
-       * icf.cc (get_section_contents): For merge sections, ignore the
-       addend for relocations against non-section symbols.
+       * testsuite/discard_locals_test.c: Replace uses of asm with __asm__.
+       * testsuite/discard_locals_relocatable_test.c: Likewise.
 
-2018-04-24  Cary Coutant  <ccoutant@gmail.com>
+2020-06-16  Alan Modra  <amodra@gmail.com>
 
-       PR gold/16504
-       * dynobj.cc (Versions::symbol_section_contents): Don't set
-       VERSYM_HIDDEN flag for undefined symbols.
-       * symtab.cc (Symbol_table::add_from_object): Don't override default
-       version definition with a different default version.
-       * symtab.h (Symbol::from_dyn): New method.
-       * testsuite/plugin_test.c (struct sym_info): Add ver field.
-       (claim_file_hook): Pass symbol version to plugin API.
-       (parse_readelf_line): Parse symbol version.
-       * testsuite/Makefile.am (ver_test_pr16504): New test case.
+       * testsuite/Makefile.am (export_dynamic_plugin.o): Use CXXCOMPILE.
+       (plugin_test_wrap_symbols_1.o): Likewise.
+       (plugin_test_wrap_symbols_2.o): Likewise.
        * testsuite/Makefile.in: Regenerate.
-       * testsuite/ver_test_pr16504.sh: New test script.
-       * testsuite/ver_test_pr16504_a.c: New source file.
-       * testsuite/ver_test_pr16504_a.script: New version script.
-       * testsuite/ver_test_pr16504_b.c: New source file.
-       * testsuite/ver_test_pr16504_b.script: New version script.
 
-2018-04-19  Cary Coutant  <ccoutant@gmail.com>
+2020-06-15  Roland McGrath  <mcgrathr@google.com>
 
-       PR gold/23046
-       * gc.h (gc_process_relocs): Pass target to
-       scan.local_reloc_may_be_function_pointer.
+       Implement -z start-stop-visibility=... option.
+       * options.h (class General_options): Handle -z start-stop-visibility=.
+       (General_options::start_stop_visibility_enum): New public method.
+       (General_options::set_start_stop_visibility_enum): New private method.
+       (General_options::start_stop_visibility_enum_): New private member.
+       * options.cc (General_options::General_options): Add initializer.
+       (General_options::finalize): Set this->start_stop_visibility_enum_
+       from string value.
+       * layout.cc (Layout::define_section_symbols): Use option setting.
 
-2018-04-18  Nick Clifton  <nickc@redhat.com>
+2020-06-06  Alan Modra  <amodra@gmail.com>
 
-       * po/es.po: Updated Spanish translation.
+       * powerpc.cc: Update throughout for reloc renaming.
 
-2018-04-14  Cary Coutant  <ccoutant@gmail.com>
+2020-05-22  Alan Modra  <amodra@gmail.com>
 
-       PR gold/23046
-       * gc.h (gc_process_relocs): Pass target to
-       scan.global_reloc_may_be_function_pointer.
+       PR 25882
+       * powerpc.cc (merge_object_attributes): Replace name param with
+       obj param.  Update callers.  Don't init FP attributes from shared
+       libraries, and do not emit an error if they don't match.
 
-2018-04-09  Alan Modra  <amodra@gmail.com>
+2020-05-15  Nikita Ermakov  <coffe92@gmail.com>
 
-       * configure: Regenerate.
+       * powerpc.cc (do_gc_mark_symbol): Don't segfault on plugin symbols.
 
-2018-04-09  Alan Modra  <amodra@gmail.com>
+2020-05-14  Nick Clifton  <nickc@redhat.com>
 
-       * powerpc.cc (Target_powerpc::Track_tls::maybe_skip_tls_get_addr_call):
-       Handle inline plt sequence relocs.
-       (Stub_table::Plt_stub_key::Plt_stub_key): Likewise.
-       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Likewise.
-       (Target_powerpc::Relocate::relocate): Likewise.
+       * po/sr.po: New Serbian translation.
 
-2018-04-09  Alan Modra  <amodra@gmail.com>
-
-       * powerpc.cc (Target_powerpc::lplt_): New variable.
-       (Target_powerpc::lplt_section): Associated accessor.
-       (Target_powerpc::plt_off): Handle local non-ifunc symbols.
-       (Target_powerpc::make_lplt_section): New function.
-       (Target_powerpc::make_local_plt_entry): New function.
-       (Powerpc_relobj::do_relocate_sections): Write out lplt.
-       (Output_data_plt_powerpc::first_plt_entry_offset): Zero for lplt.
-       (Output_data_plt_powerpc::add_local_entry): New function.
-       (Output_data_plt_powerpc::do_write): Ignore lplt.
-       (Target_powerpc::make_iplt_section): Make lplt first.
-       (Target_powerpc::make_brlt_section): Make .branch_lt relro.
-       (Target_powerpc::Scan::local): Handle PLT16 relocs.
-
-2018-04-09  Alan Modra  <amodra@gmail.com>
-
-       * powerpc.cc (Target_powerpc::plt_off): New functions.
-       (is_plt16_reloc): New function.
-       (Stub_table::plt_off): Use Target_powerpc::plt_off.
-       (Stub_table::plt_call_size): Use plt_off.
-       (Stub_table::do_write): Likewise.
-       (Target_powerpc::Scan::get_reference_flags): Return RELATIVE_REF
-       for PLT16 relocations.
-       (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Return true
-       for PLT16 relocations.
-       (Target_powerpc::Scan::global): Make a PLT entry for PLT16 relocations.
-       (Target_powerpc::Relocate::relocate): Support PLT16 relocations.
-       (Powerpc_scan_relocatable_reloc::global_strategy): Return RELOC_SPECIAL
-       for ppc32 plt16 relocs.
-
-2018-04-06  Cary Coutant  <ccoutant@gmail.com>
-
-       * object.cc (Sized_relobj_file::include_section_group): Store
-       reference to Kept_section info for discarded comdat sections
-       regardless of size.  Move size checking to map_to_kept_section.
-       (Sized_relobj_file::include_linkonce_section): Likewise.
-       (Sized_relobj_file::map_to_kept_section): Add section name parameter.
-       Insert size checking logic from above functions.
-       (Sized_relobj_file::find_kept_section_object): New method.
-       (Sized_relobj_file::get_symbol_name): New method.
-       * object.h (Sized_relobj_file::map_to_kept_section): Add section_name
-       parameter.  Adjust all callers.
-       (Sized_relobj_file::find_kept_section_object): New method.
-       (Sized_relobj_file::get_symbol_name): New method.
-       (Sized_relobj_file::Kept_comdat_section): Replace object and shndx
-       fields with sh_size, kept_section, symndx, and is_comdat fields.
-       (Sized_relobj_file::set_kept_comdat_section): Replace kept_object
-       and kept_shndx parameters with is_comdat, symndx, sh_size, and
-       kept_section.
-       (Sized_relobj_file::get_kept_comdat_section): Likewise.
-       * target-reloc.h (enum Comdat_behavior): Change CB_WARNING to CB_ERROR.
-       Adjust all references.
-       (issue_undefined_symbol_error): New function template.
-       (relocate_section): Pass section name to map_to_kept_section.
-       Move discarded section code to new function above.
-       * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Move
-       declaration for gsym out one level.  Call issue_discarded_error.
-       * arm.cc (Target_arm::scan_reloc_section_for_stubs): Likewise.
-       * powerpc.cc (Relocate_comdat_behavior): Change CB_WARNING to CB_ERROR.
-
-2018-04-05  Cary Coutant  <ccoutant@gmail.com>
-
-       * target-reloc.h (relocate_section): Add local symbol index or global
-       symbol name to warning about relocation that refers to discarded
-       section.
+2020-05-11  Alan Modra  <amodra@gmail.com>
 
-2018-04-05  James Cowgill  <james.cowgill@mips.com>
-
-       Revert previous patch and apply revised patch.
-
-       PR gold/22770
-       * mips.cc (Mips_got_info::record_got_page_entry): Don't insert
-       Got_page_entry for object's GOT.
-       (Mips_got_info::add_got_page_entries): Add all pages from from's GOT.
-       Rename to add_got_page_count.
-       (Got_page_entry): Remove num_pages.
-
-2018-04-05  James Cowgill  <james.cowgill@mips.com>
-
-       PR gold/22770
-       * mips.cc (Mips_got_info::record_got_page_entry): Fetch existing
-       page entries for the object's GOT.
-
-2018-04-05  Alan Modra  <amodra@gmail.com>
-
-       * powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro.
-
-2018-04-04  Nick Clifton  <nickc@redhat.com>
-
-       * po/es.po: Updated Spanish translation.
-
-2018-04-02  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/23016
-       * incremental.cc (can_incremental_update): Check for unwind section
-       type.
-       * layout.h (Layout::layout): Add sh_type parameter.
-       * layout.cc (Layout::layout): Likewise.
-       (Layout::layout_reloc): Create new output reloc section if data
-       section does not already have one.
-       (Layout::layout_eh_frame): Check for unwind section type.
-       (Layout::make_eh_frame_section): Use unwind section type for .eh_frame
-       and .eh_frame_hdr.
-       * object.h (Sized_relobj_file::Shdr_write): New typedef.
-       (Sized_relobj_file::layout_section): Add sh_type parameter.
-       (Sized_relobj_file::Deferred_layout::Deferred_layout): Add sh_type
-       parameter.
-       * object.cc (Sized_relobj_file::check_eh_frame_flags): Check for
-       unwind section type.
-       (Sized_relobj_file::layout_section): Add sh_type parameter; pass it
-       to Layout::layout.
-       (Sized_relobj_file::do_layout): Make local copy of sh_type.
-       Force .eh_frame sections to unwind section type.
-       Pass sh_type to layout_section.
-       (Sized_relobj_file<size, big_endian>::do_layout_deferred_sections):
-       Pass sh_type to layout_section.
-       * output.cc (Output_section::Output_section): Initialize reloc_section_.
-       * output.h (Output_section::reloc_section): New method.
-       (Output_section::set_reloc_section): New method.
-       (Output_section::reloc_section_): New data member.
-       * target.h (Target::unwind_section_type): New method.
-       (Target::Target_info::unwind_section_type): New data member.
-
-       * aarch64.cc (aarch64_info): Add unwind_section_type.
-       * arm.cc (arm_info, arm_nacl_info): Likewise.
-       * i386.cc (i386_info, i386_nacl_info, iamcu_info): Likewise.
-       * mips.cc (mips_info, mips_nacl_info): Likewise.
-       * powerpc.cc (powerpc_info): Likewise.
-       * s390.cc (s390_info): Likewise.
-       * sparc.cc (sparc_info): Likewise.
-       * tilegx.cc (tilegx_info): Likewise.
-       * x86_64.cc (x86_64_info, x86_64_nacl_info): Likewise.
-
-       * testsuite/Makefile.am (pr23016_1, pr23016_2): New test cases.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/testfile.cc: Add unwind_section_type.
-       * testsuite/pr23016_1.sh: New test script.
-       * testsuite/pr23016_1a.s: New source file.
-       * testsuite/pr23016_1b.s: New source file.
-       * testsuite/pr23016_2.sh: New test script.
-       * testsuite/pr23016_2a.s: New source file.
-       * testsuite/pr23016_2b.s: New source file.
-
-2018-03-28  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/21423
-       PR gold/22500
-       * configure.ac: Call AC_USE_SYSTEM_EXTENSIONS.
-       Replace check for --enable-plugins with AC_PLUGINS.
-       * options.cc (parse_plugin, parse_plugin_opt): Remove #ifdef.
-       (General_options::finalize): Check if plugins enabled.
-       * options.h (--plugin, --plugin-opt): Define even if plugins not
-       enabled.
-       * Makefile.in: Regenerate.
-       * aclocal.m4: Regenerate.
-       * configure: Regenerate.
-       * testsuite/Makefile.in: Regenerate.
+       * powerpc.cc: Rename powerxx to power10 throughout.
 
-2018-03-28  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/22969
-       * aarch64-reloc.def: Add TLSLE_LDST* relocations.
-       * aarch64.cc (Target_aarch64::optimize_tls_reloc): Likewise.
-       (Target_aarch64::Scan::local): Likewise.
-       (Target_aarch64::Scan::global): Likewise.
-       (Target_aarch64::Relocate::relocate): Likewise.
-       (Target_aarch64::Relocate::relocate_tls): Likewise.
-
-2018-03-27  Roland McGrath  <mcgrathr@google.com>
-
-       * testsuite/split_x86_64.sh: Fix bad regexp.
-
-2018-03-26  Cary Coutant  <ccoutant@gmail.com>
-
-       PR gold/22868
-       * plugin.cc (Sized_pluginobj::do_add_symbols): Use a real section
-       index instead of SHN_ABS for defined symbols.
-       * testsuite/Makefile.am (plugin_pr22868): New test case.
-       * testsuite/Makefile.in: Regenerate
-       * testsuite/plugin_pr22868.sh: New test script.
-       * testsuite/plugin_pr22868_a.c: New source file.
-       * testsuite/plugin_pr22868_b.c: New source file.
-
-2018-03-23  Cary Coutant  <ccoutant@gmail.com>
-
-       * plugin.cc (link_or_copy_file): Remove newlines from warning messages.
-       Add pedantic check for return value from ::write.
-
-2018-03-23  Cary Coutant  <ccoutant@gmail.com>
-
-       * debug.h (DEBUG_PLUGIN): New constant.
-       (DEBUG_ALL): Add DEBUG_PLUGIN.
-       (debug_string_to_enum): Likewise.
-       * plugin.cc (make_sized_plugin_object): Add filename parameter.
-       (Plugin_recorder): New class.
-       (Plugin_manager::~Plugin_manager): Delete recorder_.
-       (Plugin_manager::load_plugins): Create and initialize recorder_.
-       (Plugin_manager::claim_file): Record claimed and unclaimed files.
-       (Plugin_manager::make_plugin_object): Use object name as name for
-       plugin object, if available.
-       (Plugin_manager::add_input_file): Record replacement files.
-       (Sized_pluginobj::do_add_symbols): Record plugin symbols.
-       (Plugin_finish::run): Call Plugin_recorder::finish().
-       (make_sized_plugin_object): Add filename parameter and pass to
-       Sized_pluginobj constructor.
-       * plugin.h (Plugin::filename): New method.
-       (Plugin::recorder): New method.
-       (Plugin::recorder_): New data member.
-
-2018-03-07  Sriraman Tallam  <tmsriram@google.com>
-
-       * layout.cc (Layout::default_section_order): Check for text section
-       prefixes.
-       (Layout::text_section_name_mapping): New static member.
-       (Layout::text_section_name_mapping_count): New static member.
-       (Layout::match_section_name): New static function.
-       (Layout::output_section_name): Check for text section prefixes.
-       * layout.h (Output_section_order::ORDER_TEXT_HOT): New enum value.
-       (Output_section_order::ORDER_TEXT_STARTUP): New enum value.
-       (Output_section_order::ORDER_TEXT_EXIT): New enum value.
-       (Output_section_order::ORDER_TEXT_UNLIKELY): New enum value.
-       (Layout::text_section_name_mapping): New static member.
-       (Layout::text_section_name_mapping_count): New static member.
-       (Layout::match_section_name): New static function.
-       * options.h (keep_text_section_prefix): New -z option.
-       * testsuite/Makefile.am (keep_text_section_prefix): New test.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/keep_text_section_prefix.cc: New test source.
-       * testsuite/keep_text_section_prefix.sh: New test script.
-
-2018-02-22  Sriraman Tallam  <tmsriram@google.com>
-
-       * plugin.cc (get_wrap_symbols): New plugin interface.
-       (load): Add get_wrap_symbols to transfer vector.
-       * plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
-       * testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
-       interface.
-       * testsuite/plugin_test_wrap_symbols.sh: New test script.
-       * testsuite/plugin_test_wrap_symbols_1.cc: New file.
-       * testsuite/plugin_test_wrap_symbols_2.cc: New file.
-       * testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
-       * testsuite/Makefile.in: Regenerate.
+2020-05-02  H.J. Lu  <hongjiu.lu@intel.com>
 
-2018-02-07  Sriraman Tallam  <tmsriram@google.com>
-
-       * expression.cc (Symbol_expression::set_expr_sym_in_real_elf):
-       New method.
-       (Unary_expression::set_expr_sym_in_real_elf): New method.
-       (Binary_expression::set_expr_sym_in_real_elf): New method.
-       (Trinary_expression::set_expr_sym_in_real_elf): New method.
-       * plugin.cc (get_symbol_resolution_info): Fix symbol resolution if
-       defined or used in defsyms.
-       * plugin.h (Plugin_manager::is_defsym_def): New method.
-       (Plugin_manager::Plugin_manager): Initialize defsym_defines_set_.
-       (Plugin_manager::defsym_defines_set_): New member.
-       (Plugin_manager::Defsym_defines_set): New typedef.
-       * script.cc (Script_options::set_defsym_uses_in_real_elf): New method.
-       (Script_options::find_defsym_defs): New method.
-       * script.h (Expression::set_expr_sym_in_real_elf): New method.
-       (Symbol_assignment::is_defsym): New method.
-       (Symbol_assignment::value): New method.
-       (Script_options::find_defsym_defs): New method.
-       (Script_options::set_defsym_uses_in_real_elf): New method.
-       * testsuite/Makefile.am (plugin_test_defsym): New test.
-       * testsuite/Makefile.in: Regenerate.
-       * testsuite/plugin_test.c: Check for new symbol resolution.
-       * testsuite/plugin_test_defsym.sh: New script.
-       * testsuite/plugin_test_defsym.c: New test source.
+       PR gold/25904
+       * testsuite/Makefile.am (COMMON_TEST_C_CFLAGS): New.
+       (common_test_1.o): New rule.
+       (common_test_2.o): Likewise.
+       (common_test_3.o): Likewise.
+       (plugin_common_test_1.o): Likewise.
+       (plugin_common_test_2.o): Likewise.
+       (common_test_1_v1.o): Likewise.
+       (common_test_1_v2.o): Likewise.
+       (common_test_2_pic.o): Compile with $(COMMON_TEST_C_CFLAGS).
+       (common_test_3_pic.o): Likewise.
+       * testsuite/Makefile.in: Regenerated.
 
-2018-02-07  Alan Modra  <amodra@gmail.com>
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
 
-       Revert 2018-01-17  Alan Modra  <amodra@gmail.com>
-       * options.h: Remove --speculate-indirect-jumps support.
-       * powerpc.cc: Likewise.
+       PR gold/25426
+       * x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
+       For x32, relax "rex leal foo@tlsdesc(%rip), %reg" to
+       "rex movl foo@gottpoff(%rip), %eax" and relax ""call *(%eax)"
+       to "nopl (%rax)".
+       (Target_x86_64<size>::Relocate::tls_desc_gd_to_le): For x32,
+       relax "rex leal foo@tlsdesc(%rip), %reg" to
+       "rex movl foo@tpoff, %eax" and relax "call *foo@tlscall(%eax)"
+       to "nopl (%rax)".
+       * testsuite/Makefile.am (tls_test_gnu2.o): Depend on
+       gcctestdir/as.
+       (tls_test_file2_gnu2.o): Likewise.
+       (tls_test_c_gnu2.o): Likewise.
+       * testsuite/Makefile.in: Regenerated.
 
-2018-02-02  Cary Coutant  <ccoutant@gmail.com>
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * PR gold/22776
-       * dwarf_reader.cc (Sized_dwarf_line_info::read_header_prolog): Add
-       support for DWARF-4 line number tables.
-       * dwarf_reader.h (Sized_dwarf_line_info::max_ops_per_insn): New field.
+       PR gold/25473
+       * x86_64.cc (Target_x86_64<size>::Relocate::tls_desc_gd_to_ie):
+       Properly check r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
+       (Target_x86_64<size>::Relocate::tls_desc_gd_to_le): Properly
+       relax r8 - r15 in "lea foo@TLSDESC(%rip), %reg".
+       * testsuite/Makefile.am (check_SCRIPTS): Add x86_64_gd_to_le.sh.
+       (check_DATA): Add x86_64_gd_to_le.stdout.
+       (MOSTLYCLEANFILES): Add x86_64_gd_to_le.
+       (x86_64_gd_to_le.o): New target.
+       (x86_64_gd_to_le): Likewise.
+       (x86_64_gd_to_le.stdout): Likewise.
+       * testsuite/Makefile.in: Regenerated.
+       * testsuite/x86_64_gd_to_le.s: New file.
+       * testsuite/x86_64_gd_to_le.sh: Likewise.
 
-2018-01-18  Alan Modra  <amodra@gmail.com>
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * powerpc.cc (param_plt_align): New function supplying default
-       --plt-align values.  Use it..
-       (Stub_table::plt_call_align): ..here, and..
-       (Output_data_glink::global_entry_align): ..here.
-       (Stub_table::stub_align): Correct 32-bit minimum alignment.
+       * testsuite/odr_violation2.cc (Ordering::operator()): Make
+       expression even more complex.
 
-2018-01-17  Alan Modra  <amodra@gmail.com>
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * options.h (speculate_indirect_jumps): New option.
-       * powerpc.cc (beqctrm, beqctrlm, crseteq): New insn constants.
-       (output_bctr): New function.
-       (Stub_table::plt_call_size): Add space for speculation barrier.
-       (Stub_table::branch_stub_size): Likewise.
-       (Output_data_glink::pltresolve_size): Likewise.
-       (Stub_table::do_write): Output speculation barriers.
+       * testsuite/ver_test_pr16504.sh: Updated.
 
-2018-01-17  Alan Modra  <amodra@gmail.com>
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
 
-       * options.h (plt_align): Support for PowerPC32 too.
-       * powerpc.cc (Stub_table::stub_align): Heed --plt-align for 32-bit.
-       (Stub_table::plt_call_size, branch_stub_size): Tidy.
-       (Stub_table::plt_call_align): Implement using stub_align.
-       (Output_data_glink::global_entry_align): New function.
-       (Output_data_glink::global_entry_off): New function.
-       (Output_data_glink::global_entry_address): Use global_entry_off.
-       (Output_data_glink::pltresolve_size): New function, replacing
-       pltresolve_size_ constant.  Update all uses.
-       (Output_data_glink::add_global_entry): Align offset.
-       (Output_data_glink::set_final_data_size): Use global_entry_align.
-       (Stub_table::do_write): Don't pad __glink_PLTrelsolve with nops.
-       Tidy stub output.  Use global_entry_off.
+       PR gold/25872
+       * x86_64.cc (Output_data_plt_x86_64_bnd::do_write): Increment
+       plt_offset after setting the reserved TLSDESC PLT entry.
+       (Output_data_plt_x86_64_ibt<size>::do_write): Likewise.
 
-2018-01-15  Cary Coutant  <ccoutant@gmail.com>
+2020-05-01  H.J. Lu  <hongjiu.lu@intel.com>
 
-       PR gold/22694
-       * options.h (-fuse-ld): Add correct helparg.
+       PR gold/25872
+       * x86_64.cc (Output_data_plt_x86_64_bnd::do_address_for_local):
+       Handle local IFUNC symbol.
+       (Output_data_plt_x86_64_ibt::do_address_for_local): Likewise.
 
-2018-01-15  Nick Clifton  <nickc@redhat.com>
+2020-03-19  Fangrui Song  <maskray@google.com>
 
-       * po/uk.po: Updated Ukranian translation.
+    * options.h (General_options): Add --no-rosegment option.
 
-2018-01-13  Nick Clifton  <nickc@redhat.com>
+2020-02-24  Nick Clifton  <nickc@redhat.com>
 
-       * po/gold.pot: Regenerated.
+       * po/fr.po: Update French translation.
 
-2018-01-13  Nick Clifton  <nickc@redhat.com>
+2020-01-20  Nick Clifton  <nickc@redhat.com>
 
-       2.30 branch created.
+       * po/uk.po: Updated Ukranian translation.
 
-2018-01-12  Cary Coutant  <ccoutant@gmail.com>
+2020-01-18  Nick Clifton  <nickc@redhat.com>
 
-       * NEWS: Add new features in 1.15.
-       * version.cc (version_string): Bump to 1.15.
+       * configure: Regenerate.
+       * po/gold.pot: Regenerate.
 
-2018-01-12  Sterling Augustine  <saugustine@google.com>
+2020-01-18  Nick Clifton  <nickc@redhat.com>
 
-       * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
-       conditionals and calls to is_forwarder.
+       Binutils 2.34 branch created.
 
-2018-01-03  Alan Modra  <amodra@gmail.com>
+2020-01-01  Alan Modra  <amodra@gmail.com>
 
        Update year range in copyright notice of all files.
 
-For older changes see ChangeLog-2017
+For older changes see ChangeLog-2019
 \f
-Copyright (C) 2018 Free Software Foundation, Inc.
+Copyright (C) 2020 Free Software Foundation, Inc.
 
 Copying and distribution of this file, with or without modification,
 are permitted in any medium without royalty provided the copyright