diff options
author | Cary Coutant <ccoutant@google.com> | 2009-02-13 19:04:45 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2009-02-13 19:04:45 +0000 |
commit | f488e4b0e99b9f8871013aa719ea4ff477a4f330 (patch) | |
tree | 638692a3604b5b1c5fa5f4a4148a4876858a32a3 /gold/plugin.cc | |
parent | 7065b901d547c516370affe96e0162bb82926cc7 (diff) | |
download | fsf-binutils-gdb-f488e4b0e99b9f8871013aa719ea4ff477a4f330.zip fsf-binutils-gdb-f488e4b0e99b9f8871013aa719ea4ff477a4f330.tar.gz fsf-binutils-gdb-f488e4b0e99b9f8871013aa719ea4ff477a4f330.tar.bz2 |
(From Rafael Espindola)
* archive.cc (Archive::include_member): Update calls to add_symbols.
* dynobj.cc (Sized_dynobj<size, big_endian>::make_version_map): Add
the Layout argument.
* dynobj.h (do_add_symbols): Add the Layout argument.
* object.cc (Sized_relobj<size, big_endian>::do_add_symbols): Add the
Layout argument.
* object.h (Object::add_symbols): Add the Layout argument.
(Object::do_add_symbols): Add the Layout argument.
(Sized_relobj::do_add_symbols): Add the Layout argument.
* plugin.cc (Sized_pluginobj<size, big_endian>::do_add_symbols):
Unify the two versions.
(Add_plugin_symbols): Remove.
* plugin.h (Pluginobj::add_symbols, Pluginobj::do_add_symbols): Remove.
(Sized_pluginobj::do_add_symbols): Unify the two versions.
(Add_plugin_symbols): Remove.
* readsyms.cc (Read_symbols::do_read_symbols): Update call to
Add_symbols. Use Add_symbols instead of Add_plugin_symbols.
(Add_symbols::run): Make it work with Pulginobj.
Diffstat (limited to 'gold/plugin.cc')
-rw-r--r-- | gold/plugin.cc | 47 |
1 files changed, 1 insertions, 46 deletions
diff --git a/gold/plugin.cc b/gold/plugin.cc index aeddcc1..e58751e 100644 --- a/gold/plugin.cc +++ b/gold/plugin.cc @@ -546,15 +546,8 @@ Sized_pluginobj<size, big_endian>::do_layout(Symbol_table*, Layout*, template<int size, bool big_endian> void -Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table*, - Read_symbols_data*) -{ - gold_unreachable(); -} - -template<int size, bool big_endian> -void Sized_pluginobj<size, big_endian>::do_add_symbols(Symbol_table* symtab, + Read_symbols_data*, Layout* layout) { const int sym_size = elfcpp::Elf_sizes<size>::sym_size; @@ -756,44 +749,6 @@ Sized_pluginobj<size, big_endian>::do_get_global_symbol_counts(const Symbol_tabl gold_unreachable(); } -// Class Add_plugin_symbols. - -Add_plugin_symbols::~Add_plugin_symbols() -{ - if (this->this_blocker_ != NULL) - delete this->this_blocker_; - // next_blocker_ is deleted by the task associated with the next - // input file. -} - -// We are blocked by this_blocker_. We block next_blocker_. We also -// lock the file. - -Task_token* -Add_plugin_symbols::is_runnable() -{ - if (this->this_blocker_ != NULL && this->this_blocker_->is_blocked()) - return this->this_blocker_; - if (this->obj_->is_locked()) - return this->obj_->token(); - return NULL; -} - -void -Add_plugin_symbols::locks(Task_locker* tl) -{ - tl->add(this, this->next_blocker_); - tl->add(this, this->obj_->token()); -} - -// Add the symbols in the object to the symbol table. - -void -Add_plugin_symbols::run(Workqueue*) -{ - this->obj_->add_symbols(this->symtab_, this->layout_); -} - // Class Plugin_finish. This task runs after all replacement files have // been added. It calls each plugin's cleanup handler. |