2013-06-05 Alexander Ivchenko <alexander.ivchenko@intel.com>
[deliverable/binutils-gdb.git] / gold / ChangeLog
index bbd4eb3d5aaba75177df4600ed65f744548cf945..f53bd4c7c26b0c0022902ad141572493763834bc 100644 (file)
@@ -1,3 +1,288 @@
+2013-06-05  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+       * 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  <alexander.ivchenko@intel.com>
+           Sriraman Tallam  <tmsriram@google.com>
+
+       * 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  <ccoutant@google.com>
+
+       * 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  <ccoutant@google.com>
+
+       * 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  <ccoutant@google.com>
+
+       * 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  <mcgrathr@google.com>
+
+       * 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  <mcgrathr@google.com>
+
+       * options.h (General_options): Remove leading space from help
+       messages for -nostdlib and --rosegment.
+
+2013-05-03  Maciej W. Rozycki  <macro@codesourcery.com>
+
+       PR ld/15365
+       * layout.cc (Layout::finalize): Make __ehdr_start STV_HIDDEN.
+
+2013-05-03  Alan Modra  <amodra@gmail.com>
+
+       * 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  <hongjiu.lu@intel.com>
+
+       * merge.cc (Output_merge_string<Char_type>::do_add_input_section):
+       Restore empty string handling.
+
+2013-05-01  Cary Coutant  <ccoutant@google.com>
+
+       * stringpool.cc (Stringpool_template::new_key_offset): Fix
+       uninitialized warning.
+
+2013-04-29  Alexander Ivchenko  <alexander.ivchenko@intel.com>
+
+       * 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<Char_type>::do_add_input_section): Count
+       only not-null strings. Check the alignment of strings.
+       * stringpool.h
+       (Stringpool_template<Stringpool_char>::Stringpool_template): Add
+       alignment as the argument.
+       (Stringpool_template<Stringpool_char>::addralign_): New class member.
+       * stringpool.cc (Stringpool_template<Stringpool_char>::new_key_offset):
+       Align non-zero length strings according to the addralign_.
+       (Stringpool_template<Stringpool_char>::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  <iant@google.com>
+
+       * 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  <gpike@chromium.org>
+
+       * 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  <amodra@gmail.com>
+
+       * configure.tgt: Add powerpcle and powerpc64le.
+
+2013-04-22  Alan Modra  <amodra@gmail.com>
+
+       PR gold/15355
+       * layout.cc (Layout::segment_precedes): Allow more than one
+       segment with the same type and flags.
+
+2013-04-15  Cary Coutant  <ccoutant@google.com>
+
+       * layout.cc (Layout::set_relocatable_section_offsets): Don't
+       allocate space in file for BSS sections.
+
+2013-04-15  Cary Coutant  <ccoutant@google.com>
+
+       * script-sections.cc (Orphan_output_section): Reset address
+       to zero after each orphaned section for relocatable links.
+
+2013-04-15  Cary Coutant  <ccoutant@google.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       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  <iant@google.com>
+
+       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  <tmsriram@google.com>
+
+       * 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  <amodra@gmail.com>
+
+       * layout.cc (Layout::set_segment_offsets): Accept writable .text
+       segment when omagic.
+
+2013-03-21  Alan Modra  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <amodra@gmail.com>
+
+       * 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  <iant@google.com>
 
        * options.cc (General_options::string_to_object_format): Accept
 
 2013-01-28  Cary Coutant  <ccoutant@google.com>
 
-       * 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.
+       * 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  <tmsriram@google.com>
 
 
 2012-12-14  Cary Coutant  <ccoutant@google.com>
 
-       * 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.
+       * 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  <ccoutant@google.com>
 
 
        * Added source code to GNU binutils.
 \f
-Copyright (C) 2008-2012 Free Software Foundation, Inc.
+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
This page took 0.031332 seconds and 4 git commands to generate.