summaryrefslogtreecommitdiff
path: root/gold/plugin.h
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
commit10bb8caea64ee324b273944f9d4372ae6c61b8b2 (patch)
tree08b7395dab5641da1cee11f239041ac41c122f85 /gold/plugin.h
parent3db0d46b43c64427dde3c252f20a0a706a25ad76 (diff)
downloadbinutils-redhat-10bb8caea64ee324b273944f9d4372ae6c61b8b2.tar.gz
(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.h')
-rw-r--r--gold/plugin.h59
1 files changed, 1 insertions, 58 deletions
diff --git a/gold/plugin.h b/gold/plugin.h
index a8d3dc4db1..672863d514 100644
--- a/gold/plugin.h
+++ b/gold/plugin.h
@@ -294,11 +294,6 @@ class Pluginobj : public Object
ld_plugin_status
get_symbol_resolution_info(int nsyms, ld_plugin_symbol* syms) const;
- // Add symbol information to the global symbol table.
- void
- add_symbols(Symbol_table* symtab, Layout* layout)
- { this->do_add_symbols(symtab, layout); }
-
// Store the incoming symbols from the plugin for later processing.
void
store_incoming_symbols(int nsyms, const struct ld_plugin_symbol* syms)
@@ -333,11 +328,6 @@ class Pluginobj : public Object
do_pluginobj()
{ return this; }
- // Add symbol information to the global symbol table--implemented by
- // child class.
- virtual void
- do_add_symbols(Symbol_table*, Layout*) = 0;
-
// The number of symbols provided by the plugin.
int nsyms_;
@@ -375,10 +365,7 @@ class Sized_pluginobj : public Pluginobj
// Add the symbols to the symbol table.
void
- do_add_symbols(Symbol_table*, Read_symbols_data*);
-
- void
- do_add_symbols(Symbol_table*, Layout*);
+ do_add_symbols(Symbol_table*, Read_symbols_data*, Layout*);
// Get the size of a section.
uint64_t
@@ -433,50 +420,6 @@ class Sized_pluginobj : public Pluginobj
private:
};
-// This Task handles adding the symbols to the symbol table. These
-// tasks must be run in the same order as the arguments appear on the
-// command line.
-
-class Add_plugin_symbols : public Task
-{
- public:
- // THIS_BLOCKER is used to prevent this task from running before the
- // one for the previous input file. NEXT_BLOCKER is used to prevent
- // the next task from running.
- Add_plugin_symbols(Symbol_table* symtab,
- Layout* layout,
- Pluginobj* obj,
- Task_token* this_blocker,
- Task_token* next_blocker)
- : symtab_(symtab), layout_(layout), obj_(obj),
- this_blocker_(this_blocker), next_blocker_(next_blocker)
- { }
-
- ~Add_plugin_symbols();
-
- // The standard Task methods.
-
- Task_token*
- is_runnable();
-
- void
- locks(Task_locker*);
-
- void
- run(Workqueue*);
-
- std::string
- get_name() const
- { return "Add_plugin_symbols " + this->obj_->name(); }
-
-private:
- Symbol_table* symtab_;
- Layout* layout_;
- Pluginobj* obj_;
- Task_token* this_blocker_;
- Task_token* next_blocker_;
-};
-
// This Task handles handles the "all symbols read" event hook.
// The plugin may add additional input files at this time, which must
// be queued for reading.