* merge.h (Output_merge_string::Merged_string): Remove object, shndx,
[binutils-gdb.git] / gold / ChangeLog
index 8d7526961c8a1e464764363e4693a21a11f79f56..c6741b68a211b17bdf74a939b96f00b2d57a8b82 100644 (file)
@@ -1,3 +1,70 @@
+2010-07-21  Cary Coutant  <ccoutant@google.com>
+
+       * merge.h (Output_merge_string::Merged_string): Remove object, shndx,
+       string, and length fields.
+       (Output_merge_string::Merged_strings_list): New type.
+       (Output_merge_string::Merged_strings_lists): New typedef.
+       (Output_merge_string): Replace merged_strings_ with
+       merged_strings_lists_.
+       * merge.cc (Output_merge_string::do_add_input_section): Allocate new
+       Merged_strings_list per input object and section.  Don't store pointer
+       to the string.  Don't store length with each merged string entry.
+       (Output_merge_string::finalize_merged_data): Loop over list of merged
+       strings lists.  Recompute length of each merged string.
+
+2010-07-15  Cary Coutant  <ccoutant@google.com>
+
+       * plugin.cc (Plugin_finish::run): Don't call cleanup handlers from
+       here.
+
+2010-07-14  Ian Lance Taylor  <iant@google.com>
+
+       * descriptors.cc (Descriptors::open): Report correct name in error
+       message.
+
+2010-07-13  Doug Kwan  <dougkwan@google.com>
+
+       * arm.cc (Arm_input_section::Arm_input_section): For a
+       SHT_ARM_EXIDX section, always keeps the input sections.
+       (Arm_input_section::set_exidx_section_link): New method.
+       (Arm_exidx_input_section::Arm_exidx_input_section): Initialize
+       has_errors_ to false.
+       (Arm_exidx_input_section::has_errors,
+       Arm_exidx_input_section::set_has_errors): New methods.
+       (Arm_exidx_input_section::has_errors_): New data member.
+       (Arm_relobj::get_exidx_shndx_list): New method.
+       (Arm_output_section::append_text_sections_to_list): Do not skip
+       section without SHF_EXECINSTR.
+       (Arm_output_section::fix_exidx_coverage): Skip input sections with
+       errors.
+       (Arm_relobj::make_exidx_input_section): Add new parameter for text
+       section header.  Make error messages more verbose.  Check for
+       a non-executable section linked to an EXIDX section.
+       (Arm_relobj::do_read_symbols): Remove error checking, which has been
+       moved to Arm_relobj::make_exidx_input_section.  Add an assertion to
+       check that there is no deferred EXIDX section if we exit early.
+       Instead of not making an EXIDX section in case of an error, make one
+       and set the has_errors flag of it.
+       (Target_arm::do_finalize_sections): Fix up links of EXIDX sections
+       in a relocatable link.
+       (Target_arm::do_relax): Look for the EXIDX output section instead of
+       assuming that it is called .ARM.exidx.
+       (Target_arm::fix_exidx_coverage): Add a new parameter for input
+       section list.  Do not check for SHF_EXECINSTR section flags but
+       skip any input section with errors.
+       * output.cc (Output_section::Output_section): Initialize
+       always_keeps_input_sections_ to false.
+       (Output_section::add_input_section): Check for
+       always_keeps_input_sections_.
+       *  output.h (Output_section::always_keeps_input_sections,
+       Output_section::set_always_keeps_input_sections): New methods.
+       (Output_section::always_keeps_input_sections): New data member.
+
+2010-07-13  Rafael Espindola  <espindola@google.com>
+
+       * fileread.cc (try_extra_search_path, find_file): Move to Input_file.
+       * fileread.h (Input_file): Add try_extra_search_path and find_file.
+
 2010-07-13  Philip Herron  <herron.philip@googlemail.com>
            Ian Lance Taylor  <iant@google.com>