+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