This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: PATCH: 2 stage BFD linker for LTO plugin
- From: Ian Lance Taylor <iant at google dot com>
- To: binutils at sourceware dot org
- Cc: GCC Development <gcc at gcc dot gnu dot org>, Binutils <binutils at sourceware dot org>
- Date: Mon, 24 Jan 2011 13:55:22 -0800
- Subject: Re: PATCH: 2 stage BFD linker for LTO plugin
- References: <AANLkTikv7BJPnkcgvh-JgnqJ2sKpB07GQm5U-Rzkcp9e@mail.gmail.com> <AANLkTi=GW_Qt1NSf5OymHsKxcy4UY3d0Xv9V4xOG5JF4@mail.gmail.com> <AANLkTikm27JbKTgwGG_+Ev8ZDesiy4sxGeJ0f96n+1pN@mail.gmail.com> <AANLkTin+Ag09_9DbWdJ71WOg+bqcBGepcThkXAwHX0dN@mail.gmail.com> <AANLkTimNK6MyDq=1Z5CsUz4HxgeMKq4oG7nUM7W09UCb@mail.gmail.com> <AANLkTintqbVr0VjBfU+2k_iYM-E9ss8AEAnV8wyrGhJN@mail.gmail.com> <4CFD1C22.3090900@gmail.com> <AANLkTi=uSGqX8bi0ZLKoqnrqKEXNUof6LXemfX6Uf6uw@mail.gmail.com> <4CFD2933.6040800@gmail.com> <AANLkTinjJzQL4zmtJqaX=BUPX8vPz-aXfVvhkH5WYgYk@mail.gmail.com> <20101206232928.GA15607@bubble.grove.modra.org> <mcr39q14c0i.fsf@google.com> <mcrr5c9buv5.fsf@google.com>
Ian Lance Taylor <iant@google.com> writes:
> 2011-01-18 Ian Lance Taylor <iant@google.com>
>
> * plugin.cc (class Plugin_rescan): Define new class.
> (Plugin_manager::claim_file): Set any_claimed_.
> (Plugin_manager::save_archive): New function.
> (Plugin_manager::save_input_group): New function.
> (Plugin_manager::all_symbols_read): Create Plugin_rescan task if
> necessary.
> (Plugin_manager::new_undefined_symbol): New function.
> (Plugin_manager::rescan): New function.
> (Plugin_manager::rescannable_defines): New function.
> (Plugin_manager::add_input_file): Set any_added_.
> * plugin.h (class Plugin_manager): define new fields rescannable_,
> undefined_symbols_, any_claimed_, and any_added_. Declare
> Plugin_rescan as friend. Declare new functions.
> (Plugin_manager::Rescannable): Define type.
> (Plugin_manager::Rescannable_list): Define type.
> (Plugin_manager::Undefined_symbol_list): Define type.
> (Plugin_manager::Plugin_manager): Initialize new fields.
> * archive.cc (Archive::defines_symbol): New function.
> (Add_archive_symbols::run): Pass archive to plugins if any.
> * archive.h (class Archive): Declare defines_symbol.
> * readsyms.cc (Input_group::~Input_group): New function.
> (Finish_group::run): Pass input_group to plugins if any.
> * readsyms.h (class Input_group): Declare destructor.
> * symtab.cc (add_from_object): Pass undefined symbol to plugins if
> any.
I have committed this gold patch to binutils mainline and binutils 2.21
branch.
Ian