+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