* gold.h (is_wildcard_string): New function.
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 374b5888330cc58da76f785a6de660970e410f3f..95e683f4152c27a92ccc34447fdc690e16a2be9f 100644 (file)
@@ -1,3 +1,588 @@
+2010-06-01  Sriraman Tallam  <tmsriram@google.com>
+
+       * gold.h (is_wildcard_string): New function.
+       * layout.cc (Layout::layout): Pass this pointer to add_input_section.
+       (Layout::layout_eh_frame): Ditto.
+       (Layout::find_section_order_index): New method.
+       (Layout::read_layout_from_file): New method.
+       * layout.h (Layout::find_section_order_index): New method.
+       (Layout::read_layout_from_file): New method.
+       (Layout::input_section_position_): New private member.
+       (Layout::input_section_glob_): New private member.
+       * main.cc (main): Call read_layout_from_file here.
+       * options.h (--section-ordering-file): New option.
+       * output.cc (Output_section::input_section_order_specified_): New
+       member.
+       (Output_section::Output_section): Initialize new member.
+       (Output_section::add_input_section): Add new parameter.
+       Keep input sections when --section-ordering-file is used.
+       (Output_section::set_final_data_size): Sort input sections when
+       section ordering file is specified.
+       (Output_section::Input_section_sort_entry): Add new parameter.
+       Check sorting type.
+       (Output_section::Input_section_sort_entry::compare_section_ordering):
+       New method.
+       (Output_section::Input_section_sort_compare::operator()): Change to
+       consider section_order_index.
+       (Output_section::Input_section_sort_init_fini_compare::operator()):
+       Change to consider section_order_index.
+       (Output_section::Input_section_sort_section_order_index_compare
+       ::operator()): New method.
+       (Output_section::sort_attached_input_sections): Change to sort
+       according to section order when specified.
+       (Output_section::add_input_section<32, true>): Add new parameter. 
+       (Output_section::add_input_section<64, true>): Add new parameter. 
+       (Output_section::add_input_section<32, false>): Add new parameter. 
+       (Output_section::add_input_section<64, false>): Add new parameter. 
+       * output.h (Output_section::add_input_section): Add new parameter.
+       (Output_section::input_section_order_specified): New
+       method.
+       (Output_section::set_input_section_order_specified): New method.
+       (Input_section::Input_section): Initialize section_order_index_.
+       (Input_section::section_order_index): New method.
+       (Input_section::set_section_order_index): New method.
+       (Input_section::section_order_index_): New member.
+       (Input_section::Input_section_sort_section_order_index_compare): New
+       struct.
+       (Output_section::input_section_order_specified_): New member.
+       * script-sections.cc (is_wildcard_string): Delete and move modified
+       method to gold.h.
+       (Output_section_element_input::Output_section_element_input): Modify
+       call to is_wildcard_string.
+       (Output_section_element_input::Input_section_pattern
+       ::Input_section_pattern): Ditto.
+       (Output_section_element_input::Output_section_element_input): Ditto.
+       * testsuite/Makefile.am (final_layout): New test case.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/final_layout.cc: New file.
+       * testsuite/final_layout.sh: New file.
+
+2010-06-01  Rafael Espindola  <espindola@google.com>
+
+       * plugin.cc (Plugin::load): Pass the output name to the plugin.
+
+2010-06-01  Rafael Espindola  <espindola@google.com>
+
+       * plugin.cc (Sized_pluginobj::::do_add_symbols): Correctly set the
+       visibility of symbols.
+
+2010-05-27  Doug Kwan  <dougkwan@google.com>
+
+       * object.cc (Sized_relobj::do_finalize_local_symbols): Use offset
+       from start of output section instead of address for a local symbol
+       in a merged or relaxed section when doing a relocatable link.
+
+2010-05-26  Rafael Espindola  <espindola@google.com>
+
+       PR 11604
+       * gold/object.cc(Sized_relobj::do_layout_deferred_sections): Avoid
+       adding sections the garbage collector removed.
+       * gold/testsuite/Makefile.am: Add test.
+       * gold/testsuite/Makefile.in: Regenerate.
+       * gold/testsuite/plugin_test_7.sh: New.
+       * gold/testsuite/plugin_test_7_1.c: New.
+       * gold/testsuite/plugin_test_7_2.c: New.
+
+2010-05-26  Rafael Espindola  <espindola@google.com>
+
+       * script-sections.cc (Output_section_definition::set_section_addresses):
+       Check for --section-start.
+
+2010-05-26  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_scan_relocatable_relocs): New class.
+       (Target_arm::relocate_special_relocatable): New method.
+       (Arm_relocate_functions::arm_branch_common): Handle relocatable link.
+       (Arm_relocate_functions::thumb_branch_common): Same.
+       (Target_arm::scan_relocatable_relocs): Use Arm_scan_relocatable_relocs
+       instead of Default_scan_relocatable_relocs.
+       * target-reloc.h (relocate_for_relocatable): Let target handle
+       relocation strategy Relocatable_relocs::RELOC_SPECIAL.
+       * target.h (Sized_target::relocate_special_relocatable): New method.
+
+2010-05-25  Viktor Kutuzov  <vkutuzov@accesssoftek.com>
+
+       * timer.cc: Only #include <sys/times.h> if HAVE_TIMES is defined.
+
+2010-05-23  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_input_section::do_output_offset): Use convert_types
+       instead of a cast.
+       (Target_arm::apply_cortex_a8_workaround): Rewrite a conditional branch
+       with a direct branch, not a conditional branch, to a stub.
+       * merge.cc (Output_merge_base::record_input_section): New method
+       defintion.
+       (Output_merge_data::do_add_input_section): Record input section if
+       keeps-input-sections flag is set.
+       (Output_merge_string::do_add_input_section): Ditto.
+       * merge.h (Output_merge_base::Output_merge_base): Initialize new data
+       members KEEPS_INPUT_SECTIONS_, FIRST_RELOBJ_, FIRST_SHNDX_ and
+       INPUT_SECTIONS_.
+       (Output_merge_base::keeps_input_sections,
+       Output_merge_base::set_keeps_input_sections,
+       Output_merge_base::first_relobj, Output_merge_base::first_shndx): New
+       method definitions.
+       (Output_merge_base::Input_sections): New type declaration.
+       (Output_merge_base::input_sections_begin,
+       Output_merge_base::input_sections_end,
+       Output_merge_base::do_set_keeps_input_sections): New method definitions.
+       (Output_merge_base::bool keeps_input_sections_,
+       Output_merge_base::first_relobj_, Output_merge_base::first_shndx_,
+       Output_merge_base::input_sections_): New data members.
+       (Output_merge_data::do_set_keeps_input_sections): New method
+       defintion.
+       (Output_merge_string::do_set_keeps_input_sections): Ditto.
+       * output.cc (Output_section::Input_section::relobj): Move method
+       defintion from class declaration to here and handle merge sections.
+       (Output_section::Input_section::shndx): Ditto.
+       (Output_section::Output_section): Remove initializations of removed
+       data members and initialize new data member LOOKUP_MAPS_.
+       (Output_section::add_input_section): Set keeps-input-sections flag
+       for a newly created merge output section as appropriate.  Adjust code
+       to use Output_section_lookup_maps class.
+       (Output_section::add_relaxed_input_section): Adjst code for lookup
+       maps code refactoring.
+       (Output_section::add_merge_input_section): Add a new parameter
+       KEEPS_INPUT_SECTION.  Adjust code to use Output_section_lookup_maps
+       class.  If adding input section to a newly created merge output
+       section fails, remove the new merge section.
+       (Output_section::convert_input_sections_in_list_to_relaxed_input_sections):
+       Adjust code for use of the Output_section_lookup_maps class. 
+       (Output_section::find_merge_section): Ditto.
+       (Output_section::build_lookup_maps): New method defintion.
+       (Output_section::find_relaxed_input_section): Adjust code to use
+       Output_section_lookup_maps class.
+       (Output_section::get_input_sections): Export merge sections.  Adjust
+       code to use Output_section_lookup_maps class.
+       (Output_section:::add_script_input_section): Adjust code to use
+       Output_section_lookup_maps class.  Update lookup maps for merge
+       sections also.
+       (Output_section::discard_states): Use Output_section_lookup_maps.
+       (Output_section::restore_states): Same.
+       * output.h (Merge_section_properties): Move class defintion out of
+       Output_section.
+       (Output_section_lookup_maps): New class.
+       (Output_section::Input_section::is_merge_section): New method
+       defintion.
+       (Output_section::Input_section::relobj): Move defintion out of class
+       defintion.  Declare method only.
+       (Output_section::Input_section::shndx): Ditto.
+       (Output_section::Input_section::output_merge_base): New method defintion.
+       (Output_section::Input_section::u2_.pomb): New union field.
+       (Output_section::Merge_section_by_properties_map,
+       Output_section::Output_section_data_by_input_section_map,
+       Output_section::Ouptut_relaxed_input_section_by_input_section_map):
+       Remove types.
+       (Output_section::add_merge_input_section): Add new parameter
+       KEEPS_INPUT_SECTIONS.
+       (Output_section::build_lookup_maps): New method declaration.
+       (Output_section::merge_section_map_,
+       Output_section::merge_section_by_properties_map_,
+       Output_section::relaxed_input_section_map_,
+       Output_section::is_relaxed_input_section_map_valid_): Remove data
+       members.
+       (Output_section::lookup_maps_): New data member.
+
+2010-05-21  Doug Kwan  <dougkwan@google.com>
+
+       PR gold/11619
+       * arm.cc (Arm_input_section::do_output_offset): Add a cast to
+       avoid a compilation error.
+
+2010-05-19  Rafael Espindola  <espindola@google.com>
+
+       * script-sections.cc (Output_section_definition::allocate_to_segment):
+       Update the phdrs_list even when the output section is NULL.
+       * testsuite/Makefile.am: Add test.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/script_test_9.cc: New.
+       * testsuite/script_test_9.sh: New.
+       * testsuite/script_test_9.t: New.
+
+2010-05-19  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_input_section::original_size): New method.
+       (Arm_input_section::do_addralign): Add a cast.
+       (Arm_input_section::do_output_offset): Remove static cast.
+       (Arm_input_section::original_addralign,
+        Arm_input_section::original_size_): Change type to uint32_t.
+       (Arm_input_section::init): Add safe casts for section alignment
+       and size.
+       (Arm_input_section::set_final_data_size): Do not set address and
+       offset of stub table.
+       (Arm_output_section::fix_exidx_coverage): Change use of of
+       Output_section::Simple_input_section to that of
+       Output_section::Input_section.
+       (Target_arm::do_relax): Set addresses and file offsets of Stub_tables
+       except for the first pass.
+       * output.cc (Output_section::get_input_sections): Change type of
+       input_sections to std::list<Input_section>.
+       (Output_section::add_script_input_section): Rename from
+       Output_section::add_simple_input_section.  Change type of SIS
+       parameter from Simple_input_section to Input_section.
+       * output.h (Output_section::Simple_input_section): Remove class.
+       (Output_section::Input_section): Change class visibility to public.
+       (Output_section::Input_section::addralign): Use stored alignments
+       for special input sections if set.
+       (Output_section::Input_section::set_addralign): New method.
+       (Output_section::get_input_sections): Change parameter type from
+       list of Simple_input_section to list of Input_section.
+       (Output_section::add_script_input_section): Rename from
+       Output_section::add_simple_input_section. Change first parameter's
+       type from Simple_input_section to Input_section and remove the
+       second and third parameters.
+       * script-sections.cc (Input_section::Input_section_list): Change
+       type to list of Output_section::Input_section/
+       (Input_section_info::Input_section_info): Change parameter type of
+       INPUT_SECTION to Output_section::Input_section.
+       (Input_section_info::input_section): Change return type.
+       (Input_section_info::input_section_): Change type to
+       Output_section::Input_section.
+       (Output_section_element_input::set_section_addresses): Adjust code
+       to use Output_section::Input_section instead of
+       Output_section::Simple_input_section.  Adjust code for renaming
+       of Output_section::add_simple_input_section.
+       (Orphan_output_section::set_section_addresses): Ditto.
+
+2010-05-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * gold.h (Unordered_multimap, Unordered_map): Fix defines for
+       when neither HAVE_TR1_UNORDERED_MAP nor HAVE_EXT_HASH_MAP are set.
+
+2010-05-18  Rafael Espindola  <espindola@google.com>
+
+       * options.cc (General_options::finalize): Handle -nostdlib.
+       * options.h (nostdlib): New option.
+       * script.cc (script_add_search_dir): Handle -nostdlib.
+
+2010-05-12  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::do_finalize_sections): Create an empty
+       attributes section only if there no attributes section after merging.
+       (Target_arm::merge_object_attributes): Move value of
+       Tag_MPextension_use_legacy to that of Tag_MPextension_use. 
+       Handle Tag_DIV_use and Tag_MPextension_use_legacy.
+       * testsuite/Makefile.am (check_SCRIPTS): Add arm_attr_merge.sh
+       (check_DATA): Add arm_attr_merge_6.stdout, arm_attr_merge_6r_stdout
+       and arm_attr_merge_7.stdout.
+       (arm_attr_merge_6.stdout, arm_attr_merge_6 arm_attr_merge_6a.o
+       arm_attr_merge_6b.o, arm_attr_merge_6r.stdout, arm_attr_merge_6r,
+       arm_attr_merge_7.stdout, arm_attr_merge_7, arm_attr_merge_7a.o,
+       arm_attr_merge_7b.o): New rules.
+       (MOSTLYCLEANFILES): Add arm_attr_merge_6, arm_attr_merge_6r and
+       arm_attr_merge_7
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/arm_attr_merge.sh: New file.
+       * testsuite/arm_attr_merge_[67][ab].s: Same.
+
+2010-05-05  Nick Clifton  <nickc@redhat.com>
+
+       * po/es.po: Updated Spanish translation.
+
+2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * Makefile.am (install-exec-local): Properly install gold as
+       default cross linker.
+       * Makefile.in: Regenerated.
+
+2010-04-27  H.J. Lu  <hongjiu.lu@intel.com>
+           Nick Clifton  <nickc@redhat.com>
+
+       * configure.ac (install_as_default): Define and set to false
+       unless --enable-gold or --enable-gold=both/gold has been
+       specified.
+       * configure: Regenerate.
+
+       * Makefile.am (install-exec-local): Install the executable as
+       'ld.gold'.  If install_as_default is true then also install it as
+       'ld'.
+       * Makefile.in: Regenerated.
+
+2010-04-24  Ian Lance Taylor  <iant@google.com>
+
+       * layout.cc (Layout::layout_reloc): In relocatable link don't
+       combine reloc sections for grouped sections.
+
+2010-04-23  Sriraman Tallam  <tmsriram@google.com>
+
+       * gc.h (gc_process_relocs): Pass information on relocs pointing to
+       sections that are not ordinary to icf.
+       * icf.cc (get_section_contents): Handle relocation pointing to section
+       with no object or shndx information.
+       * testsuite/Makefile.am: Remove icf_virtual_function_folding_test.sh
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/icf_virtual_function_folding_test.cc: Remove printf.
+       * testsuite/icf_virtual_function_folding_test.sh: Delete file.
+
+2010-04-22  Ian Lance Taylor  <iant@google.com>
+
+       * expression.cc (Expression::Expression_eval_info): Add
+       result_alignment_pointer field.
+       (Expression::eval_with_dot): Add result_alignment_pointer
+       parameter.  Change all callers.
+       (Expression::eval_maybe_dot): Likewise.
+       (class Binary_expression): Add alignment_pointer parameter to
+       left_value and right_value.  Change all callers.
+       (BINARY_EXPRESSION): Set result alignment.
+       (class Trinary_expression): Add alignment_pointer parameter to
+       arg2_value and arg3_value.  Change all callers.
+       (Trinary_cond::value): Set result alignment.
+       (Max_expression::value, Min_expression::value): Likewise.
+       (Align_expression::value): Likewise.
+       * script-sections.cc (class Sections_element): Add dot_alignment
+       parameter to set_section_addresses virtual function.  Update
+       instantiations.
+       (class Output_section_element): Likewise.
+       (Script_sections::create_segments): Add dot_alignment parameter.
+       Change all callers.
+       (Script_sections::create_segments_from_phdrs_clause): Likewise.
+       (Script_sections::set_phdrs_clause_addresses): Likewise.
+       * script-sections.h: Update declarations.
+       * script.h: Update declarations.
+       * output.h (Output_segment::set_minimum_p_align): Don't decrease
+       min_p_align.
+       * testsuite/script_test_3.t: Set large alignment.
+       * testsuite/script_test_3.sh: Make sure that at least one LOAD
+       segment has expected alignment.
+
+2010-04-22  Nick Clifton  <nickc@redhat.com>
+
+       * po/gold.pot: Updated by the Translation project.
+       * po/vi.po: Updated Vietnamese translation.
+
+2010-04-22  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/Makefile.am (check_PROGRAMS): Add
+       icf_virtual_function_folding_test.
+       * testsuite/Makefile.in: Regenerated.
+
+2010-04-15  Andrew Haley  <aph@redhat.com>
+
+       * options.h (merge_exidx_entries): New option.
+       * arm.cc (class Arm_exidx_fixup): Add new arg, merge_exidx_entries.
+       (class Arm_exidx_fixup::merge_exidx_entries_): New member.
+       (Output_section::fix_exidx_coverage): Add new arg, merge_exidx_entries.
+       (Target_arm::merge_exidx_entries): New function.
+       (process_exidx_entry): Don't merge if merge_exidx_entries_ is false.
+       (Arm_output_section::fix_exidx_coverage): Pass merge_exidx_entries
+       to Arm_exidx_fixup constructor.
+       Add new arg, merge_exidx_entries.
+       (Target_arm::fix_exidx_coverage): pass merge_exidx_entries to
+       Arm_output_section::fix_exidx_coverage.
+
+2010-04-18  Sriraman Tallam  <tmsriram@google.com>
+
+       * icf.cc (get_section_contents): Check for preemptible functions.
+       Ignore addend when appropriate.
+       * symtab.cc (should_add_dynsym_entry): Add new parameter.  Check for
+       section folded.
+       (add_from_relobj): Check for section folded.
+       (set_dynsym_indexes): Fix call to should_add_dynsym_entry.
+       * symtab.h (should_add_dynsym_entry): Add new parameter.
+       * target-reloc.h (scan_relocs): Check for section folded.
+       * x86_64.cc (Target_x86_64::Scan::possible_function_pointer_reloc):
+       Check reloc types for function pointers in shared objects.
+       * testsuite/Makefile.am (icf_virtual_function_folding_test): New test
+       case.
+       (icf_preemptible_functions_test): New test case.
+       (icf_string_merge_test): New test case.
+       * testsuite.Makefile.in: Regenerate.
+       * testsuite/icf_safe_so_test.sh: Change to not fold foo_glob and
+       bar_glob.  Refactor code.
+       * testsuite/icf_preemptible_functions_test.cc: New file.
+       * testsuite/icf_preemptible_functions_test.sh: New file.
+       * testsuite/icf_string_merge_test.cc: New file.
+       * testsuite/icf_string_merge_test.sh: New file.
+       * testsuite/icf_virtual_function_folding_test.cc: New file.
+       * testsuite/icf_virtual_function_folding_test.sh: New file.
+
+2010-04-14  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_output_section::fix_exidx_coverage): Mark object
+       for local symbol recounting if we remove a section due to ICF.
+       * gold.cc (queue_middle_gc_tasks): Create a dummy blocker if
+       there are no regular objects in input.
+
+2010-04-13  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_input_section::set_final_data_size): Compute
+       accurate final data size instead of using current data size.
+
+2010-04-09  Doug Kwan  <dougkwan@google.com>
+
+       * layout.cc (Layout::choose_output_section): Handle script section
+       types.
+       (Layout::make_output_section_for_script): Add section type parameter.
+       Handle script section types.
+       * layout.h (Layout::make_output_section_for_script): Add section
+       type parameter.
+       * output.cc (Output_section::Output_section): Initialize data member
+       is_noload_.
+       (Output_section::do_reset_address_and_file_offset): Do not set address
+       to 0 if section is a NOLOAD section.
+       * output.h (Output_section::is_noload): New method.
+       (Output_section::set_is_noload): Ditto.
+       (Output_section::is_noload_): New data member.
+       * script-c.h (Script_section_type): New enum type.
+       (struct Parser_output_section_header): Add new file section_type.
+       * script-sections.cc (Sections_element::output_section_name): Add
+       parameter for returning script section type.
+       (Output_section_definition::output_section_name): Ditto.
+       (Output_section_definition::section_type)P; New method.
+       (Output_section_definiton::script_section_type_name): Ditto.
+       (Output_section_definition::script_section_type_): New data member.
+       (Output_section_definition::Output_section_definition): Initialize
+       data member Output_section_definition::script_section_type_.
+       (Output_section_definition::create_sections): Pass script section type
+       to Layout::make_output_section_for_script.
+       (Output_section_definition::output_section_name): Return script
+       section type to caller.
+       (Output_section_definition::set_section_address): Do not advance
+       dot value and load address if section type is NOLOAD.  Set address
+       of NOLOAD sections regardless of section flags.
+       (Output_section_definition::print): Print section type if it is
+       not SCRIPT_SECTION_TYPE_NONE.
+       (Output_section_definition::section_type): New method.
+       (Output_section_definition::script_section_type_name): Ditto.
+       (Script_sections::output_section_name): Add new parameter
+       PSECTION_TYPE for returning script section type.  Pass it to
+       section elements.  Handle discard sections.
+       (Sort_output_sections::operator()): Handle NOLOAD sections.
+       * script-sections.h (Script_sections::Section_type): New enum type.
+       (Script_sections::output_section_name): Add a new parameter for
+       returning script section type.
+       * script.cc (script_keyword_parsecodes): Add keywords COPY, DSECT,
+       INFO and NOLOAD.
+       * yyscript.y (union): Add new field SECTION_TYPE.
+       (COPY, DSECT, INFO, NOLOAD): New tokens.
+       (opt_address_and_section_type): Change type to output_section_header.
+       (section_type): New non-terminal
+       (section_header): Handle section type.
+       (opt_address_and_section_type): Return section type value.
+
+2010-04-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/plugin_common_test_1.c (foo): Add prototype.
+       * testsuite/plugin_common_test_2.c (foo): Likewise.
+
+2010-04-08  Doug Kwan  <dougkwan@google.com>
+
+       * merge.cc (Output_merge_data::set_final_data_size): Handle empty
+       Output_merge_data.
+       * output.cc (Output_section::add_merge_input_section): Simplify
+       code and return status of Output_merge_base::add_input_section.
+       Update merge section map only if Output_merge_base::add_input_section 
+       returns true.
+
+2010-04-07  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_relobj::scan_section_for_cortex_a8_erratum): Warn
+       if section is marked as containing instructions but has no mapping
+       symbols.
+       (Arm_relobj::do_count_local_symbols): Call adjust_sym_shndx to get
+       correct section index.
+       (Arm_relobj::find_linked_text_section): Ditto.
+
+2010-04-07  Cary Coutant  <ccoutant@google.com>
+
+       * archive.cc (include_member): Destroy Read_symbols_data object before
+       releasing file.
+       * object.cc (Read_symbols_data::~Read_symbols_data) New destructor.
+       * object.h (Read_symbols_data::Read_symbols_data) New constructor.
+       (Read_symbols_data::~Read_symbols_data) New destructor.
+       (Section_relocs::Section_relocs) New constructor.
+       (Section_relocs::~Section_relocs) New destructor.
+       (Read_relocs_data::Read_relocs_data) New constructor.
+       (Read_relocs_data::~Read_relocs_data) New destructor.
+       * testsuite/binary_unittest.cc (Sized_binary_test): Set sd member
+       pointers to NULL after deleting.
+
+2010-04-07  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc: Replace "endianity" with "endianness" in comments.
+       (Arm_exidx_cantunwind): Ditto.
+       (Arm_relobj::Arm_relobj): Initialize merge_flags_and_attribures.
+       (Arm_relobj::merge_flags_and_attributes): New method.
+       (Arm_relobj::merge_flags_and_attributes_): New data member.
+       (Arm_exidx_cantunwind::do_fixed_endian_write): Fix formatting.
+       (Arm_relobj::scan_sections_for_stubs): Ditto.
+       (Arm_relobj::do_read_symbols): Check to see if we really want to
+       merge processor-specific flags and attributes.  Exit early if
+       an object is empty except for section names and the undefined symbol.
+       (Target_arm::do_finalize_sections): Move check for ELF format to
+       Arm_relobj::do_read_symbols.  Merge processor specific flags and
+       attributes from a regular object only when we have determined that
+       it is aapropriate.  Do not create an .ARM.attributes section in
+       output if there is no regular input object.
+       (Target_arm::merge_processor_specific_flags): Check
+       --warn-mismatch before printing any error.
+       (Target_arm::merge_object_attributes): Ditto.
+       * gold.cc (queue_middle_tasks): Handle the case in which there is
+       no regular object in input.
+       * options.cc (General_options::parse_EB): New method.
+       (General_options::parse_EL): Same.
+       (General_options::General_options): Initialize endianness_.
+       * options.h (-EB, -EL, -no-pipeline-knowledge, -p, --warn-mismatch):
+       New options.
+       (General_options::Endianness): New enum.
+       (General_options::endianness): New method.
+       (General_options::endianness_): New data member.
+       * parameters.cc (Parameters::set_options): Check target endianness.
+       (Parameters::set_target_once): Ditto.
+       (Parameters::check_target_endianness): New method.
+       (parameters_force_valid_target): If either -EL or -EB is specified,
+       use it to define endianness of default target.
+       * parameters.h (Parameters::check_target_endianness): New method
+       declaration.
+       * target.h (class Target): Change "endianity" to "endianness"
+       in comments.
+
+2010-04-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       * configure.ac (AM_INIT_AUTOMAKE): Add option no-dist.
+       * configure: Regenerate.
+       * Makefile.in: Regenerate.
+       * testsuite/Makefile.in: Regenerate.
+
+2010-04-06  Cary Coutant  <ccoutant@google.com>
+
+       gcc PR lto/42757
+       * plugin.cc (Pluginobj::get_symbol_resolution_info): Check for
+       prevailing definitions of common symbols.
+       * testsuite/plugin_test_6.sh: New test case.
+       * testsuite/plugin_common_test_1.c: New test case.
+       * testsuite/plugin_common_test_2.c: New test case.
+       * testsuite/Makefile.am (plugin_test_6): New test case.
+       * testsuite/Makefile.in: Regenerate.
+
+2010-04-06  Nick Clifton  <nickc@redhat.com>
+
+       * po/vi.po: New Vietnamese translation.
+
+2010-03-30  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Target_arm::using_thumb_only): Handle v6-M
+
+2010-03-25  Doug Kwan  <dougkwan@google.com>
+
+       * gold/arm.cc (Arm_exidx_fixup::update_offset_map): Rearrange code
+       to avoid a conversion warning on a 32-bit host.
+
+2010-03-24  Ian Lance Taylor  <iant@google.com>
+
+       * testsuite/script_test_3.t: Add a TLS segment.
+       * testsuite/Makefile.am (check_PROGRAMS): Add
+       tls_phdrs_script_test.
+       (tls_phdrs_script_test_SOURCES): Define.
+       (tls_phdrs_script_test_DEPENDENCIES): Define.
+       (tls_phdrs_script_test_LDFLAGS): Define.
+       (tls_phdrs_script_test_LDADD): Define.
+       * testsuite/Makefile.in: Rebuild.
+
+2010-03-23  Cary Coutant  <ccoutant@google.com>
+
+       * fileread.cc (find_or_make_view): Fix comment.
+
 2010-03-23  Ian Lance Taylor  <iant@google.com>
 
        * script-sections.cc (class Orphan_section_placement): Define
This page took 0.043307 seconds and 4 git commands to generate.