aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRafael Avila de Espindola <espindola@google.com>2009-10-05 20:53:29 +0000
committerRafael Espindola <espindola@gcc.gnu.org>2009-10-05 20:53:29 +0000
commita12368e5a4198647b485e57f02d9e6b018c93e3a (patch)
treee81ff7b3eb1475f6ab6d383e09074054cc08c17e /include
parentda66774323ba38c87f876555a62a83867bd7e706 (diff)
downloadgcc-a12368e5a4198647b485e57f02d9e6b018c93e3a.zip
gcc-a12368e5a4198647b485e57f02d9e6b018c93e3a.tar.gz
gcc-a12368e5a4198647b485e57f02d9e6b018c93e3a.tar.bz2
plugin-api.h: Sync with src.
2009-10-05 Rafael Espindola <espindola@google.com> * plugin-api.h: Sync with src. From-SVN: r152472
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog4
-rw-r--r--include/plugin-api.h31
2 files changed, 33 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index ad9c43c..c40a1f36 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2009-10-05 Rafael Espindola <espindola@google.com>
+
+ * plugin-api.h: Sync with src.
+
2009-10-04 Jerry Quinn <jlquinn@optonline.net>
* plugin-api.h: Fix compile.
diff --git a/include/plugin-api.h b/include/plugin-api.h
index c3a1da2..530f3f4 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -40,6 +40,7 @@ enum ld_plugin_status
{
LDPS_OK = 0,
LDPS_NO_SYMS, /* Attempt to get symbols that haven't been added. */
+ LDPS_BAD_HANDLE, /* No claimed object associated with given handle. */
LDPS_ERR
/* Additional Error codes TBD. */
};
@@ -186,6 +187,20 @@ enum ld_plugin_status
(*ld_plugin_add_symbols) (void *handle, int nsyms,
const struct ld_plugin_symbol *syms);
+/* The linker's interface for getting the input file information with
+ an open (possibly re-opened) file descriptor. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_get_input_file) (const void *handle,
+ struct ld_plugin_input_file *file);
+
+/* The linker's interface for releasing the input file. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_release_input_file) (const void *handle);
+
/* The linker's interface for retrieving symbol resolution information. */
typedef
@@ -199,11 +214,17 @@ typedef
enum ld_plugin_status
(*ld_plugin_add_input_file) (char *pathname);
+/* The linker's interface for adding a library that should be searched. */
+
+typedef
+enum ld_plugin_status
+(*ld_plugin_add_input_library) (char *pathname);
+
/* The linker's interface for issuing a warning or error message. */
typedef
enum ld_plugin_status
-(*ld_plugin_message) (int level, char *format, ...);
+(*ld_plugin_message) (int level, const char *format, ...);
enum ld_plugin_level
{
@@ -228,7 +249,10 @@ enum ld_plugin_tag
LDPT_ADD_SYMBOLS,
LDPT_GET_SYMBOLS,
LDPT_ADD_INPUT_FILE,
- LDPT_MESSAGE
+ LDPT_MESSAGE,
+ LDPT_GET_INPUT_FILE,
+ LDPT_RELEASE_INPUT_FILE,
+ LDPT_ADD_INPUT_LIBRARY
};
/* The plugin transfer vector. */
@@ -247,6 +271,9 @@ struct ld_plugin_tv
ld_plugin_get_symbols tv_get_symbols;
ld_plugin_add_input_file tv_add_input_file;
ld_plugin_message tv_message;
+ 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;
} tv_u;
};