aboutsummaryrefslogtreecommitdiff
path: root/gold/plugin.h
diff options
context:
space:
mode:
Diffstat (limited to 'gold/plugin.h')
-rw-r--r--gold/plugin.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/gold/plugin.h b/gold/plugin.h
index e64ee07..c12bdc0 100644
--- a/gold/plugin.h
+++ b/gold/plugin.h
@@ -47,6 +47,7 @@ class Task;
class Task_token;
class Pluginobj;
class Plugin_rescan;
+class Plugin_recorder;
// This class represents a single plugin library.
@@ -114,6 +115,10 @@ class Plugin
this->args_.push_back(arg);
}
+ const std::string&
+ filename() const
+ { return this->filename_; }
+
private:
Plugin(const Plugin&);
Plugin& operator=(const Plugin&);
@@ -146,7 +151,8 @@ class Plugin_manager
options_(options), workqueue_(NULL), task_(NULL), input_objects_(NULL),
symtab_(NULL), layout_(NULL), dirpath_(NULL), mapfile_(NULL),
this_blocker_(NULL), extra_search_path_(), lock_(NULL),
- initialize_lock_(&lock_), defsym_defines_set_()
+ initialize_lock_(&lock_), defsym_defines_set_(),
+ recorder_(NULL)
{ this->current_ = plugins_.end(); }
~Plugin_manager();
@@ -316,6 +322,10 @@ class Plugin_manager
layout()
{ return this->layout_; }
+ Plugin_recorder*
+ recorder() const
+ { return this->recorder_; }
+
private:
Plugin_manager(const Plugin_manager&);
Plugin_manager& operator=(const Plugin_manager&);
@@ -413,6 +423,9 @@ class Plugin_manager
// Keep track of all symbols defined by defsym.
typedef Unordered_set<std::string> Defsym_defines_set;
Defsym_defines_set defsym_defines_set_;
+
+ // Class to record plugin actions.
+ Plugin_recorder* recorder_;
};