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.h | |
parent | 7065b901d547c516370affe96e0162bb82926cc7 (diff) | |
download | binutils-f488e4b0e99b9f8871013aa719ea4ff477a4f330.zip binutils-f488e4b0e99b9f8871013aa719ea4ff477a4f330.tar.gz binutils-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.h')
-rw-r--r-- | gold/plugin.h | 59 |
1 files changed, 1 insertions, 58 deletions
diff --git a/gold/plugin.h b/gold/plugin.h index a8d3dc4..672863d 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. |