* plugin-api.h (LDPS_BAD_HANDLE): New constant.
authorCary Coutant <ccoutant@google.com>
Thu, 15 Jan 2009 01:28:14 +0000 (01:28 +0000)
committerCary Coutant <ccoutant@google.com>
Thu, 15 Jan 2009 01:28:14 +0000 (01:28 +0000)
(ld_plugin_get_input_file): New typedef.
(ld_plugin_release_input_file): New typedef.
(LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE): New constants.
(struct ld_plugin_tv): Add two new fields.

include/ChangeLog
include/plugin-api.h

index d9fae8232f65c0ddeae8e2adb7e0ca1da9c6b64b..ccfc77665e1362f2d836b6db1bc1de70fd753bb7 100644 (file)
@@ -1,3 +1,11 @@
+2008-12-01  Cary Coutant  <ccoutant@google.com>
+
+       * plugin-api.h (LDPS_BAD_HANDLE): New constant.
+       (ld_plugin_get_input_file): New typedef.
+       (ld_plugin_release_input_file): New typedef.
+       (LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE): New constants.
+       (struct ld_plugin_tv): Add two new fields.
+
 2008-12-23  Jon Beniston <jon@beniston.com>
 
        * dis-asm.h: Add LM32 disassembler function prototype.
index a90fa23185d3d38a5188bb4c005ea9ed0f8044ff..f536d57d751f5bb98794b4d121f2da38539e574e 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.  */
 };
@@ -165,6 +166,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
@@ -207,7 +222,9 @@ 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
 };
 
 /* The plugin transfer vector.  */
@@ -226,6 +243,8 @@ 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;
   } tv_u;
 };