-2018-06-19 Cary Coutant <ccoutant@gmail.com>
+2019-11-26 Martin Liska <mliska@suse.cz>
- * testsuite/Makefile.am (MOSTLYCLEANFILES): Add *.stderr.
- * testsuite/Makefile.in: Regenerate.
+ * layout.cc (Layout::special_ordering_of_input_section):
+ Add ".text.sorted".
+ * output.cc: Special case ".text.sorted".
+ * testsuite/section_sorting_name.cc: Cover also .text.sorted
+ subsections.
+ * testsuite/section_sorting_name.sh: Likewise.
-2018-06-19 Simon Marchi <simon.marchi@ericsson.com>
+2019-11-19 Alan Modra <amodra@gmail.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 24853
+ * symtab.h (set_has_gnu_output, has_gnu_output_): New.
+ * symtab.cc (Symbol_table::Symbol_table): Init has_gnu_output_.
+ (Symbol_table::finalize): Set ELFOSABI_GNU when has_gnu_output_.
+ (Symbol_table::set_dynsym_indexes, Symbol_table::sized_finalize):
+ Call set_has_gnu_output for STT_GNU_IFUNC and STB_GNU_UNIQUE globals.
+ * object.cc (Sized_relobj_file::do_finalize_local_symbols): Call
+ set_has_gnu_output when STT_GNU_IFUNC locals will be output.
-2018-05-10 Stephen Crane <sjc@immunant.com>
+2019-11-11 Miguel Saldivar <saldivarcher@gmail.com>
- * aarch64.cc (Target_aarch64::do_finalize_sections): Use size of
- .got section for the _GLOBAL_OFFSET_TABLE_ symbol computation.
+ PR 24996
+ * expression.cc (Trinary_expression::arg2_value): Use correct integer
+ expression when calling "eval_maybe_dot" method.
+ (Trinary_expression::arg3_value): Likewise.
-2018-04-24 Cary Coutant <ccoutant@gmail.com>
+2019-09-28 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.
+ PR 16794
+ * i386.cc (Target_i386::Relocate::relocate <R_386_GOTOFF>): Don't
+ ignore addend, apply using pcrel32.
+ * x86_64.cc (Target_x86_64::Relocate::relocate <R_X86_64_GOTOFF64>):
+ Similarly use pcrel64.
-2018-04-24 Cary Coutant <ccoutant@gmail.com>
+2019-09-24 Nick Clifton <nickc@redhat.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.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.
+ * descriptors.cc: Include <string>
-2018-04-19 Cary Coutant <ccoutant@gmail.com>
+2019-09-23 Alan Modra <amodra@gmail.com>
- PR gold/23046
- * gc.h (gc_process_relocs): Pass target to
- scan.local_reloc_may_be_function_pointer.
+ * testsuite/plugin_new_section_layout.c (new_input_hook): Correct
+ return status enum values.
-2018-04-18 Nick Clifton <nickc@redhat.com>
+2019-09-20 Alan Modra <amodra@gmail.com>
- * po/es.po: Updated Spanish translation.
+ PR 24768
+ * layout.cc (Layout::Layout): Init lto_slim_object_.
+ * object.cc (Sized_relobj_file::do_layout): Wrap overlong line.
+ Don't use C cast. Validate section size. Don't copy contents.
-2018-04-14 Cary Coutant <ccoutant@gmail.com>
+2019-09-20 Alan Modra <amodra@gmail.com>
- PR gold/23046
- * gc.h (gc_process_relocs): Pass target to
- scan.global_reloc_may_be_function_pointer.
+ * powerpc.cc (Target_powerpc::Scan::check_non_pic): Move REL24
+ to 32-bit supported.
-2018-04-09 Alan Modra <amodra@gmail.com>
+2019-09-18 Simon Marchi <simon.marchi@polymtl.ca>
- * configure: Regenerate.
+ * testsuite/Makefile.in: Re-generate.
-2018-04-09 Alan Modra <amodra@gmail.com>
+2019-09-09 Phil Blundell <pb@pbcl.net>
- * 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.
+ binutils 2.33 branch created.
-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.
-
-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.
+2019-08-16 Martin Liska <mliska@suse.cz>
-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.
+ 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.
-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.
+2019-08-02 Alan Modra <amodra@gmail.com>
-2018-02-07 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): Handle new pcrel tls relocs.
- Revert 2018-01-17 Alan Modra <amodra@gmail.com>
- * options.h: Remove --speculate-indirect-jumps support.
- * powerpc.cc: Likewise.
+2019-08-02 Alan Modra <amodra@gmail.com>
-2018-02-02 Cary Coutant <ccoutant@gmail.com>
+ * powerpc.cc (Powerpc_relocate_functions::rela, rela_ua): Perform
+ signed right shift for signed overflow check.
- * 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.
+2019-07-29 Martin Liska <mliska@suse.cz>
-2018-01-18 Alan Modra <amodra@gmail.com>
+ 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.
- * 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.
+2019-07-13 Alan Modra <amodra@gmail.com>
-2018-01-17 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.
- * 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.
+2019-07-13 Alan Modra <amodra@gmail.com>
-2018-01-17 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.
- * 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.
+2019-07-13 Alan Modra <amodra@gmail.com>
-2018-01-15 Cary Coutant <ccoutant@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.
- PR gold/22694
- * options.h (-fuse-ld): Add correct helparg.
+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.
-2018-01-15 Nick Clifton <nickc@redhat.com>
+2019-02-19 Egeyar Bagcioglu <egeyar.bagcioglu@oracle.com>
- * po/uk.po: Updated Ukranian translation.
+ 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>
-2018-01-13 Nick Clifton <nickc@redhat.com>
+ * po/fr.po: Updated French translation.
- * po/gold.pot: Regenerated.
+2019-01-21 Nick Clifton <nickc@redhat.com>
-2018-01-13 Nick Clifton <nickc@redhat.com>
+ * po/uk.po: Updated Ukranian translation.
- 2.30 branch created.
+2019-01-19 Nick Clifton <nickc@redhat.com>
-2018-01-12 Cary Coutant <ccoutant@gmail.com>
+ * po/gold.pot: Regenerate.
- * NEWS: Add new features in 1.15.
- * version.cc (version_string): Bump to 1.15.
+2018-06-24 Nick Clifton <nickc@redhat.com>
-2018-01-12 Sterling Augustine <saugustine@google.com>
+ 2.32 branch created.
- * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
- conditionals and calls to is_forwarder.
+2019-01-09 Andrew Paprocki <andrew@ishiboo.com>
+
+ * configure: Regenerate.
-2018-01-03 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-2017
+For older changes see ChangeLog-2018
\f
-Copyright (C) 2018 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