aboutsummaryrefslogtreecommitdiff
path: root/gold/plugin.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2009-02-13 19:04:45 +0000
committerCary Coutant <ccoutant@google.com>2009-02-13 19:04:45 +0000
commitf488e4b0e99b9f8871013aa719ea4ff477a4f330 (patch)
tree638692a3604b5b1c5fa5f4a4148a4876858a32a3 /gold/plugin.cc
parent7065b901d547c516370affe96e0162bb82926cc7 (diff)
downloadgdb-f488e4b0e99b9f8871013aa719ea4ff477a4f330.zip
gdb-f488e4b0e99b9f8871013aa719ea4ff477a4f330.tar.gz
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.cc47
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.