mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
544838989a
Better security beats better placement for code optimization. * powerpc.cc (Target_powerpc::make_brlt_section): Make .branch_lt relro.
279 lines
11 KiB
Plaintext
279 lines
11 KiB
Plaintext
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.
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
2018-02-07 Alan Modra <amodra@gmail.com>
|
||
|
||
Revert 2018-01-17 Alan Modra <amodra@gmail.com>
|
||
* options.h: Remove --speculate-indirect-jumps support.
|
||
* powerpc.cc: Likewise.
|
||
|
||
2018-02-02 Cary Coutant <ccoutant@gmail.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.
|
||
|
||
2018-01-18 Alan Modra <amodra@gmail.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.
|
||
|
||
2018-01-17 Alan Modra <amodra@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.
|
||
|
||
2018-01-17 Alan Modra <amodra@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.
|
||
|
||
2018-01-15 Cary Coutant <ccoutant@gmail.com>
|
||
|
||
PR gold/22694
|
||
* options.h (-fuse-ld): Add correct helparg.
|
||
|
||
2018-01-15 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/uk.po: Updated Ukranian translation.
|
||
|
||
2018-01-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/gold.pot: Regenerated.
|
||
|
||
2018-01-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
2.30 branch created.
|
||
|
||
2018-01-12 Cary Coutant <ccoutant@gmail.com>
|
||
|
||
* NEWS: Add new features in 1.15.
|
||
* version.cc (version_string): Bump to 1.15.
|
||
|
||
2018-01-12 Sterling Augustine <saugustine@google.com>
|
||
|
||
* cref.cc (Cref_inputs::Cref_table_compare::operator): Add
|
||
conditionals and calls to is_forwarder.
|
||
|
||
2018-01-03 Alan Modra <amodra@gmail.com>
|
||
|
||
Update year range in copyright notice of all files.
|
||
|
||
For older changes see ChangeLog-2017
|
||
|
||
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
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|