Patchwork [gold] Add a plugin callback for setting the extra search path

login
register
mail settings
Submitter Rafael Espindola
Date June 21, 2010, 9:16 p.m.
Message ID <AANLkTikviDnHxxcbCbum3rAsp3WaA14MWHFVBjDizM9h@mail.gmail.com>
Download mbox | patch
Permalink /patch/56348/
State New
Headers show

Comments

Rafael Espindola - June 21, 2010, 9:16 p.m.
I committed the attached patch. It was reviewed by Cary in the binutils list.

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.

Cheers,

Patch

diff --git a/include/ChangeLog b/include/ChangeLog
index cf5a944..a9fb359 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@ 
+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.
+
 2010-06-21  Jakub Jelinek  <jakub@redhat.com>
 
 	* dwarf2.h (enum dwarf_type): Add DW_ATE_UTF.
diff --git a/include/plugin-api.h b/include/plugin-api.h
index 55cfe25..a0cf5f4 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -228,6 +228,12 @@  typedef
 enum ld_plugin_status
 (*ld_plugin_add_input_library) (const char *libname);
 
+/* The linker's interface for adding a library path that should be searched.  */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_set_extra_library_path) (const char *path);
+
 /* The linker's interface for issuing a warning or error message.  */
 
 typedef
@@ -261,7 +267,8 @@  enum ld_plugin_tag
   LDPT_GET_INPUT_FILE,
   LDPT_RELEASE_INPUT_FILE,
   LDPT_ADD_INPUT_LIBRARY,
-  LDPT_OUTPUT_NAME
+  LDPT_OUTPUT_NAME,
+  LDPT_SET_EXTRA_LIBRARY_PATH
 };
 
 /* The plugin transfer vector.  */
@@ -283,6 +290,7 @@  struct ld_plugin_tv
     ld_plugin_get_input_file tv_get_input_file;
     ld_plugin_release_input_file tv_release_input_file;
     ld_plugin_add_input_library tv_add_input_library;
+    ld_plugin_set_extra_library_path tv_set_extra_library_path;
   } tv_u;
 };