* object.cc (Sized_relobj::layout_section): New function.
[deliverable/binutils-gdb.git] / gold / ChangeLog
index 0d9d877665d7f754da08360f75efd0d526f0a07d..493681eba0c6e91b3be7a158e38fad36c77bef4f 100644 (file)
@@ -1,5 +1,81 @@
+2008-12-22  Cary Coutant  <ccoutant@google.com>
+
+       * object.cc (Sized_relobj::layout_section): New function.
+       (Sized_relobj::do_layout): Defer layout of input sections until after
+       plugin has provided replacement files.
+       (Sized_relobj::do_layout_deferred_sections): New function.
+       * object.h (Relobj::set_section_offset): Remove virtual keyword.
+       (Relobj::layout_deferred_sections): New function.
+       (Relobj::do_layout_deferred_sections): New function.
+       (Sized_relobj::do_layout_deferred_sections): New function.
+       (Sized_relobj::layout_section): New function.
+       (Sized_relobj::Deferred_layout): New structure.
+       (Sized_relobj::deferred_layout_): New field.
+       * plugin.cc (Plugin_manager::finish): Renamed, was cleanup.
+       Change all callers.  Layout deferred sections.
+       (class Plugin_finish): Renamed, was Plugin_cleanup.  Change all
+       references.
+       (Plugin_hook::run): Move code from do_plugin_hook inline.
+       (Plugin_hook::do_plugin_hook): Remove.
+       * plugin.h (Plugin_manager::Plugin_manager): Add missing initializers.
+       (Plugin_manager::finish): Renamed, was cleanup.
+       (Plugin_manager::should_defer_layout): New function.
+       (Plugin_manager::add_deferred_layout_object): New function.
+       (Plugin_manager::Deferred_layout_list): New type.
+       (Plugin_manager::deferred_layout_objects_): New field.
+       (Plugin_hook::do_plugin_hook): Remove.
+
+2008-12-17  Ian Lance Taylor  <iant@google.com>
+
+       * options.h (class General_options): Add --no case for
+       --export-dynamic.
+
+2008-12-16  Cary Coutant  <ccoutant@google.com>
+
+       * plugin.cc (Plugin::load): Move LDPT_MESSAGE to front of transfer
+       vector.
+       (Plugin_manager::claim_file): Create plugin object even if
+       plugin did not call the add_symbols callback.
+       (Plugin_obj::get_symbol_resolution_info): Guard against plugin
+       asking for more symbols than were added.
+       * testsuite/Makefile.am (plugin_test_1): Add test case with
+       no global symbols.
+       (empty.syms): New target.
+       * testsuite/Makefile.in: Regenerate.
+       * testsuite/plugin_test.c (claim_file_hook): Add new debug
+       message. Don't call add_symbols if no globals.
+       (all_symbols_read_hook): Don't provide replacement for empty
+       claimed file.
+
+2008-12-12  Ian Lance Taylor  <iant@google.com>
+
+       * target-reloc.h (Default_scan_relocatable_relocs): Only discard
+       r_type == 0 for a local symbol with r_sym == 0.
+       (scan_relocatable_relocs): Pass r_sym to
+       local_non_section_strategy.
+       * reloc.cc (Emit_relocs_strategy::local_non_section_strategy): Add
+       r_sym parameter.
+
+       * configure.ac: Update test for TLS descriptors: they are
+       supported as of glibc 2.9.
+       * configure: Rebuild.
+
+2008-12-11  Ian Lance Taylor  <iant@google.com>
+
+       PR 7091
+       * target-reloc.h (Default_scan_relocatable_relocs): For each
+       function, map r_type == 0 to RELOC_DISCARD.
+
+2008-12-10  Cary Coutant  <ccoutant@google.com>
+
+       * layout.cc (Layout::add_comdat): Allow COMDAT group from a replacement
+       object to override a kept COMDAT group from a plugin object.
+
 2008-12-09  Ian Lance Taylor  <iant@google.com>
 
+       PR 7088
+       * yyscript.y (file_cmd): Handle INPUT.
+
        * testsuite/initpri1.c: Change all declarations to be full
        prototypes by adding void, to avoid compiler warnings.
 
This page took 0.024294 seconds and 4 git commands to generate.