+2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in: Regenerate.
+ * aclocal.m4: Likewise.
+ * config.in: Likewise.
+ * configure: Likewise.
+ * testsuite/Makefile.in: Likewise.
+
+ * Makefile.am (AUTOMAKE_OPTIONS): Add foreign.
+ * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Add foreign.
+ * Makefile.in: Regenerate.
+ * testsuite/Makefile.in: Regenerate.
+
+2009-08-19 Cary Coutant <ccoutant@google.com>
+
+ * resolve.cc (Symbol_table::resolve): Don't complain about defined
+ symbols in shared libraries overridden by hidden or internal symbols
+ in the main program.
+
+2009-08-19 Chris Demetriou <cgd@google.com>
+
+ * testsuite/debug_msg.sh: Match .* rather than ${srcdir} when
+ checking source file names in error messages.
+
+2009-08-18 Doug Kwan <dougkwan@google.com>
+
+ * dynobj.cc (Sized_dynobj::setup): Take a Target object instead of
+ an elcpp::Ehdr as parameter. Adjust call to set_target.
+ * dynobj.h (Sized_dynobj::setup): Take a Target object instead of
+ an elfcpp::Ehdr as parameter.
+ * object.cc (Object::set_target): Remove the version that looks up
+ a target and sets it.
+ (Sized_relobj::setup): Take a Target object instead of
+ an elfcpp::Ehdr as parameter. Adjust call to set_target.
+ (make_elf_sized_object): Find target and ask target to
+ make an ELF object.
+ * object.h: (Object::set_target): Remove the version that looks up
+ a target and sets it.
+ (Sized_relobj::setup): Take a Target object instead of
+ an elfcpp:Ehdr as parameter.
+ * target.cc: Include dynobj.h.
+ (Target::do_make_elf_object_implementation): New.
+ (Target::do_make_elf_object): New.
+ * target.h (Target::make_elf_object): New template declaration.
+ (Target::do_make_elf_object): New method declarations.
+ (Target::do_make_elf_object_implementation): New template declaration.
+
+2009-08-14 Ian Lance Taylor <iant@google.com>
+
+ * gold.h (FUNCTION_NAME): Define.
+ (gold_unreachable): Use FUNCTION_NAME.
+
+2009-08-12 Sriraman Tallam <tmsriram@google.com>
+
+ * icf.cc (Icf::find_identical_sections): Issue a warning when a
+ symbol in the --keep-unique list is not found.
+
+2009-08-12 Sriraman Tallam <tmsriram@google.com>
+
+ * icf.cc (Icf::find_identical_sections): Unfold symbols that have
+ been maked as --keep-unique.
+ (Icf::unfold_section): New function.
+ * icf.h (Icf::unfold_section): New function.
+ * options.h (General_options::keep_unique): New option.
+ * testsuite/Makefile.am: Add commands to build icf_keep_unique_test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/icf_keep_unique_test.sh: New file.
+ * testsuite/icf_keep_unique_test.cc: New file.
+
+2009-08-12 Cary Coutant <ccoutant@google.com>
+
+ PR 10471
+ * resolve.cc (Symbol_table::resolve): Check for references from
+ dynamic objects to hidden and internal symbols.
+ * testsuite/Makefile.am (hidden_test.sh): New test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/hidden_test.sh: New script.
+ * testsuite/hidden_test_1.c: New test source.
+ * testsuite/hidden_test_main.c: New test source.
+
+2009-08-11 Doug Kwan <dougkwan@google.com>
+
+ * arm.cc: Update comments.
+ (Target_arm::do_finalize_sections): Add a special PT_ARM_EXIDX
+ segment to locate the .ARM.exidx section if present.
+
+2009-08-09 Doug Kwan <dougkwan@google.com>
+
+ * dynobj.h (Sized_dynobj::do_section_entsize): Revert the previous
+ patch.
+
+2009-08-07 Sriraman Tallam <tmsriram@google.com>
+ * dynobj.h (Sized_dynobj::do_section_entsize): Add return to avoid
+ compiler warnings.
+
+2009-08-06 Sriraman Tallam <tmsriram@google.com>
+
+ * x86_64.cc (Target_x86_64::Relocate::relocate_tls): Check for a
+ valid tls_segment only for non-debug-section relocations.
+ * testsuite/Makefile.am: Add gc_tls_test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/gc_tls_test.cc: New file.
+ * testsuite/gc_tls_test.sh: New file.
+
+2009-08-05 Sriraman Tallam <tmsriram@google.com>
+
+ * icf.cc: New file.
+ * icf.h: New file.
+ * Makefile.am (CCFILES): Add icf.cc.
+ (HFILES): Add icf.h
+ * Makefile.in: Regenerate.
+ * dynobj.h (Sized_dynobj::do_section_entsize): New function.
+ * gc.h (gc_process_relocs): Populate lists used by icf to contain
+ section, symbol and addend information for the relocs.
+ * gold.cc (queue_middle_tasks): Call identical code folding.
+ * gold.h: Add defines for multimap.
+ * layout.cc (Layout::create_symtab_sections): Add symtab as parameter
+ to the call of finalize_local_symbols.
+ * main.cc (main): Create object of class Icf.
+ * object.cc (Sized_relobj::do_layout): Allow this function to be
+ called twice during icf.
+ (Sized_relobj::do_finalize_local_symbols): Fold symbols corresponding
+ to sections marked as identical by icf.
+ (Sized_relobj::do_section_flags): Get section_flags from Symbols_data
+ when available.
+ (Sized_relobj::do_section_entsize): New function.
+ * object.h (Object::section_entsize): New function.
+ (Object::do_section_entsize): New pure virtual function.
+ (Relobj::finalize_local_symbols): Add new parameter.
+ (Relobj::do_section_entsize): New function.
+ * options.h (General_options::icf): New option.
+ (General_options::icf_iterations): New option.
+ (General_options::print_icf_sections): New option.
+ * plugin.cc (Sized_pluginobj::do_section_entsize): New function.
+ * plugin.h (Sized_pluginobj::do_section_entsize): New function.
+ * reloc.cc (Read_relocs::run): Delay scanning relocs when doing
+ icf.
+ * symtab.cc (Symbol_table::is_section_folded): New function.
+ (Symbol_table::sized_finalize_symbol): Fold symbols corresponding
+ to sections marked as identical by icf.
+ * symtab.h (Symbol_table::set_icf): New function.
+ (Symbol_table::icf): New function.
+ (Symbol_table::is_section_folded): New function.
+ (Symbol_table::icf_): New data member.
+ * target-reloc.h (relocate_section): Ignore sections folded by icf.
+ * testsuite/Makefile.am: Add commands to build icf_test.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/icf_test.sh: New file.
+ * testsuite/icf_test.cc: New file.
+
+2009-07-24 Chris Demetriou <cgd@google.com>
+
+ * layout.cc (is_compressible_debug_section): Fix incorrect
+ comment about compressed section names.
+
+2009-07-20 Ian Lance Taylor <ian@airs.com>
+
+ PR 10419
+ * x86_64.cc (Target_x86_64::do_code_fill): Correct nop sequences.
+
+2009-07-16 Ian Lance Taylor <iant@google.com>
+
+ PR 10400
+ * layout.h: #include <map>.
+ (class Kept_section): Change from struct to class. Add accessors
+ and setters. Add section size to Comdat_group mapping. Change
+ Comdat_group to std::map. Add is_comdat_ field. Add
+ linkonce_size field in union.
+ (class Layout): Update declaration of find_or_add_kept_section.
+ Don't declare find_kept_object.
+ * layout.cc (Layout::find_or_add_kept_section): Remove candidate
+ parameter. Add object, shndx, is_comdat, and is_group_name
+ parameters. Change all callers. Adjust for new Kept_section.
+ (Layout::find_kept_object): Remove.
+ * object.cc (Sized_relobj::include_section_group): Update use of
+ Kept_section. Rename secnum to shndx. Only record
+ Kept_comdat_section if sections are the same size.
+ (Sized_relobj::include_linkonce_section): Update use of
+ Kept_section. Only record Kept_comdat_section if sections are the
+ same size. Set size of linkonce section.
+ (Sized_relobj::map_to_kept_section): Update call to
+ get_kept_comdat_section.
+ * object.h (class Sized_relobj): Rename fields in
+ Kept_comdat_section to drop trailing underscores; change object
+ field to Relobj*. Change Kept_comdat_section_table to store
+ struct rather than pointer.
+ (Sized_relobj::set_kept_comdat_section): Remove kept parameter.
+ Add kept_object and kept_shndx parameters. Change all callers.
+ (Sized_relobj::get_kept_comdat_section): Change return type to
+ bool. Add kept_object and kept_shndx parameters. Change all
+ callers.
+ * plugin.cc (Pluginobj::include_comdat_group): Update call to
+ Layout::find_or_add_kept_section.
+
+2009-07-09 Ian Lance Taylor <iant@google.com>
+
+ * merge.cc (Object_merge_map::initialize_input_to_output_map):
+ Reserve space in the hash table.
+
2009-07-06 Mikolaj Zalewski <mikolajz@google.com>
* fileread.cc (File_read::get_mtime): New method.