OSDN Git Service

2009-10-05 Rafael Espindola <espindola@google.com>
authorespindola <espindola@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Oct 2009 20:53:29 +0000 (20:53 +0000)
committerespindola <espindola@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 5 Oct 2009 20:53:29 +0000 (20:53 +0000)
* plugin-api.h: Sync with src.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152472 138bc75d-0d04-0410-961f-82ee72b054a4

include/ChangeLog
include/plugin-api.h

index ad9c43c..c40a1f3 100644 (file)
@@ -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.
index c3a1da2..530f3f4 100644 (file)
@@ -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;
 };