diff options
author | Sriraman Tallam <tmsriram@google.com> | 2018-02-22 13:56:46 -0800 |
---|---|---|
committer | Sriraman Tallam <tmsriram@google.com> | 2018-02-22 13:56:46 -0800 |
commit | 0b65c07b97c43e8891c2e14061270878a85222c8 (patch) | |
tree | a9c9e130a0045291605c400a0d086d99b1c515b0 /include/plugin-api.h | |
parent | 0bccfb2994d307601ceba5c3a6223b7ca7cf5338 (diff) | |
download | gdb-0b65c07b97c43e8891c2e14061270878a85222c8.zip gdb-0b65c07b97c43e8891c2e14061270878a85222c8.tar.gz gdb-0b65c07b97c43e8891c2e14061270878a85222c8.tar.bz2 |
New plugin interface to get list of symbols wrapped with --wrap option.
2018-02-22 Sriraman Tallam <tmsriram@google.com>
* plugin.cc (get_wrap_symbols): New plugin interface.
(load): Add get_wrap_symbols to transfer vector.
* plugin-api.h (ld_plugin_get_wrap_symbols): New plugin interface.
* testsuite/plugin_test.c (onload): Call and check get_wrap_symbols
interface.
* testsuite/plugin_test_wrap_symbols.sh: New test script.
* testsuite/plugin_test_wrap_symbols_1.cc: New file.
* testsuite/plugin_test_wrap_symbols_2.cc: New file.
* testsuite/Makefile.am (plugin_test_wrap_symbols): New test.
* testsuite/Makefile.in: Regenerate.
Diffstat (limited to 'include/plugin-api.h')
-rw-r--r-- | include/plugin-api.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/plugin-api.h b/include/plugin-api.h index 03e21f4..24cd695 100644 --- a/include/plugin-api.h +++ b/include/plugin-api.h @@ -378,6 +378,14 @@ typedef enum ld_plugin_status (*ld_plugin_register_new_input) (ld_plugin_new_input_handler handler); +/* The linker's interface for getting the list of wrapped symbols using the + --wrap option. This sets *NUM_SYMBOLS to number of wrapped symbols and + *WRAP_SYMBOL_LIST to the list of wrapped symbols. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_wrap_symbols) (uint64_t *num_symbols, + const char ***wrap_symbol_list); enum ld_plugin_level { @@ -422,7 +430,8 @@ enum ld_plugin_tag LDPT_GET_SYMBOLS_V3 = 28, LDPT_GET_INPUT_SECTION_ALIGNMENT = 29, LDPT_GET_INPUT_SECTION_SIZE = 30, - LDPT_REGISTER_NEW_INPUT_HOOK = 31 + LDPT_REGISTER_NEW_INPUT_HOOK = 31, + LDPT_GET_WRAP_SYMBOLS = 32 }; /* The plugin transfer vector. */ @@ -457,6 +466,7 @@ struct ld_plugin_tv ld_plugin_get_input_section_alignment tv_get_input_section_alignment; ld_plugin_get_input_section_size tv_get_input_section_size; ld_plugin_register_new_input tv_register_new_input; + ld_plugin_get_wrap_symbols tv_get_wrap_symbols; } tv_u; }; |