[gcc(refs/users/marxin/heads/marxin-gcc-benchmark-branch)] Update include/plugin-api.h.

Martin Liska marxin@gcc.gnu.org
Mon Mar 30 10:58:04 GMT 2020


https://gcc.gnu.org/g:f5389e17e4b8cfd4877082b46d31d1db3341a0aa

commit f5389e17e4b8cfd4877082b46d31d1db3341a0aa
Author: Martin Liska <mliska@suse.cz>
Date:   Thu Mar 19 16:55:59 2020 +0100

    Update include/plugin-api.h.
    
            * plugin-api.h (struct ld_plugin_symbol): Split
            int def into 4 char fields.
            (enum ld_plugin_symbol_type): New.
            (enum ld_plugin_symbol_section_kind): New.
            (enum ld_plugin_tag): Add LDPT_ADD_SYMBOLS_V2.

Diff:
---
 include/ChangeLog    |  8 ++++++++
 include/plugin-api.h | 32 ++++++++++++++++++++++++++++++--
 2 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/include/ChangeLog b/include/ChangeLog
index 3f9382d9ad4..8c79e73f043 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,11 @@
+2020-03-19  Martin Liska  <mliska@suse.cz>
+
+	* plugin-api.h (struct ld_plugin_symbol): Split
+	int def into 4 char fields.
+	(enum ld_plugin_symbol_type): New.
+	(enum ld_plugin_symbol_section_kind): New.
+	(enum ld_plugin_tag): Add LDPT_ADD_SYMBOLS_V2.
+
 2020-02-05  Andrew Burgess  <andrew.burgess@embecosm.com>
 
 	* hashtab.h (htab_remove_elt): Make a parameter const.
diff --git a/include/plugin-api.h b/include/plugin-api.h
index 09e1202df07..f0f9667bf3b 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -87,7 +87,19 @@ struct ld_plugin_symbol
 {
   char *name;
   char *version;
-  int def;
+  /* This is for compatibility with older ABIs.  The older ABI defined
+     only 'def' field.  */
+#ifdef __BIG_ENDIAN__
+  char unused;
+  char section_kind;
+  char symbol_type;
+  char def;
+#else
+  char def;
+  char symbol_type;
+  char section_kind;
+  char unused;
+#endif
   int visibility;
   uint64_t size;
   char *comdat_key;
@@ -123,6 +135,21 @@ enum ld_plugin_symbol_visibility
   LDPV_HIDDEN
 };
 
+/* The type of the symbol.  */
+
+enum ld_plugin_symbol_type
+{
+  LDST_UNKNOWN,
+  LDST_FUNCTION,
+  LDST_VARIABLE,
+};
+
+enum ld_plugin_symbol_section_kind
+{
+  LDSSK_DEFAULT,
+  LDSSK_BSS
+};
+
 /* How a symbol is resolved.  */
 
 enum ld_plugin_symbol_resolution
@@ -431,7 +458,8 @@ enum ld_plugin_tag
   LDPT_GET_INPUT_SECTION_ALIGNMENT = 29,
   LDPT_GET_INPUT_SECTION_SIZE = 30,
   LDPT_REGISTER_NEW_INPUT_HOOK = 31,
-  LDPT_GET_WRAP_SYMBOLS = 32
+  LDPT_GET_WRAP_SYMBOLS = 32,
+  LDPT_ADD_SYMBOLS_V2 = 33
 };
 
 /* The plugin transfer vector.  */


More information about the Gcc-cvs mailing list