X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2FChangeLog;h=26058749ab9b0845407ff9fa18c3a6a11dd65943;hb=0cfdc76718f8314663016322c94c67afe6bb8f12;hp=692ebc231e9808f1885d43cf3a708644082f31bd;hpb=2a77e2ab1828db0bfd0c28d5e2a38715a19dc9ad;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/ChangeLog b/gold/ChangeLog index 692ebc231e..26058749ab 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,495 @@ +2013-04-13 Alan Modra + + * powerpc.cc (Stub_control::can_add_to_stub_group): Don't set + owner when sections are not adjacent and exceed group size. + (Target_powerpc::group_sections): Handle corner case. + (Target_powerpc::Branch_info::make_stub): Handle case where + stub table doesn't exist due to branches in non-exec sections. + (Target_powerpc::Relocate::relocate): Likewise. + +2013-04-11 Alan Modra + + PR gold/15354 + * powerpc.cc (Target_powerpc::make_brlt_section): Name section + .branch_lt to match bfd ld. Adjust comments throughout file. + +2013-04-04 Ian Lance Taylor + + GCC PR c++/56840 + * object.cc (do_layout_deferred_sections): Handle .eh_frame + sections before checking whether they are included in the link. + +2013-03-29 Sriraman Tallam + + * archive.cc (Archive::get_elf_object_for_member): Create the elf + object before calling the plugin claim_file handler. Pass the elf + object of the archive to the plugin. Delete the elf object if the + plugin claims the file. + +2013-03-21 Alan Modra + + * layout.cc (Layout::set_segment_offsets): Accept writable .text + segment when omagic. + +2013-03-21 Alan Modra + + * dwp.cc (Dwp_output_file::add_contribution): Avoid signed/unsigned + comparison warning. + * layout.cc (Layout::create_dynamic_symtab): Avoid "may be used + uninitialized" warning. + +2013-03-20 Alan Modra + + * symtab.h (Symbol::clear_version): New function. + * symtab.cc (Symbol_table::set_dynsym_indexes): Don't set object + is_needed by weak references. Clear version for symbols defined + in as-needed objects that are not needed. + +2013-03-15 Alan Modra + + * powerpc.cc (Target_powerpc::Scan::reloc_needs_plt_for_ifunc): Make + static and public. Add report_err param. Return false for data refs. + (Target_powerpc::rela_dyn_section): New overloaded function. + (Target_powerpc::plt_, iplt_): Elucidate. + (Output_data_plt_powerpc::entry_count): Handle current_data_size()==0. + (Output_data_plt_powerpc::do_write): Don't write .iplt. + (Output_data_plt_powerpc::plt_entry_count): Don't add .iplt entries. + (Target_powerpc::Scan::local, global): Adjust reloc_needs_plt_for_ifunc + calls. Put ifunc dynamic relocs in irela_dyn_section. Only + push_branch and make_plt_entry for ifunc syms when + reloc_needs_plt_for_ifunc. + (Target_powerpc::Relocate::relocate): Don't use plt entry value + for ifunc unless reloc_needs_plt_for_ifunc. + +2013-03-15 Alan Modra + + * gc.h (gc_process_relocs): Don't look through function descriptors. + * icf.cc (get_section_contents): Do so here instead. + +2013-03-13 Alan Modra + + * powerpc.cc (is_branch_reloc): Forward declare. + (Target_powerpc::do_can_check_for_function_pointers): New predicate. + (Target_powerpc::Scan::local_reloc_may_be_function_pointer): Return + false for 64-bit, true for 32-bit non-branch relocs. + (Target_powerpc::Scan::global_reloc_may_be_function_pointer): Likewise. + * testsuite/Makefile.am (icf_test): Use linker map file instead of + nm output. + (icf_safe_test): Generate linker map file as well as nm output. + (icf_safe_so_test): Likewise. + * testsuite/Makefile.in: Regenerate. + * testsuite/icf_test.sh: Parse linker map file to determine + section folding. + * testsuite/icf_safe_test.sh: Likewise. Expect folding for PowerPC. + * testsuite/icf_safe_so_test.sh: Likewise. + (X86_32_or_ARM_specific_safe_fold): Merge into.. + (arch_specific_safe_fold): ..this. + (X86_64_specific_safe_fold): Delete unused function. + +2013-03-12 Alan Modra + + * gc.h (gc_process_relocs): Look through function descriptors + to determine shndx, symvalue and addend used by ICF. Tidy + variable duplication. + +2013-03-11 Alan Modra + + * gold.cc (queue_middle_tasks): Move detect_odr_violations.. + * layout.cc (Layout_task_runner::run): ..to here. + * symtab.h (struct Symbol_location): Extract from.. + (class Symbol_table): ..here. + * symtab.cc (Symbol_table::linenos_from_loc): Invoke function_location. + * target.h (class Target): Add function_location and + do_function_location functions. + (class Sized_target): Add do_function_location. + * object.h (class Sized_relobj_file): Move find_shdr.. + (class Object): ..to here. + * object.cc: Likewise. Update to suit. Instantiate. + (Sized_relobj_file::find_eh_frame): Update find_shdr call. + * powerpc.cc (class Powerpc_dynobj): New. + (Target_powerpc::do_function_location): New function. + (Powerpc_relobj::do_find_special_sections): Update find_shdr call. + (Powerpc_dynobj::do_read_symbols): New function. + (Target_powerpc::do_make_elf_object): Make a Powerpc_dynobj. + +2013-03-08 Ian Lance Taylor + + * options.cc (General_options::string_to_object_format): Accept + "default". + +2013-03-08 Alan Modra + + * ehframe.h (Post_fdes) Make it a vector of Post_fde rather than + pointer to Post_fde. + (struct Post_fde): Move definition to here.. + * ehframe.cc (struct Post_fde): ..from here. + (Cie::write): Don't alloc Post_fde. + (Eh_frame::do_sized_write): Update. Don't free Post_fde. + +2013-03-07 Alan Modra + + * testsuite/discard_locals_relocatable_test.c: Add a powerpc + relocation referencing .LC0. + * testsuite/discard_locals_test.sh: Remove FIXMEs. + +2013-03-07 Alan Modra + + * testsuite/ifunc-sel.h (ifunc_sel, ifunc_one): Mark + always_inline. Add assembly for powerpc to avoid GOT. + +2013-03-07 Alan Modra + + * testsuite/script_test_10.sh: Don't test .bss section + header number. + +2013-03-06 Alan Modra + + * powerpc.cc (class Powerpc_relobj): Move some member functions. + (Target_powerpc::symval_for_branch): Add symtab param. Update + all callers. Handle folded sections. + (Target_powerpc::do_gc_add_reference): Don't cast dynamic object + to Powerpc_relobj. + (Global_symbol_visitor_opd::operator()): Likewise. + +2013-03-04 Alan Modra + + * testsuite/Makefile.am (final_layout_script.lds): Add .sbss. + * testsuite/Makefile.in: Regenerate. + +2013-03-01 Cary Coutant + + Add dwp support for v2 DWARF package file format. + * dwarf_reader.cc (Dwarf_info_reader::visit_type_unit): Add + tu_length parameter. Adjust all callers. + * dwarf_reader.h (Dwarf_info_reader::visit_type_unit): Likewise. + * dwp.cc: Include dwarf.h. + (Section_bounds): New struct type. + (Unit_set): New struct type. + (Dwo_file::Dwo_file): Initialize new data member. + (Dwo_file::read_compunit_index, Dwo_file::read_typeunit_index): + Combine and rename to... + (Dwo_file::read_unit_index): ...this. + (Dwo_file::sized_read_compunit_index) + (Dwo_file::sized_read_typeunit_index): Combine and rename to... + (Dwo_file::sized_read_unit_index): ...this. + (Dwo_file::copy_section): Remove section_name, is_str_offsets + parameters; add section_id parameter. + (Dwo_file::add_cu_set, Dwo_file::add_tu_set): Combine and rename to... + (Dwo_file::add_unit_set): ...this. + (Dwo_file::shndx_map_): Remove. + (Dwo_file::sect_offsets_): New data member. + (Dwp_output_file::Dwp_output_file): Initialize new data members. + (Dwp_output_file::add_section): Rename to... + (Dwp_output_file::add_contribution): ...this. + (Dwp_output_file::add_cu_set): Combine parameters into a struct. + (Dwp_output_file::add_tu_set): Likewise. + (Dwp_output_file::Contribution): New type. + (Dwp_output_file::Section::contributions): New data member. + (Dwp_output_file::Cu_or_tu_set): Remove. + (Dwp_output_file::Section::Section): New ctor. + (Dwp_output_file::Dwp_index::Shndx_pool): Remove. + (Dwp_output_file::Dwp_index::Section_table): New type. + (Dwp_output_file::Dwp_index::Dwp_index): Initialize new data members. + (Dwp_output_file::Dwp_index::enter_set): Change type of "set" + parameter. + (Dwp_output_file::Dwp_index::shndx_pool): Remove. + (Dwp_output_file::Dwp_index::shndx_pool_end): Remove. + (Dwp_output_file::Dwp_index::section_table): New member function. + (Dwp_output_file::Dwp_index::section_table_end): New member function. + (Dwp_output_file::Dwp_index::shndx_pool_size): Remove. + (Dwp_output_file::Dwp_index::section_table_rows): New member function. + (Dwp_output_file::Dwp_index::section_table_cols): New member function. + (Dwp_output_file::Dwp_index::shndx_pool_): Remove. + (Dwp_output_file::Dwp_index::section_table_): New data member. + (Dwp_output_file::Dwp_index::section_mask_): New data member. + (Dwp_output_file::add_output_section): New member function. + (Dwp_output_file::write_new_section): New member function. + (Dwp_output_file::write_contributions): New member function. + (Dwp_output_file::section_id_map_): New data member. + (class Dwo_id_info_reader): Remove. + (class Unit_reader): New class. + (get_dwarf_section_name): New function. + (Dwo_file::read_executable): Adjust initializations of class data. + (Dwo_file::read): Add support for v2 package file format. + (Dwo_file::read_unit_index): Likewise. + (Dwo_file::sized_read_unit_index): Likewise. + (Dwo_file::copy_section): Likewise. + (Dwo_file::add_unit_set): Likewise. + (Dwp_output_file::add_output_section): Likewise. + (Dwp_output_file::add_contribution): Likewise. + (Dwp_output_file::Dwp_index::find_or_add): Use row index to check + for empty slot. + (Dwp_output_file::Dwp_index::enter_set): Add support for v2 package + file format. + (Dwp_output_file::Dwp_index::grow): Use row index to check for empty + slot. + (Dwp_output_file::initialize): Remove unused function. + (Dwp_output_file::finalize): Add support for v2 package file format. + (Dwp_output_file::write_index): Likewise. + * gdb-index.cc (Gdb_index_info_reader::visit_type_unit): Adjust + function prototype. + +2013-03-01 Cary Coutant + + * dwarf_reader.cc (Dwarf_info_reader::check_buffer): Move + function into class definition in header file. + (Dwarf_info_reader::warn_corrupt_debug_section): New function. + * dwarf_reader.h (Dwarf_info_reader::warn_corrupt_debug_section): + New function. + (Dwarf_info_reader::check_buffer): Move here from .cc file. + +2013-02-28 Alan Modra + + * target.h (Target::plt_fde_location, do_plt_fde_location): Declare. + * target.cc (Target::do_plt_fde_location): New function. + * ehframe.h (class FDE): Add post_map field to u_.from_linker, + accessor function, and constructor param. + (struct Post_fde, Post_fdes): Declare. + (Cie::write): Add post_fdes param. + * ehframe.cc (Fde::write): Use plt_fde_location. + (struct Post_fde): Define. + (Cie::write): Stash FDEs added post merge mapping. + (Eh_frame::add_ehframe_for_plt): Assert no new CIEs after mapping. + Adjust Fde constructor call. Bump final_data_size_ for post map FDEs. + (Eh_frame::do_sized_write): Arrange to write post map FDES after + other FDEs. + * powerpc.cc (Target_powerpc::do_plt_fde_location): New function. + (Target_powerpc::has_glink): New function. + (Target_powerpc::do_relax): Add eh_frame info for stubs. + (struct Eh_cie, eh_frame_cie, glink_eh_frame_fde_64, + glink_eh_frame_fde_32, default_fde): New data. + (Stub_table::eh_frame_added_): New var. + (Stub_table::find_long_branch_entry, stub_address, stub_offset): + Make const. + (Stub_table::add_eh_frame): New function. + (Output_data_glink::add_eh_frame): New function. + (Target_powerpc::make_glink_section): Call add_eh_frame. + +2013-02-15 Ian Lance Taylor + + * options.h (DEFINE_uint64_alias): Define. + (class General_options): Add -Ttext-segment as an alias for + -Ttext. + +2013-02-15 Alan Modra + + * powerpc.cc (Stub_table::plt_off): New function, extracted from.. + (Stub_table::do_write): ..here, two places. + (Stub_table::plt_call_size): Use it here too. + +2013-02-11 Ian Lance Taylor + + * descriptors.cc (Descriptors::close_all): New function. + * descriptors.h (class Descriptors): Declare close_all. + (close_all_descriptors): New inline function. + * plugin.cc: Include "descriptors.h". + (Plugin_manager::cleanup): Call close_all_descriptors. + +2013-02-06 Alan Modra + + * README: Update coding style link. + +2013-01-28 Cary Coutant + + * dwp.cc (File_list): New typedef. + (Dwo_name_info_reader): New class. + (Dwo_id_info_reader::Dwo_id_info_reader): Remove unused parameters. + (Dwo_id_info_reader::visit_top_die): Remove unused member function. + (Dwo_file::~Dwo_file): Delete input_file_ after obj_. + (Dwo_file::read_executable): New function. + (Dwo_file::read): Move common setup code to ... + (Dwo_file::make_object): ... here. + (dwp_options): Add --exec/-e. + (usage): Likewise. + (main): Likewise. + +2013-01-24 Sriraman Tallam + + * layout.cc (Layout::layout): Check for option text_reorder. + (Layout::make_output_section): Ditto. + * options.h (text_reorder): New option. + * output.cc (Input_section_sort_compare): Remove special ordering + of section names. + (Output_section:: + Input_section_sort_section_name_special_ordering_compare:: + operator()): New function. + (Output_section::sort_attached_input_sections): Use new sort function + for .text. + * output.h (Input_section_sort_section_name_special_ordering_compare): + New struct. + * testsuite/Makefile.am (text_section_grouping): Test option + --no-text-reorder + * testsuite/Makefile.in: Regenerate. + * testsuite/text_section_grouping.sh: Check order of functions without + default text reordering. + +2013-01-18 Mike Frysinger + + * options.h (General_options): Change default to true for new_dtags. + +2013-01-18 Mike Frysinger + + * layout.cc (Layout::finish_dynamic_section): Only add DT_RPATH + when enable_new_dtags is false. Only add DT_RUNPATH when + enable_new_dtags is true. + +2013-01-17 Serge Pavlov + + * powerpc.cc (Stub_table::find_plt_call_entry): Make types + used in declaration and definition consistent. + (Target_powerpc::symval_for_branch): Ditto. + +2013-01-16 Sriraman Tallam + + * testsuite/plugin_final_layout.cc: Fix comment. + +2013-01-16 Sriraman Tallam + + * layout.cc (Layout::layout): Do not do default sorting for + text sections when section ordering is specified. + (make_output_section): Ditto. + * testsuite/plugin_final_layout.cc: Name the function sections + to catch reordering issues. + +2013-01-15 Alan Modra + + * powerpc.cc (Target_powerpc::do_relax): Default shared libs to + plt-thread-safe. + +2013-01-15 Alan Modra + + * testsuite/Makefile.am (final_layout_script.lds): Handle .got section. + * testsuite/Makefile.in: Regenerate. + +2013-01-14 Alan Modra + + * testsuite/Makefile.am (MOSTLYCLEANFILES): Add various output files. + * testsuite/Makefile.in: Regenerate. + +2013-01-11 Pavel Chupin + + PR bfd/14430 + Fix mingw gold build with plugins enabled + * Makefile.am: Replace -ldl with @DLOPEN_LIBS@. + * configure.ac: Export DLOPEN_LIBS and add headers check. + * plugin.cc: Handle non-dlfcn case. + * Makefile.in: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2013-01-09 Sriraman Tallam + + * output.h (sort_attached_input_sections): Change to be public. + * script-sections.cc + (Output_section_definition::set_section_addresses): Sort + attached input sections according to section order before linker + script assigns section addresses. + (Orphan_output_section::set_section_addresses): Sort + attached input sections according to section order before linker + script assigns section addresses. + * Makefile.am (final_layout.sh): Use a simple linker script to + check if section ordering still works. + * Makefile.in: Regenerate. + +2013-01-09 Ben Cheng + + * arm.cc (Target_arm::attributes_accept_div): New function. + (Target_arm::attributes_forbid_div): New function. + (Target_arm::merge_object_attributes): Merge the Tag_DIV_use + attribute using the same new functions as what bfd/elf32_arm.c + does. + +2013-01-07 Cary Coutant + + PR gold/14993 + * output.cc (Output_section::add_input_section): For incremental + updates, don't track input sections that are allocated from patch + space. + +2013-01-07 H.J. Lu + Ian Lance Taylor + + PR gold/14897 + * configure.ac (--enable-ld): Removed. + (install_as_default): Set to yes only for --enable-gold=default + or --disable-ld. + * configure: Regenerated. + +2013-01-07 H.J. Lu + + * options.h (General_options): Add -fuse-ld= for GCC linker + option compatibility. + +2013-01-04 Cary Coutant + + * configure.ac: Fix typo restoring CXXFLAGS. + * configure: Regenerate. + +2013-01-04 Cary Coutant + + * testsuite/Makefile.am (CXXLINK_S): New macro. + (debug_msg_so.err, debug_msg_ndebug.err): Use CXXLINK_S. + * testsuite/Makefile.in: Regenerate. + +2013-01-02 H.J. Lu + + * version.cc (print_version): Update copyright year to 2013. + +2012-12-20 Ian Lance Taylor + + * layout.cc (Layout::special_ordering_of_input_section): New + function. + (Layout::layout): If input section requires special ordering, must + sort input sections. + (Layout::make_output_section): May sort .text input sections. + (Layout::is_section_name_prefix_grouped): Remove. + * layout.h (class Layout): Declare + special_ordering_of_input_section. Don't declare + is_section_name_prefix_grouped. + * output.cc (Output_section::add_input_section): Revert last + change. + (Output_section::Input_section_sort::match_file_name): Don't crash + if called on output section data. + (Output_section::Input_section_sort_compare): Sort based on + special ordering. + (Output_section::Input_section_sort_section_order_index_compare): + Revert last patch. + (Output_section::sort_attached_input_sections): Likewise. + +2012-12-18 Sriraman Tallam + + * layout.cc (Layout::is_section_name_prefix_grouped): New function. + * layout.h (Layout::is_section_name_prefix_grouped): New function. + * output.cc (Output_section::add_input_section): Check if section + name contains special prefix. Keep input sections to sort such + sections. + (Output_section::Input_section_sort_section_order_index_compare + ::operator()): Group sections according to prefixes. + (Output_section::sort_attached_input_sections): Add condition to + Input_section_entry constructor call. + * testsuite/Makefile.am (text_section_grouping): New test. + * testsuite/Makefile.in: Regenerate. + * testsuite/text_section_grouping.cc: New file. + * testsuite/text_section_grouping.sh: New file. + +2012-12-17 Nick Clifton + + * Makefile.am: Add copyright notice. + * NEWS: Likewise. + * README: Likewise. + * configure.ac: Likewise. + * ftruncate.c: Likewise. + * Makefile.in: Regenerate. + +2012-12-14 Cary Coutant + + * testsuite/Makefile.am (exception_separate_shared_12_test): Add + --no-as-needed flag. + (exception_separate_shared_12_test): Likewise. + (incremental_copy_test): Likewise. + * testsuite/Makefile.in: Regenerate. + 2012-12-14 Cary Coutant * dwp.cc (Dwp_output_file::add_cu_set): Check for duplicate CUs.