summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gold/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'binutils-2.25/gold/ChangeLog')
-rw-r--r--binutils-2.25/gold/ChangeLog602
1 files changed, 212 insertions, 390 deletions
diff --git a/binutils-2.25/gold/ChangeLog b/binutils-2.25/gold/ChangeLog
index e1ca71fb..9608cc03 100644
--- a/binutils-2.25/gold/ChangeLog
+++ b/binutils-2.25/gold/ChangeLog
@@ -1,151 +1,7 @@
-2015-07-23 Ian Coolidge <icoolidge@google.com>
- Plumb --pic-veneer option for gold.
-
- * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub
- generation.
- * options.h (General_options): Add --pic-veneer option.
-
-2015-07-09 Han Shen <shenhan@google.com>
-
- Use "gold_info" instead of "gold_warning" for erratum fix.
-
- * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Use
- 'gold_info'.
- (Target_aarch64::scan_erratum_835769_span): USe 'gold_info'.
-
-2015-07-09 Han Shen <shenhan@google.com>
-
- Drop missing symbol warning for arm/aarch64.
-
- * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning.
- * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing
- symbol warning.
-
-2015-07-07 Han Shen <shenhan@google.com>
-
- Make gold aarch64 accept long form of mapping symbols.
-
- * aarch64.cc (AArch64_relobj::do_count_local_symbols): Make legal
- of mapping symbols.
-
-2015-06-29 Han Shen <shenhan@google.com>
-
- Patch for erratum 843419 internal error.
-
- * aarch64.cc (Erratum_stub::Insn_utilities): New typedef.
- (Erratum_stub::update_erratum_insn): New method.
- (Stub_table::relocate_stubs): Modified to place relocated insn.
- (AArch64_relobj::fix_errata): Modified gold_assert.
-
-2015-06-16 Yiran Wang <yiran@google.com>
- * resolve.cc disable the warning of a hidden symbol matches a
- reference to be resolved
-
-2015-06-12 Han Shen <shenhan@google.com>
-
- Fix erratum 835769.
-
- * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move
- defintion outside class definition.
- (AArch64_insn_utilities::AARCH64_ZR): New static constant.
- (AArch64_insn_utilities::aarch64_op31): New member.
- (AArch64_insn_utilities::aarch64_ra): New member.
- (AArch64_insn_utilities::aarch64_mac): New member.
- (AArch64_insn_utilities::aarch64_mlxl): New member.
- (ST_E_835769): New global enum member.
- (Stub_table::relocate_stubs): Add 835769 handler.
- (Stub_template_repertoire::Stub_template_repertoire): Install new
- stub type.
- (AArch64_relobj::scan_errata): This func is renamed from
- scan_erratum_843419.
- (AArch64_relobj::do_count_local_symbols): Add 835769 handler.
- (AArch64_relobj::do_relocate_sections): Add 835769 handler.
- (AArch64_relobj::scan_sections_for_stubs): Add 835769 handler.
- (Target_aarch64::scan_erratum_835769_span): New method.
- (Target_aarch64::create_erratum_stub): New method.
- (Target_aarch64::is_erratum_835769_sequence): New method.
- (Target_aarch64::scan_erratum_843419_sequence): Move part of the
- code into create_erratum_stub.
- * options.h (fix_cortex_a53_835769): New option.
-
-2015-06-11 Cary Coutant <ccoutant@gmail.com>
-
- * aarch64.cc (Erratum_stub::STUB_ADDR_ALIGN): Move initialization
- outside class body.
- (Reloc_stub::STUB_ADDR_ALIGN): Likewise.
-
-2015-06-10 Han Shen <shenhan@google.com>
- Patch for erratum-843419 (2 of 2 - fix erratum occurrences).
-
- Now fixing for 843419 is fully functional.
-
- The first part of the erratum fix CL is here -
- https://sourceware.org/ml/binutils/2015-04/msg00229.html
-
- * aarch64.cc(global enum): New constants representing stub types.
- (Stub_template): New POD struct.
- (Stub_template_repertoire): New class.
- (Stub_base): New class.
- (Erratum_stub): New class.
- (Reloc_stub): Refactored to be a subclass of Stub_base.
- (Reloc_stub::Stub_type): Removed.
- (Reloc_stub::offset): Moved to Stub_base.
- (Reloc_stub::set_offset): Moved to Stub_base.
- (Reloc_stub::destination_address): Moved to Stub_base.
- (Reloc_stub::set_destination_address): Moved to Stub_base.
- (Reloc_stub::reset_destination_address): Moved to Stub_base.
- (Reloc_stub::stub_type): Renamed and moved to Stub_base.
- (Reloc_stub::stub_size): Renamed and moved to Stub_base.
- (Reloc_stub::stub_insns): Renamed and moved to Stub_base.
- (Reloc_stub::write): Moved to Stub_base.
- (Reloc_stub::invalid_offset): Moved to Stub_base.
- (Reloc_stub::invalid_address): Moved to Stub_base.
- (Reloc_stub::stub_type_): Renamed and moved to Stub_base.
- (Reloc_stub::stub_insns_): Moved to Stub_base.
- (Reloc_stub::offset_): Moved to Stub_base.
- (Reloc_stub::destination_address_): Moved to Stub_base.
- (Stub_table::The_aarch64_relobj): New typedef.
- (Stub_table::The_erratum_stub): New typedef.
- (Stub_table::The_erratum_stub_less): New typedef.
- (Stub_table::The_erratum_stub_set): New typedef.
- (Stub_table::The_erratum_stub_set_iter): New typedef.
- (Stub_table::empty): Added emptiness testing for erratum stubs.
- (Stub_table::add_erratum_stub): New method to add an erratum stub.
- (Stub_table::find_erratum_stub): New method.
- (Stub_table::find_erratum_stubs_for_input_section): New method.
- (Stub_table::erratum_stub_address): New method.
- (Stub_table::update_date_size_changed_p): Modified to handle erratum stubs.
- (Stub_table::do_addralign): Modified to handle erratum stubs.
- (Stub_table::erratum_stubs_): New member.
- (Stub_table::erratum_stub_size_): New member.
- (Stub_table::relocate_stubs): Modified to handle erratum stubs.
- (Stub_table::do_write): Modified to handle erratum stubs.
- (AArch64_relobj::The_erratum_stub): New typedef.
- (AArch64_relobj::Erratum_stub_set_iter): New typedef.
- (AArch64_relobj::fix_errata): New method.
- (Target_aarch64::The_reloc_stub_type): Removed.
- (Target_aarch64::The_erratum_stub): New typede.
- (AArch64_relocate_functions::construct_b): New method.
-
-2015-04-27 Han Shen <shenhan@google.com>
-
- * options.h (--fix-cortex-a53-843419): Rename option.
- * aarch64.cc (AArch64_relobj::do_count_local_symbols): Use renamed
- option.
- (AArch64_relobj::scan_sections_for_stubs): Use renamed option.
-
-2015-04/16 Han Shen <shenhan@google.com>
+2015-01-02 Alan Modra <amodra@gmail.com>
- * aarch64.cc (AArch64_insn_utilities): New utility class.
- (AArch64_relobj::Mapping_symbol_position): New struct.
- (AArch64_relobj::Mapping_symbol_info): New typedef.
- (AArch64_relobj::do_count_local_symbols): New function overriding
- parent's implementation.
- (AArch64_relobj::mapping_symbol_info_): New member
- (AArch64_relobj::scan_erratum_843419): New method.
- (Target_aarch64::scan_erratum_843419_span): New method.
- (Target_aarch64::is_erratum_843419_sequence): New method.
- * options.h (fix_cortex_a53): New option.
+ * version.cc (print_version): Just print current year.
+ * dwp.cc (print_version): Likewise.
2015-02-21 H.J. Lu <hongjiu.lu@intel.com>
@@ -177,35 +33,9 @@
2015-02-16 Cary Coutant <ccoutant@google.com>
- PR gold/13577
- PR gold/16992
- * layout.cc (Layout::finish_dynamic_section): Don't set DT_SYMBOLIC or
- DF_SYMBOLIC if --dynamic-list option is used.
- * options.cc (General_options::finalize): --dynamic-list is not
- mutually exclusive with -Bsymbolic.
- * symtab.h (Symbol::is_preemptible): Don't exclude dynamic symbols not
- listed in --dynamic-list.
- * testsuite/Makefile.am (dynamic_list_lib2.so): Add
- -Bsymbolic-functions.
- * testsuite/Makefile.in: Regenerate.
-
-2015-02-16 Cary Coutant <ccoutant@google.com>
-
PR gold/17971
* incremental.cc: Remove redundant include of "output.h".
-2015-02-12 Jing Yu <jingyu@google.com>
-
- * aarch64-reloc.def (TLSLE_MOVW_TPREL_G2, TLSLE_MOVW_TPREL_G1,
- TLSLE_MOVW_TPREL_G1_NC, TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC,):
- New relocation.
- * aarch64.cc (Target_aarch64::Scan::local): Add cases for new
- TLSLE_MOVW_* relocations.
- (Target_aarch64::Scan::global): Likewise.
- (Target_aarch64::Relocate::relocate): Likewise.
- (Target_aarch64::Relocate::relocate_tls): Add cases and handlings
- for new TLSLE_MOVW_* relocations.
-
2015-02-11 Will Newton <will.newton@linaro.org>
PR gold/13321
@@ -229,110 +59,11 @@
* merge.cc (do_add_input_section): Combine loop epilogue into main loop
body.
-2015-02-04 Peter Collingbourne <pcc@google.com>
-
- * plugin.cc (Pluginobj::get_symbol_resolution_info): Resolve
- forwarding symbols when computing symbol resolution info for plugins.
- * plugin.h (Plugin_manager::symtab): New method.
- (Pluginobj::get_symbol_resolution_info): Add symtab parameter.
-
-2015-02-03 Cary Coutant <ccoutant@google.com>
- Peter Collingbourne <pcc@google.com>
-
- PR gold/15660
- * archive.cc (Thin_archive_object_unlocker): New class.
- (Archive::include_member): Unlock external members of thin archives.
- * testsuite/Makefile.am (plugin_test_1): Rename .syms files.
- (plugin_test_2): Likewise.
- (plugin_test_3): Likewise.
- (plugin_test_4): Likewise.
- (plugin_test_5): Likewise.
- (plugin_test_6): Likewise.
- (plugin_test_7): Likewise.
- (plugin_test_8): Likewise.
- (plugin_test_9): Likewise.
- (plugin_test_10): Likewise.
- (plugin_test_11): New test case.
- * testsuite/Makefile.in: Regenerate.
- * testsuite/plugin_test.c (claim_file_hook): Check for parallel .syms
- file to decide whether to claim file.
- (all_symbols_read_hook): Likewise.
- * testsuite/plugin_test_1.sh: Adjust expected output.
- * testsuite/plugin_test_2.sh: Likewise.
- * testsuite/plugin_test_3.sh: Likewise.
- * testsuite/plugin_test_6.sh: Likewise.
- * testsuite/plugin_test_tls.sh: Likewise.
- * testsuite/plugin_test_11.sh: New testcase.
-
-2015-02-03 Cary Coutant <ccoutant@google.com>
-
- * descriptors.cc (Descriptors::open): Set artificially-low limit for
- file descriptors when debugging enabled. Add debug output.
- (Descriptors::release): Add debug output.
- (Descriptors::close_some_descriptor): Likewise.
- (Descriptors::close_all): Likewise.
- * fileread.cc (File_read::lock): Likewise.
- (File_read::unlock): Likewise.
-
2015-02-02 Cary Coutant <ccoutant@google.com>
* x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for
executable output file.
-2015-01-22 Han Shen <shenhan@google.com>
-
- * arm.cc (Target_arm::Target_arm): Add initialization for new members.
- (Target_arm::do_plt_address_for_global): New method.
- (Target_arm::do_plt_address_for_local): New method.
- (Target_arm::rel_irelative_section): New method.
- (Target_arm::make_data_plt): Add more parameters for plt ctor.
- (Target_arm::do_make_data_plt): Add more parameters for plt ctor.
- (Target_arm::Scan::symbol_needs_plt_entry): Add ifunc support.
- (Target_arm::Scan::reloc_needs_plt_for_ifunc): Add ifunc support.
- (Target_arm::Scan::check_non_pic): Add ifunc support.
- (Target_arm::Scan::local): Add ifunc support.
- (Target_arm::Scan::global): Add ifunc support.
- (Target_arm::make_plt_section): New method.
- (Target_arm::make_plt_entry): Change to call to make_plt_section.
- (Target_arm::make_local_ifunc_plt_entry): New method.
- (Target_arm::got_irelative_): New member.
- (Target_arm::rel_irelative_): New member.
- (Target_arm::got_section): Add creation for got_irelative_.
- (Target_arm::rel_dyn_section): Add creation for rel_irelative_.
- (Target_arm::Relocate::relocate): Properly set local ifunc address.
- (Target_arm::do_dynsym_value): Properly set global ifunc address.
- (Target_arm::scan_reloc_for_stub): Properly set global ifunc address.
- (Output_data_plt_arm::IRelative_data): New type.
- (Output_data_plt_arm::Output_data_plt_arm): Add more parameters.
- (Output_data_plt_arm::add_entry): Add more parameters.
- (Output_data_plt_arm::add_relocation): New method.
- (Output_data_plt_arm::add_local_ifunc_entry): New method.
- (Output_data_plt_arm::rel_irelative): New method.
- (Output_data_plt_arm::entry_count): Modified.
- (Output_data_plt_arm::address_for_global): New method.
- (Output_data_plt_arm::address_for_local): New method.
-gold/
- (Output_data_plt_arm::set_final_data_size): Add irelative_count_.
- (Output_data_plt_arm::insert_irelative_data): New method.
- (Output_data_plt_arm::irelative_rel_): New member.
- (Output_data_plt_arm::got_): New member.
- (Output_data_plt_arm::got_irelative_): New member.
- (Output_data_plt_arm::irelative_count_): New member.
- (Output_data_plt_arm::IRelative_data_vec): New typedef.
- (Output_data_plt_arm::irelative_data_vec_): New member.
- (Output_data_plt_arm::do_write): Write out irelative entries.
- (Output_data_plt_arm_standard::Output_data_plt_arm_standard): Add
- more parameters to ctor.
- (Output_data_plt_arm_nacl::Output_data_plt_arm_nacl): Add
- more parameters to ctor.
- * output.h (Output_data_reloc::add_local_relative): New method.
- * aarch64.cc (Output_data_plt_aarch64): Fixed typo in comment.
-
-2015-01-29 Alan Modra <amodra@gmail.com>
-
- * powerpc.cc (Target_powerpc::Relocate::relocate): Correct GOT_TLSLD
- and GOT_TLSGD to LE optimization.
-
2015-01-28 Cary Coutant <ccoutant@google.com>
* x86_64.cc (Target_x86_64::Scan::global): Allow IE-to-LE optimization
@@ -345,12 +76,6 @@ gold/
* output.cc (Output_segment::set_section_addresses): Fix calculation
of size of relro segment.
-2015-01-22 Alan Modra <amodra@gmail.com>
-
- * powerpc.cc (Target_powerpc::Scan::local <got relocs>): Correct
- condition for need of ifunc plt entry.
- (Target_powerpc::Scan::global <got relocs>): Likewise.
-
2015-01-14 Sasa Stankovic <Sasa.Stankovic@imgtec.com>
* mips.cc (reloc_high): Add r_sym.
@@ -400,15 +125,6 @@ gold/
* x86_64.cc (Target_x86_64<size>::Relocate::tls_ie_to_le): Handle
x32.
-2015-01-02 Alan Modra <amodra@gmail.com>
-
- * version.cc (print_version): Just print current year.
- * dwp.cc (print_version): Likewise.
-
-2015-01-01 Alan Modra <amodra@gmail.com>
-
- Update year range in copyright notice of all files.
-
2014-12-25 Alan Modra <amodra@gmail.com>
* arm.cc (Target_arm::do_adjust_elf_header): Provide namespace on
@@ -423,10 +139,6 @@ gold/
(Target_arm::merge_object_attributes): Handle new Tag_ABI_VFP_args
value and replace hardcoded values by enum values.
-2014-12-22 Cary Coutant <ccoutant@google.com>
-
- * powerpc.cc (Target_powerpc::relocate): Fix overflow check.
-
2014-12-20 H.J. Lu <hongjiu.lu@intel.com>
PR gold/14608
@@ -442,53 +154,12 @@ gold/
(Mapfile::print_output_section): Use current_data_size(); print note
that addresses and sizes are before compression.
-2014-12-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * aarch64.cc (AArch64_relocate_functions::maybe_apply_stub):
- Cast current_group_size to unsigned long when reporting error.
-
-2014-12-10 Jing Yu <jingyu@google.com>
-
- * aarch64.cc (Target_aarch64): Add new variable stub_group_size_.
- (AArch64_relocate_functions::maybe_apply_stub): Add new parameter.
- Update error message.
- (Target_aarch64::do_relax): Use absolute value of option
- stub_group_size. Replace local variable with class member
- stub_group_size_.
-
-2014-12-04 Alan Modra <amodra@gmail.com>
-
- * powerpc.cc (Target_powerpc::Branch_info::make_stub): Ignore
- addend of PLTREL24 reloc when not generating a plt stub. Make
- max_branch_offset an "Address".
- (Stub_table::can_reach_stub): Make max_branch_offset an "Address".
- (Target_powerpc::Relocate::relocate): Likewise.
-
-2014-12-04 Alan Modra <amodra@gmail.com>
-
- PR 17670
- * symtab.cc (Symbol::set_undefined): Remove assertion.
- * powerpc.cc (Target_powerpc::symval_for_branch): Don't assert
- on symbols defined in discarded sections, instead return false.
- Rearrange params, update all callers.
- (Target_powerpc::Branch_info::make_stub): Don't make stubs for
- branches to syms in discarded sections.
- (Global_symbol_visitor_opd::operator()): Set discarded opd syms
- undefined and flag as discarded.
- (Target_powerpc::Relocate::relocate): Localize variable.
-
2014-12-03 H.J. Lu <hongjiu.lu@intel.com>
PR gold/17675
* testsuite/Makefile.am (pie_copyrelocs_test_CXXFLAGS): New.
* testsuite/Makefile.in: Regenerated.
-2014-12-03 Alan Modra <amodra@gmail.com>
-
- PR 17566
- * powerpc.cc (Target_powerpc::Scan::local): Use add_local_section
- when adding dynamic relocations against section symbols.
-
2014-12-01 Dimitry Ivanov <dimitry@google.com>
* layout.cc (Layout::finish_dynamic_section): When '-z global'
@@ -510,48 +181,6 @@ gold/
.debug_gnu_pubtypes.
(lines_only_debug_sections): Strip all four new sections.
-2014-11-26 Jing Yu <jingyu@google.com>
-
- * aarch64.cc (Relocate::tls_desc_gd_to_ie): Set ldr target
- register to be x0 when to relax TLSDESC_LD64_LO12.
-
-2014-11-26 Alan Modra <amodra@gmail.com>
-
- * powerpc.cc (struct Stub_table_owner): New.
- (Powerpc_relobj): Rename stub_table_ to stub_table_index_, an
- unsigned int vector. Update all references.
- (powerpc_relobj::set_stub_table): Take an unsigned int param
- rather than a Stub_table. Update callers.
- (Powerpc_relobj::clear_stub_table): New function.
- (Target_powerpc): Add relax_failed_, relax_fail_count_ and
- stub_group_size_ vars.
- (Target_powerpc::new_stub_table): Delete.
- (max_branch_delta): New function, extracted from..
- (Target_powerpc::Relocate::relocate): ..here..
- (Target_powerpc::Branch_info::make_stub): ..and here. Return
- status on whether stub created successfully.
- (Stub_control::Stub_control): Add "no_size_errors" param. Move
- default sizing to..
- (Target_powerpc::do_relax): ..here. Init stub_group_size_ and
- reduce on relax failure.
- (Target_powerpc::group_sections): Add "no_size_errors" param.
- Use stub_group_size_. Set up group info in a temp vector,
- before building Stub_table vector. Account for input sections
- possibly already converted to relaxed sections.
- (Stub_table::init): Delete. Merge into..
- (Stub_table::Stub_table): ..here.
- (Stub_table::can_reach_stub): New function.
- (Stub_table::add_plt_call_entry): Add "from" parameter and
- return true iff stub could be reached.
- (Stub_table::add_long_branch_entry): Similarly. Add "r_type"
- param too.
- (Stub_table::clear_stubs): Add "all" param.
-
-2014-11-26 Alan Modra <amodra@gmail.com>
-
- * powerpc.cc (Stub_control::set_output_and_owner): New function.
- (Target_powerpc::group_sections): Use it.
-
2014-11-25 Cary Coutant <ccoutant@google.com>
* binary.cc (Binary_to_elf::sized_convert): Add size to _start symbol.
@@ -573,25 +202,218 @@ gold/
* x86_64.cc (Output_data_plt_x86_64_standard<size>::do_fill_plt_entry):
Check PC-relative offset overflow in PLT entry.
-2014-11-21 Alan Modra <amodra@gmail.com>
+2015-06-16 Yiran Wang <yiran@google.com>
+
+ * resolve.cc disable the warning of a hidden symbol matches a
+ reference to be resolved
+
+2015-07-23 Ian Coolidge <icoolidge@google.com>
+
+ Plumb --pic-veneer option for gold.
+
+ This fixes ARM Linux gold link after
+ 02e541d: ARM: 8323/1: force linker to use PIC veneers
+
+ gold/
+ * arm.cc (Reloc_stub::stub_type_for_reloc): Plumb to stub
+ generation.
+ * options.h (General_options): Add --pic-veneer option.
+
+2015-06-11 Cary Coutant <ccoutant@gmail.com>
+
+ * aarch64.cc (Erratum_stub::STUB_ADDR_ALIGN): Move initialization
+ outside class body.
+ (Reloc_stub::STUB_ADDR_ALIGN): Likewise.
+
+2015-07-20 Han Shen <shenhan@google.com>
+
+ Optimize erratum 843419 fix.
+
+ * aarch64.cc (AArch64_insn_utilities::is_adr): New method.
+ (AArch64_insn_utilities::aarch64_adr_encode_imm): New method.
+ (AArch64_insn_utilities::aarch64_adrp_decode_imm): New method.
+ (E843419_stub): New sub-class of Erratum_stub.
+ (AArch64_relobj::try_fix_erratum_843419_optimized): New method.
+ (AArch64_relobj::section_needs_reloc_stub_scanning): Try optimized fix.
+ (AArch64_relobj::create_erratum_stub): Add 1 argument.
+ (Target_aarch64::scan_erratum_843419_span): Pass in adrp insn offset.
+
+2015-07-20 Han Shen <shenhan@google.com>
+
+ Fix arm elf header flags wrt hardfp bit.
+
+ * arm.cc (Target_arm::do_adjust_elf_header): Set flags into view.
+
+2015-07-09 Han Shen <shenhan@google.com>
+
+ Drop missing symbol warning for arm/aarch64.
+
+ * aarch64.cc (AArch64_relobj::scan_errata): Drop missing symbol warning.
+ * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Drop missing
+ symbol warning.
- * powerpc.cc (Target_powerpc::Relocate::relocate): Correct test
- for undefined weaks.
+2015-07-09 Han Shen <shenhan@google.com>
+
+ Use "gold_info" instead of "gold_warning" for erratum fix.
+
+ * aarch64.cc (Target_aarch64::scan_erratum_843419_span): Use
+ 'gold_info'.
+ (Target_aarch64::scan_erratum_835769_span): USe 'gold_info'.
+
+2015-07-07 Han Shen <shenhan@google.com>
-2014-11-20 Alan Modra <amodra@gmail.com>
+ Make gold aarch64 accept long form of mapping symbols.
+
+ * aarch64.cc (AArch64_relobj::do_count_local_symbols): Make legal
+ of mapping symbols.
+
+2015-06-29 Han Shen <shenhan@google.com>
+
+ Patch for erratum 843419 internal error.
- * powerpc.cc (Stub_control::Stub_control): Init stub14_group_size_
- from --stub-group-size parameter divided by 1024.
- (Powerpc_relocate_functions::rela, rela_ua): Add fieldsize
- template parameter. Update all uses.
- (Target_powerpc::Relocate::relocate): Rename has_plt_value to
- has_stub_value. Set for long branches. Don't report overflow for
- branch to undefined weak symbols. Print info message on
- overflowing branch to stub.
+ * aarch64.cc (Erratum_stub::Insn_utilities): New typedef.
+ (Erratum_stub::update_erratum_insn): New method.
+ (Stub_table::relocate_stubs): Modified to place relocated insn.
+ (AArch64_relobj::fix_errata): Modified gold_assert.
+
+2015-06-12 Han Shen <shenhan@google.com>
+
+ Fix erratum 835769.
+
+ * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move
+ defintion outside class definition.
+ (AArch64_insn_utilities::AARCH64_ZR): New static constant.
+ (AArch64_insn_utilities::aarch64_op31): New member.
+ (AArch64_insn_utilities::aarch64_ra): New member.
+ (AArch64_insn_utilities::aarch64_mac): New member.
+ (AArch64_insn_utilities::aarch64_mlxl): New member.
+ (ST_E_835769): New global enum member.
+ (Stub_table::relocate_stubs): Add 835769 handler.
+ (Stub_template_repertoire::Stub_template_repertoire): Install new
+ stub type.
+ (AArch64_relobj::scan_errata): This func is renamed from
+ scan_erratum_843419.
+ (AArch64_relobj::do_count_local_symbols): Add 835769 handler.
+ (AArch64_relobj::do_relocate_sections): Add 835769 handler.
+ (AArch64_relobj::scan_sections_for_stubs): Add 835769 handler.
+ (Target_aarch64::scan_erratum_835769_span): New method.
+ (Target_aarch64::create_erratum_stub): New method.
+ (Target_aarch64::is_erratum_835769_sequence): New method.
+ (Target_aarch64::scan_erratum_843419_sequence): Move part of the
+ code into create_erratum_stub.
+ * options.h (fix_cortex_a53_835769): New option.
+
+2015-06-10 Han Shen <shenhan@google.com>
+ Patch for erratum-843419 (2 of 2 - fix erratum occurrences).
+
+ Now fixing for 843419 is fully functional.
+
+ The first part of the erratum fix CL is here -
+ https://sourceware.org/ml/binutils/2015-04/msg00229.html
+
+ * aarch64.cc(global enum): New constants representing stub types.
+ (Stub_template): New POD struct.
+ (Stub_template_repertoire): New class.
+ (Stub_base): New class.
+ (Erratum_stub): New class.
+ (Reloc_stub): Refactored to be a subclass of Stub_base.
+ (Reloc_stub::Stub_type): Removed.
+ (Reloc_stub::offset): Moved to Stub_base.
+ (Reloc_stub::set_offset): Moved to Stub_base.
+ (Reloc_stub::destination_address): Moved to Stub_base.
+ (Reloc_stub::set_destination_address): Moved to Stub_base.
+ (Reloc_stub::reset_destination_address): Moved to Stub_base.
+ (Reloc_stub::stub_type): Renamed and moved to Stub_base.
+ (Reloc_stub::stub_size): Renamed and moved to Stub_base.
+ (Reloc_stub::stub_insns): Renamed and moved to Stub_base.
+ (Reloc_stub::write): Moved to Stub_base.
+ (Reloc_stub::invalid_offset): Moved to Stub_base.
+ (Reloc_stub::invalid_address): Moved to Stub_base.
+ (Reloc_stub::stub_type_): Renamed and moved to Stub_base.
+ (Reloc_stub::stub_insns_): Moved to Stub_base.
+ (Reloc_stub::offset_): Moved to Stub_base.
+ (Reloc_stub::destination_address_): Moved to Stub_base.
+ (Stub_table::The_aarch64_relobj): New typedef.
+ (Stub_table::The_erratum_stub): New typedef.
+ (Stub_table::The_erratum_stub_less): New typedef.
+ (Stub_table::The_erratum_stub_set): New typedef.
+ (Stub_table::The_erratum_stub_set_iter): New typedef.
+ (Stub_table::empty): Added emptiness testing for erratum stubs.
+ (Stub_table::add_erratum_stub): New method to add an erratum stub.
+ (Stub_table::find_erratum_stub): New method.
+ (Stub_table::find_erratum_stubs_for_input_section): New method.
+ (Stub_table::erratum_stub_address): New method.
+ (Stub_table::update_date_size_changed_p): Modified to handle erratum stubs.
+ (Stub_table::do_addralign): Modified to handle erratum stubs.
+ (Stub_table::erratum_stubs_): New member.
+ (Stub_table::erratum_stub_size_): New member.
+ (Stub_table::relocate_stubs): Modified to handle erratum stubs.
+ (Stub_table::do_write): Modified to handle erratum stubs.
+ (AArch64_relobj::The_erratum_stub): New typedef.
+ (AArch64_relobj::Erratum_stub_set_iter): New typedef.
+ (AArch64_relobj::fix_errata): New method.
+ (Target_aarch64::The_reloc_stub_type): Removed.
+ (Target_aarch64::The_erratum_stub): New typede.
+ (AArch64_relocate_functions::construct_b): New method.
+
+2015-04-27 Han Shen <shenhan@google.com>
+
+ * options.h (--fix-cortex-a53-843419): Rename option.
+ * aarch64.cc (AArch64_relobj::do_count_local_symbols): Use renamed
+ option.
+ (AArch64_relobj::scan_sections_for_stubs): Use renamed option.
+
+2015-04-16 Han Shen <shenhan@google.com>
+
+ * aarch64.cc (AArch64_insn_utilities): New utility class.
+ (AArch64_relobj::Mapping_symbol_position): New struct.
+ (AArch64_relobj::Mapping_symbol_info): New typedef.
+ (AArch64_relobj::do_count_local_symbols): New function overriding
+ parent's implementation.
+ (AArch64_relobj::mapping_symbol_info_): New member
+ (AArch64_relobj::scan_erratum_843419): New method.
+ (Target_aarch64::scan_erratum_843419_span): New method.
+ (Target_aarch64::is_erratum_843419_sequence): New method.
+ * options.h (fix_cortex_a53): New option.
+
+2015-02-02 Khem Raj <raj.khem@gmail.com>
+
+ * attributes.h (class Output_attributes_section_data ): Add
+ do_print_to_mapfile function.
+
+2015-04-07 HC Yen <hc.yen@mediatek.com>
+
+ Add AArch32 support for gold linker.
+ gold/
+ * arm.cc: Add V8 arch combine table.
+
+2015-03-21 Cary Coutant <cary@google.com>
+
+ PR gold/18048
+ * script-c.h (script_include_directive): Add first_token parameter.
+ * script.cc (script_include_directive): Add first_token parameter, and
+ pass it to read_script_file.
+ * yyscript.y (PARSING_SECTIONS_BLOCK, PARSING_SECTION_CMDS)
+ (PARSING_MEMORY_DEF): New tokens.
+ (top): Add new productions for INCLUDE files.
+ (file_cmd): Replace file_or_sections_cmd with copy of its productions.
+ Pass PARSING_LINKER_SCRIPT to script_include_directive.
+ (section_block_cmd): Likewise; pass PARSING_SECTIONS_BLOCK.
+ (section_cmd): Pass PARSING_SECTION_CMDS.
+ (file_or_sections_cmd): Remove.
+ (memory_def): Pass PARSING_MEMORY_DEF.
+ * testsuite/Makefile.am (memory_test_2): New test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/memory_test_inc.t: New script file.
+ * testsuite/memory_test_inc_1.t.src: New script file.
+ * testsuite/memory_test_inc_2.t.src: New script file.
+ * testsuite/memory_test_inc_3.t.src: New script file.
-2014-11-20 Alan Modra <amodra@gmail.com>
+2015-03-21 Cary Coutant <cary@google.com>
- * powerpc.cc (Target_powerpc::do_relax): Add __go_go to thread_starters.
+ PR gold/18010
+ * stringpool.cc (Stringpool_template): Don't optimize if section
+ alignment is greater than sizeof(char).
2014-11-13 H.J. Lu <hongjiu.lu@intel.com>
@@ -679,7 +501,7 @@ gold/
* aarch64.cc (AArch64_relocate_functions::maybe_apply_stub):
Add "typename" keyword.
-2014-10-15 Han Shen <shenhan@google.com>
+2014-09-22 Han Shen <shenhan@google.com>
Jing Yu <jingyu@google.com>
Patch for gold aarch64 backend to support relaxation.
@@ -16865,7 +16687,7 @@ gold/
* Added source code to GNU binutils.
-Copyright (C) 2008-2015 Free Software Foundation, Inc.
+Copyright (C) 2008-2014 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright