X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gold%2FChangeLog;h=f53bd4c7c26b0c0022902ad141572493763834bc;hb=7fb47cc9a4f7c7ca964f817f3c92947f1fbbf616;hp=1067019ed4f17d0aabd016ca06cde488604c90c3;hpb=decdd3bc369ed3d5fdc9dc1d0fcf9b0b21cfceef;p=deliverable%2Fbinutils-gdb.git diff --git a/gold/ChangeLog b/gold/ChangeLog index 1067019ed4..f53bd4c7c2 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,717 @@ +2013-06-05 Alexander Ivchenko + + * layout.cc (Layout::set_segment_offsets): Taking care of the case when + the maximum segment alignment is larger than the page size. + * testsuite/Makefile.am (large_symbol_alignment): Test that Gold + correctly aligns the symbols with large alignemnt. + * testsuite/Makefile.in: Regenerate. + * testsuite/large_symbol_alignment.cc: New file. + +2013-05-30 Alexander Ivchenko + Sriraman Tallam + + * options.h (sort_section): New option. + * output.h (Input_section_sort_section_prefix_special_ordering_compare): + Rename from Input_section_sort_section_name_special_ordering_compare. + (Input_section_sort_section_name_compare): New struct. + * output.cc (Output_section::Input_section_sort_section_name_compare:: + operator()): New function. + (Output_section::sort_attached_input_sections): Use new sort function + for .text if --sort-section=name is specified. + * layout.cc (Layout::make_output_section): + Add sorting by name when --sort-section=name is specified. + * testsuite/Makefile.am (text_section_grouping): Test option + --sort-section=name. + * testsuite/Makefile.in: Regenerate. + * testsuite/section_sorting_name.cc: New file. + * testsuite/section_sorting_name.sh: New file. + +2013-05-21 Cary Coutant + + * symtab.h (Symbol::is_cxx_vtable): New function. + * target-reloc.h (relocate_section): Check for vtable symbol. + * testsuite/Makefile.am (missing_key_func.sh): New test case. + * testsuite/Makefile.in: Regenerate. + * testsuite/missing_key_func.cc: New test source. + * testsuite/missing_key_func.sh: New test script. + +2013-05-21 Cary Coutant + + * object.cc (Sized_relobj_file::get_symbol_location_info): Set + type of enclosing symbol. + (Relocate_info::location): Check symbol type when describing symbol. + * object.h (Symbol_location_info): Remove unused line_number; + add enclosing_symbol_type. + * testsuite/debug_msg.sh: Adjust expected output. + +2013-05-13 Cary Coutant + + * configure.ac: Export DEFAULT_TARGET. + * configure: Regenerate. + * Makefile.in: Regenerate. + * testsuite/Makefile.am: Add .EXPORT_ALL_VARIABLES. + * testsuite/Makefile.in: Regenerate. + * testsuite/debug_msg.sh: Delete duplicate tests. + Don't check undef_int error message match for powerpc where the + source file and line number aren't available. + +2013-05-10 Roland McGrath + + * options.h (General_options): Add --rosegment-gap option. + * options.cc (finalize): --rosegment-gap implies --rosegment. + * layout.cc (set_segment_offsets): Let user option override + target->rosegment_gap(). + +2013-05-10 Roland McGrath + + * options.h (General_options): Remove leading space from help + messages for -nostdlib and --rosegment. + +2013-05-03 Maciej W. Rozycki + + PR ld/15365 + * layout.cc (Layout::finalize): Make __ehdr_start STV_HIDDEN. + +2013-05-03 Alan Modra + + * merge.cc (Output_merge_string::do_add_input_section): Correct + scan for number of strings. Rename vars to avoid shadowing. + Include missing terminator in input_size_. + +2013-05-01 H.J. Lu + + * merge.cc (Output_merge_string::do_add_input_section): + Restore empty string handling. + +2013-05-01 Cary Coutant + + * stringpool.cc (Stringpool_template::new_key_offset): Fix + uninitialized warning. + +2013-04-29 Alexander Ivchenko + + * output.cc (Output_section::add_merge_input_section): Allow + to merge sections if the alignment is more than character size. + * merge.h (Output_merge_string::Output_merge_string): Remove + assert. + * merge.cc (Output_merge_string::do_add_input_section): Count + only not-null strings. Check the alignment of strings. + * stringpool.h + (Stringpool_template::Stringpool_template): Add + alignment as the argument. + (Stringpool_template::addralign_): New class member. + * stringpool.cc (Stringpool_template::new_key_offset): + Align non-zero length strings according to the addralign_. + (Stringpool_template::set_string_offsets): + Updating offsets according to the given alignment. + * testsuite/Makefile.am (text_section_grouping): Test if string + literals are getting merged. + * testsuite/Makefile.in: Regenerate. + * testsuite/merge_string_literals_1.c: New file. + * testsuite/merge_string_literals_2.c: Ditto. + * testsuite/merge_string_literals.sh: Ditto. + +2013-04-26 Ian Lance Taylor + + * target-reloc.h (relocate_section): If the reloc offset is out of + range, pass VIEW as NULL to relocate.relocate. + * arm.cc (Target_arm:Relocate::relocate): Check for a NULL view. + * i386.cc (Target_i386::Relocate::relocate): Likewise. + * powerpc.cc (Target_powerpc::Relocate::relocate): Likewise. + * sparc.cc (Target_sparc::Relocate::relocate): Likewise. + * tilegx.cc (Target_tilegx::Relocate::relocate): Likewise. + * x86_64.cc (Target_x86_64::Relocate::relocate): Likewise. + +2013-04-26 Geoff Pike + + * gold.cc (queue_final_tasks): invoke layout->queue_build_id_tasks(). + * layout.cc (Hash_task): New class. + (Layout::queue_build_id_tasks): New function. + (Layout::write_build_id): Handle single-thread portion of build ID + computation. (In some cases, all of it is single-threaded.) Replace + {sha1,md5}_process_bytes with {sha1,md5}_buffer to get the same + functionality in fewer lines of code. + * layout.h (Layout::queue_build_id_tasks): New function declaration. + * options.h (General_options): make "--build-id" default to tree + rather than sha1. Add two new options related to --build-id=tree: + --build-id-chunk-size-for-treehash and + --build-id-min-file-size-for-treehash. + * Makefile.am: add testing of --build-id=tree and related new options + (these tests will be invoked by "make check"). + * Makefile.in: Regenerate. + +2013-04-25 Alan Modra + + * configure.tgt: Add powerpcle and powerpc64le. + +2013-04-22 Alan Modra + + PR gold/15355 + * layout.cc (Layout::segment_precedes): Allow more than one + segment with the same type and flags. + +2013-04-15 Cary Coutant + + * layout.cc (Layout::set_relocatable_section_offsets): Don't + allocate space in file for BSS sections. + +2013-04-15 Cary Coutant + + * script-sections.cc (Orphan_output_section): Reset address + to zero after each orphaned section for relocatable links. + +2013-04-15 Cary Coutant + + * symtab.cc (Symbol_table::sized_write_globals): Subtract + section starting address for relocatable link. + * testsuite/Makefile.am (script_test_11): New test. + * testsuite/Makefile.in: Regenerate. + * testsuite/script_test_11.c: New source file. + * testsuite/script_test_11.t: New linker script. + +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. + (Dwp_output_file::Dwp_index::enter_set): Add assert. + +2012-12-12 Alan Modra + + * powerpc.cc (class Track_tls): New. + (class Relocate, class Scan): Inherit Track_tls. + (Target_powerpc::Scan::local, global): Track tls optimization + and avoid creating plt entry for __tls_get_addr if all uses + are optimized away. + (Target_powerpc::Relocate::relocate): Update to use Track_tls. + +2012-12-12 Alan Modra + + * options.h (General_options): Add --toc-sort/--no-toc-sort. + Replace no_toc_optimize with toc_optimize. + * output.h (Output_section::input_sections): Provide non-const variant. + * powerpc.cc (Powerpc_relobj::has_small_toc_reloc_, + set_has_small_toc_reloc, has_small_toc_reloc): New variable and + accessors. + (Target_powerpc::Scan::local, global): Call set_has_small_toc_reloc. + (class Sort_toc_sections): New. + (Target_powerpc::do_finalize_sections): Sort toc sections. + (Target_powerpc::Relocate::relocate): Update toc_optimize test. + +2012-12-10 Roland McGrath + + * testsuite/binary_unittest.cc (read_all): New function. + (Sized_binary_test): Use it instead of ::read. + * fileread.cc (do_read): Don't assume pread always reads the whole + amount in a single call. + +2012-12-10 Alan Modra + + * powerpc.cc (Target_selector_powerpc::Target_selector_powerpc): + Set EM_PPC64 or EM_PPC here. + (Target_selector_powerpc::do_recognize): Delete. + +2012-12-10 Alan Modra + + * powerpc.cc (Powerpc_relobj::Powerpc_relobj): Init has14_ and + stub_table_. + (Target_powerpc::Branch_info::make_stub): Don't omit addend. + +2012-12-07 Roland McGrath + + * testsuite/binary_unittest.cc (Sized_binary_test): + Use open_descriptor rather than ::open. + 2012-12-07 Alan Modra * powerpc.cc (Stub_table::do_write): Delete redundant Address @@ -5,6 +719,15 @@ (Output_data_glink, Stub_table, Target_powerpc): Explicitly instantiate constants. +2012-12-06 Roland McGrath + + * configure.ac (HAVE_ZLIB): Use AM_ZLIB instead of AC_SEARCH_LIBS. + Use $ac_cv_header_zlib_h = yes as the condition in AM_CONDITIONAL. + * aclocal.m4: Regenerate. + * configure: Regenerate. + * Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + 2012-12-07 Alan Modra * options.h (General_options): Add no_toc_optimize. @@ -14147,3 +14870,16 @@ 2008-03-21 Ian Lance Taylor * Added source code to GNU binutils. + +Copyright (C) 2008-2013 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: