Update include/plugin-api.h.
authorMartin Liska <mliska@suse.cz>
Thu, 19 Mar 2020 15:55:59 +0000 (16:55 +0100)
committerMartin Liska <mliska@suse.cz>
Thu, 19 Mar 2020 15:55:59 +0000 (16:55 +0100)
* 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.

include/ChangeLog
include/plugin-api.h

index 3f9382d9ad4c402ac32fdbaa9f85788323bd31cc..8c79e73f043e9822f4ba41a382a16f2c27e6c258 100644 (file)
@@ -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.
index 09e1202df07a032ded8cbf136d0ff2f60b52897e..f0f9667bf3b9f3db30f6d1457f77ce1cf40991e2 100644 (file)
@@ -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.  */