2009-08-11 Doug Kwan <dougkwan@google.com>
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 85326d12a6ae86d154fb32f0ae7cb5d853268ec9..754938264c6a4494b730663ad8950056da6ad0da 100644 (file)
@@ -1,3 +1,183 @@
+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.
+       * fileread.h (Timespec): New structure.
+       (File_read::get_mtime): New method.
+       * incremental.cc (Incremental_inputs_entry_data::timestamp_usec):
+       Renamed from timestamp_nsec.
+       (Incremental_inputs_entry_write::timestamp_sec): Fix argument to
+       Elf_Xword.
+       (Incremental_inputs_entry_write::timestamp_usec): Renamed from 
+       timestamp_nsec.
+       (Incremental_inputs::report_archive): Save mtime; style fix. 
+       (Incremental_inputs::report_obejct): Save mtime; style fix.
+       (Incremental_inputs::report_script): Save mtime; style fix.
+       (Incremental_inputs::finalize_inputs): Style fix.
+       (Incremental_inputs::finalize): Style fix.
+       (Incremental_inputs::create_input_section_data): Store inputs
+       mtime.
+       * incremental.h (Incremental_inputs::report_script): Add mtime
+       argument.
+       (Incremental_inputs::Input_info::Input_info): Intialize only one
+       union member.
+       (Incremental_inputs::Input_info::archive): Move to nameless
+       union.
+       (Incremental_inputs::Input_info::obejct): Move to nameless union.
+       (Incremental_inputs::Input_info::script): Move to nameless union.
+       (Incremental_inputs::mtime): New field.
+       * script.cc (read_input_script): Pass file mtime to
+       Incremental_input.
+       * script.h (Script_info::inputs): Style fix.
+
+2009-07-01  Ian Lance Taylor  <ian@airs.com>
+
+       * freebsd.h (Target_freebsd::do_adjust_elf_header): Use size
+       instead of 32.
+
+2009-06-24  Ian Lance Taylor  <iant@google.com>
+
+       PR 10156
+       * layout.cc (Layout::choose_output_section): If we find an
+       existing section, update the flags.
+       (Layout::create_notes): New function, broken out of
+       Layout::finalize.
+       (Layout::finalize): Don't create note sections.
+       (Layout::create_note): Don't crash if linker script discards
+       section.
+       (Layout::create_gold_note): Likewise.
+       (Layout::create_build_id): Likewise.  Don't set
+       after_input_sections on the section.
+       (Layout::create_executable_stack_info): Remove target parameter.
+       Change caller.
+       * layout.h (class Layout): Declare create_notes.  Update
+       declaration of create_executable_stack_info.
+       * gold.cc (queue_middle_tasks): Call create_notes.
+       * output.cc (Output_section::update_flags_for_input_section): Move
+       here from output.h.  If SHF_ALLOC flag is newly set, mark address
+       invalid.
+       * output.h (Output_data::mark_address_invalid): New function.
+       (class Output_section): Only declare, not define,
+       update_flags_for_input_section.  Remove set_flags.
+
 2009-06-24  Ian Lance Taylor  <iant@google.com>
 
        * script-sections.cc (Output_section_definition::
This page took 0.026154 seconds and 4 git commands to generate.