This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [gold][patch] Layout allocated sections from LTO plugin honoring original link order
- From: Ian Lance Taylor <iant at google dot com>
- To: Cary Coutant <ccoutant at google dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Mon, 22 Dec 2008 17:26:34 -0800
- Subject: Re: [gold][patch] Layout allocated sections from LTO plugin honoring original link order
- References: <c17be2b30812221410g5799e8a8v2095032f0d28b8f8@mail.gmail.com>
Cary Coutant <ccoutant@google.com> writes:
> * 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.
This is OK.
Thanks.
Ian