diff options
author | Rafael Avila de Espindola <espindola@google.com> | 2009-10-05 20:53:29 +0000 |
---|---|---|
committer | Rafael Espindola <espindola@gcc.gnu.org> | 2009-10-05 20:53:29 +0000 |
commit | a12368e5a4198647b485e57f02d9e6b018c93e3a (patch) | |
tree | e81ff7b3eb1475f6ab6d383e09074054cc08c17e /include | |
parent | da66774323ba38c87f876555a62a83867bd7e706 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | include/plugin-api.h | 31 |
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; }; |