* object.cc (Sized_relobj::layout_section): New function.
authorCary Coutant <ccoutant@google.com>
Tue, 23 Dec 2008 02:02:20 +0000 (02:02 +0000)
committerCary Coutant <ccoutant@google.com>
Tue, 23 Dec 2008 02:02:20 +0000 (02:02 +0000)
commit5995b57073ad5990e2f63c7f65c0a6c27cad55a9
tree9748f0e3d8e6651b0446acc2556b3083887d7606
parentbce3bbcb768f893debb22320380b25e34547c8c6
* 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.
gold/ChangeLog
gold/object.cc
gold/object.h
gold/plugin.cc
gold/plugin.h