diff options
author | Martin Liska <mliska@suse.cz> | 2020-03-19 16:55:59 +0100 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-03-19 09:16:04 -0700 |
commit | 3734bec8336f6f33927ab99460cb681035c2ca4f (patch) | |
tree | ba7cb1796f4a4222a6ca1cd47f47c0222a4deb02 | |
parent | 2d07da271eee9a83a1f5c975204d7d6dfd66fe1f (diff) | |
download | gdb-3734bec8336f6f33927ab99460cb681035c2ca4f.zip gdb-3734bec8336f6f33927ab99460cb681035c2ca4f.tar.gz gdb-3734bec8336f6f33927ab99460cb681035c2ca4f.tar.bz2 |
Include: Sync lto-symtab.h and plugin-api.h with GCC
2020-03-19 Martin Liska <mliska@suse.cz>
* lto-symtab.h (enum gcc_plugin_symbol_type): New.
(enum gcc_plugin_symbol_section_kind): Likewise.
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.
-rw-r--r-- | include/ChangeLog | 13 | ||||
-rw-r--r-- | include/lto-symtab.h | 13 | ||||
-rw-r--r-- | include/plugin-api.h | 32 |
3 files changed, 56 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog index c19d4d4..16521ea 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,16 @@ +2020-03-19 Martin Liska <mliska@suse.cz> + + * lto-symtab.h (enum gcc_plugin_symbol_type): New. + (enum gcc_plugin_symbol_section_kind): Likewise. + +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-03-13 Kamil Rytarowski <n54@gmx.com> * elf/common.h (NT_NETBSDCORE_LWPSTATUS): New define. diff --git a/include/lto-symtab.h b/include/lto-symtab.h index 0ce0de1..ef2e35f 100644 --- a/include/lto-symtab.h +++ b/include/lto-symtab.h @@ -38,4 +38,17 @@ enum gcc_plugin_symbol_visibility GCCPV_HIDDEN }; +enum gcc_plugin_symbol_type +{ + GCCST_UNKNOWN, + GCCST_FUNCTION, + GCCST_VARIABLE, +}; + +enum gcc_plugin_symbol_section_kind +{ + GCCSSK_DEFAULT, + GCCSSK_BSS +}; + #endif /* GCC_LTO_SYMTAB_H */ diff --git a/include/plugin-api.h b/include/plugin-api.h index 09e1202..f0f9667 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. */ |