diff options
Diffstat (limited to 'binutils-2.25/gold/ChangeLog')
-rw-r--r-- | binutils-2.25/gold/ChangeLog | 602 |
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 |