summaryrefslogtreecommitdiff
path: root/gold/plugin.h
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <respindola@mozilla.com>2010-06-21 21:21:25 +0000
committerRafael Ávila de Espíndola <respindola@mozilla.com>2010-06-21 21:21:25 +0000
commit42218b9f16a40780716d3ec5b817d3d44fbf4d2e (patch)
treedaa80a4703213d7613379142b6cafd7025ab0aa1 /gold/plugin.h
parent75079b2b314a0c1a9a70a5786098559595f56c7c (diff)
downloadbinutils-gdb-42218b9f16a40780716d3ec5b817d3d44fbf4d2e.tar.gz
2010-06-21 Rafael Espindola <espindola@google.com>
* fileread.cc (Input_file::find_fie): New (Input_file::open): Use Input_file::find_fie. * fileread.h (Input_file::find_fie): New * plugin.cc (set_extra_library_path): New. (Plugin::load): Add set_extra_library_path to the transfer vector. (Plugin_manager::set_extra_library_path): New. (Plugin_manager::add_input_file): Use the extra search path if set. (set_extra_library_path(): New. * plugin.h (Plugin_manager): Add set_extra_library_path and extra_search_path_. 2010-06-21 Rafael Espindola <espindola@google.com> * plugin-api.h (ld_plugin_set_extra_library_path): New. (ld_plugin_tag): Add LDPT_SET_EXTRA_LIBRARY_PATH. (ld_plugin_tv): Add tv_set_extra_library_path.
Diffstat (limited to 'gold/plugin.h')
-rw-r--r--gold/plugin.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/gold/plugin.h b/gold/plugin.h
index 99e6d957f40..81c3be6508b 100644
--- a/gold/plugin.h
+++ b/gold/plugin.h
@@ -127,7 +127,7 @@ class Plugin_manager
plugin_input_file_(), in_replacement_phase_(false),
options_(options), workqueue_(NULL), task_(NULL), input_objects_(NULL),
symtab_(NULL), layout_(NULL), dirpath_(NULL), mapfile_(NULL),
- this_blocker_(NULL)
+ this_blocker_(NULL), extra_search_path_()
{ this->current_ = plugins_.end(); }
~Plugin_manager();
@@ -232,6 +232,10 @@ class Plugin_manager
ld_plugin_status
add_input_file(const char *pathname, bool is_lib);
+ // Set the extra library path.
+ ld_plugin_status
+ set_extra_library_path(const char *path);
+
// Return TRUE if we are in the replacement phase.
bool
in_replacement_phase() const
@@ -275,6 +279,10 @@ class Plugin_manager
Dirsearch* dirpath_;
Mapfile* mapfile_;
Task_token* this_blocker_;
+
+ // An extra directory to seach for the libraries passed by
+ // add_input_library.
+ std::string extra_search_path_;
};