Fix failure in exception_static_test.
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 496d9a79a0cd5b1b61df017c292e8136bb972739..14a8610e35105dd49958590dadce56fc6e5dbbd1 100644 (file)
@@ -1,3 +1,367 @@
+2015-03-09  Cary Coutant  <ccoutant@google.com>
+
+       PR gold/14675
+       * ehframe.cc (Eh_frame::add_ehframe_input_section): Change return type;
+       return enum indicating whether .eh_frame section is empty, optimizable,
+       unrecognized, or an end marker. Adjust explicit instantiations.
+       * ehframe.h (Eh_frame::Eh_frame_section_disposition): New enum type.
+       (Eh_frame::add_ehframe_input_section): Change return type.
+       * gold.cc (queue_middle_tasks): Call Layout::finalize_eh_frame_section.
+       * layout.cc (Layout::layout_eh_frame): Don't add optimized sections
+       to the .eh_frame output section until we see the end marker.
+       (Layout::finalize_eh_frame_section): New.
+       * layout.h: (Layout::finalize_eh_frame_section): New.
+
+2015-03-05  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * output.cc (Relobj::initialize_input_to_output_map<size>):
+       Remove typename on elfcpp::Elf_types<size>::Elf_Addr.
+
+2015-03-04  Cary Coutant  <ccoutant@google.com>
+
+       * parameters.cc (Parameters::set_target_once): Call
+       Target::select_as_default_target just once from here...
+       (set_parameters_target): ...instead of from here.
+
+2015-03-04  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * ehframe.cc (Cie::set_output_offset): Pass in and use a
+       Output_section_data instead of a Merge_map.
+       (Eh_frame::Eh_frame): Don't initialize merge_map_.
+       (Eh_frame::read_cie): Use add_merge_mapping instead of
+       Merge_map::add_mapping.
+       (Eh_frame::read_fde): Ditto.
+       (Eh_frame::set_final_data_size): Use this instead of this->merge_map_.
+       (Eh_frame::do_output_offset): Use merge_output_offset istead of
+       merge_map_->get_output_offset.
+       (Eh_frame::do_is_merge_section_for): Delete.
+       * ehframe.h (Fde::add_mapping): Pass in and use a Output_section_data
+       instead of a Merge_map.
+       (Cie::set_output_offset): Pass in a Output_section_data instead of a
+       Merge_map.
+       (Eh_frame::do_is_merge_section_for): Delete.
+       (Eh_frame::merge_map_): Delete.
+       * merge.cc (Object_merge_map::get_or_make_input_merge_map): Pass in
+       and use a Output_section_data instead of a Merge_map.
+       (Object_merge_map::add_mapping): Ditto.
+       (Object_merge_map::get_output_offset): Remove the merge_map argument.
+       (Object_merge_map::is_merge_section_for): Pass in and use a
+       Output_section_data instead of a Merge_map.
+       (Merge_map): Delete.
+       (Output_merge_base::do_output_offset): Use merge_output_offset instead
+       of merge_map_.get_output_offset.
+       (Output_merge_base::do_is_merge_section_for): Delete.
+       (Output_merge_data::do_add_input_section): Use
+       object->add_merge_mapping instead of add_mapping.
+       (Output_merge_string<Char_type>::finalize_merged_data): Ditto.
+       * merge.h (Merge_map): Delete forward declaration.
+       (Object_merge_map::add_mapping): Pass in and use a Output_section_data
+       instead of a Merge_map.
+       (Object_merge_map::get_output_offset): Remove the merge_map argument.
+       (Object_merge_map::is_merge_section_for): Pass in and use a
+       Output_section_data instead of a Merge_map.
+       (Input_merge_map::Object_merge_map::merge_map): Replace with
+       output_data.
+       (Object_merge_map::get_or_make_input_merge_map): Pass in and use a
+       Output_section_data instead of a Merge_map.
+       (Merge_map): Delete.
+       (Output_merge_base::Output_merge_base): Don't initialize merge_map_.
+       (Output_merge_base::do_is_merge_section_for): Delete.
+       (Output_merge_base::add_mapping): Delete.
+       (Output_merge_base::merge_map_): Delete.
+       * object.cc (Relobj::initialize_input_to_output_map): New.
+       (Relobj::initialize_input_to_output_map): New.
+       (Relobj::merge_output_offset): New.
+       (Relobj::is_merge_section_for): New.
+       (Relobj::initialize_input_to_output_map): Instantiate for 32 and 64
+       bits.
+       * object.h (Relobj::merge_map): Delete.
+       (initialize_input_to_output_map): New.
+       (set_merge_map): Delete.
+       (add_merge_mapping): New.
+       (merge_output_offset): New.
+       (is_merge_section_for): New.
+       * output.cc (Output_section::Input_section::is_merge_section_for):
+       Use object->is_merge_section_for.
+       * output.h (Output_section_data::is_merge_section_for): Delete.
+       (Output_section_data::do_is_merge_section_for): Delete.
+       * reloc.cc (Merged_symbol_value<size>::initialize_input_to_output_map):
+       Use object->initialize_input_to_output_map.
+       (Merged_symbol_value<size>::value_from_output_section): Use
+       object->merge_output_offset.
+
+2015-03-02  Peter Collingbourne  <pcc@google.com>
+            Cary Coutant  <ccoutant@google.com>
+
+       * output.cc (Output_section::add_merge_input_section): Do not
+       attempt to merge sections with an entsize of 0.
+
+2015-03-02  Khem Raj  <raj.khem@gmail.com>
+
+       * attributes.h (class Output_attributes_section_data ): Add
+       do_print_to_mapfile function.
+
+2015-02-24  Alan Modra  <amodra@gmail.com>
+
+       PR 18010
+       * powerpc.cc (Powerpc_relocate_functions::addr16_ds): Always
+       complain if value is not a multiple of four.
+       (Target_powerpc::Relocate::relocate): Correct handling of
+       R_POWERPC_GOT_TPREL16 and R_POWERPC_GOT_TPREL16_LO for ppc64.
+
+2015-02-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * configure.ac (default_size): Set to 32 for x32.
+       * configure: Regenerated.
+
+2015-02-18  Alan Modra  <amodra@gmail.com>
+
+       PR 17954
+       * powerpc.cc (Global_symbol_visitor_opd::operator()): Set default
+       visibility.
+
+2015-02-17  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * gc.h (Garbage_collection::add_reference): Don't use find.
+
+2015-02-17  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * object.cc (write_local_symbols): avoid std::vector copy.
+
+2015-02-17  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * merge.cc (get_output_offset): Use upper_bound instead of lower_bound.
+
+2015-02-09  Mark Wielaard  <mjw@redhat.com>
+
+       * gdb-index.cc (Gdb_index_info_reader::visit_top_die): Recognize
+       DW_LANG_Fortran03 and DW_LANG_Fortran08.
+
+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
+       * arm.cc (Target_arm::make_plt_section): Create an ARM
+       state mapping symbol at the start of the PLT.
+
+2015-02-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/Makefile.am (two_file_shared_2_pic_1_test_DEPENDENCIES):
+       Replace two_file_shared_2.so with two_file_shared_1.so.
+       * testsuite/Makefile.in: Regenerated.
+
+2015-02-09  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/Makefile.am (MOSTLYCLEANFILES): Add libweak_undef_2.a,
+       plugin_test_thin.a and defsym_test.
+       * testsuite/Makefile.in: Regenerate.
+
+2015-02-04  Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+       * 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
+       for undef TLS symbols.
+       (Target_x86_64::Relocate::relocate_tls): Likewise.
+       (Target_x86_64::Relocate::tls_ie_to_le): Likewise.
+
+2015-01-25  Cary Coutant  <ccoutant@google.com>
+
+       * 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.
+       (Mips_relocate_functions::relhi16): Add r_sym parameter. Pass r_sym to
+       reloc_high constructor.
+       (Mips_relocate_functions::relgot16_local): Likewise.
+       (Mips_relocate_functions::rello16): Add r_sym parameter. Use r_sym and
+       r_type to decide whether LO16 matches HI16.
+       (Target_mips::Relocate::relocate): Pass r_sym to calls to relhi16,
+       rello16 and relgot16_local.
+
+2015-01-09  Cary Coutant  <ccoutant@google.com>
+
+       * layout.cc (Layout::set_segment_offsets): Don't align start of segment
+       unless alignment is larger than page size.
+
+2015-01-06  H.J. Lu  <hongjiu.lu@intel.com>
+           Cary Coutant  <ccoutant@google.com>
+
+       PR gold/17729
+       * configure.ac (DEFAULT_TARGET_X86_64): Don't set for x32.
+       (DEFAULT_TARGET_X32): Set for x32.
+       * x86_64.cc (cmp_insn_32): New.
+       (lea_r10_insn_32): Likewise.
+       (lea_r11_insn_32): Likewise.
+       (cmp_insn_64): Likewise.
+       (lea_r10_insn_64): Likewise.
+       (lea_r11_insn_64): Likewise.
+       (Target_x86_64<size>::do_calls_non_split): Handle x32.
+       * testsuite/Makefile.am (check_SCRIPTS): Add split_x32.sh.
+       (check_DATA): Add split_x32 files.
+       (split_x32_[1234n].o): New targets.
+       (split_x32_[124]): New targets.
+       (split_x32_[1234r].stdout): New targets.
+       * testsuite/split_x32.sh: New file.
+       * testsuite/split_x32_1.s: Likewise.
+       * testsuite/split_x32_2.s: Likewise.
+       * testsuite/split_x32_3.s: Likewise.
+       * testsuite/split_x32_4.s: Likewise.
+       * testsuite/split_x32_n.s: Likewise.
+       * configure: Regenerated.
+       * testsuite/Makefile.in: Likewise.
+
+2015-01-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR gold/17809
+       * 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.
This page took 0.033295 seconds and 4 git commands to generate.