-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.
+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.
- * 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>
+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.
- * 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.
+2018-02-07 Alan Modra <amodra@gmail.com>
-2017-01-23 Vladimir Radosavljevic <Vladimir.Radosavljevic@imgtec.com>
+ Revert 2018-01-17 Alan Modra <amodra@gmail.com>
+ * options.h: Remove --speculate-indirect-jumps support.
+ * powerpc.cc: Likewise.
- 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.
+2018-02-02 Cary Coutant <ccoutant@gmail.com>
-2017-01-20 Nick Clifton <nickc@redhat.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.
- * aarch64.cc (Stub_template_repertoire): Change ST_E_835769_INSNS
- from a pointer to an array.
+2018-01-18 Alan Modra <amodra@gmail.com>
-2017-01-13 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.
- PR gold/21040
- * powerpc.cc (Powerpc_relobj<size, big_endian>::make_toc_relative):
- Cast 0x80008000 to uint64_t.
+2018-01-17 Alan Modra <amodra@gmail.com>
-2017-01-12 Cary Coutant <ccoutant@gmail.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.
- * object.cc (Sized_relobj_file): Fix byte counts for calls to memmem.
+2018-01-17 Alan Modra <amodra@gmail.com>
-2017-01-11 Cary Coutant <ccoutant@gmail.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/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.
+2018-01-15 Cary Coutant <ccoutant@gmail.com>
-2017-01-11 Cary Coutant <ccoutant@gmail.com>
+ PR gold/22694
+ * options.h (-fuse-ld): Add correct helparg.
- 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.
+2018-01-15 Nick Clifton <nickc@redhat.com>
-2017-01-11 Cary Coutant <ccoutant@gmail.com>
+ * po/uk.po: Updated Ukranian translation.
- 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.
+2018-01-13 Nick Clifton <nickc@redhat.com>
-2017-01-11 Alan Modra <amodra@gmail.com>
+ * po/gold.pot: Regenerated.
- * 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.
+2018-01-13 Nick Clifton <nickc@redhat.com>
-2017-01-10 Cary Coutant <ccoutant@gmail.com>
+ 2.30 branch created.
- * 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.
+2018-01-12 Cary Coutant <ccoutant@gmail.com>
-2017-01-10 Alan Modra <amodra@gmail.com>
+ * NEWS: Add new features in 1.15.
+ * version.cc (version_string): Bump to 1.15.
- * 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>
+2018-01-12 Sterling Augustine <saugustine@google.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.
-
-2017-01-09 Alan Modra <amodra@gmail.com>
+ * cref.cc (Cref_inputs::Cref_table_compare::operator): Add
+ conditionals and calls to is_forwarder.
- * powerpc.cc (Target_powerpc::make_plt_section): Point sh_info of
- ".rela.plt" at ".plt".
-
-2017-01-07 Alan Modra <amodra@gmail.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.
-
-2017-01-02 Alan Modra <amodra@gmail.com>
+2018-01-03 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-2017
\f
-Copyright (C) 2017 Free Software Foundation, Inc.
+Copyright (C) 2018 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright