From 01f30ce6ea0a7b0e60fd2284fd17b078f1d53d3c Mon Sep 17 00:00:00 2001 From: Sriraman Tallam Date: Wed, 2 May 2018 00:53:48 +0000 Subject: [PATCH] Plugin API to get the list of wrap symbols. This was approved for the binutils gold linker. 2018-05-01 Sriraman Tallam * plugin-api.h: Add plugin API to get the list of wrap symbols. From-SVN: r259820 --- include/ChangeLog | 5 +++++ include/plugin-api.h | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/ChangeLog b/include/ChangeLog index 73d6b64398e..f29ce63cfc9 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,8 @@ +2018-05-01 Sriraman Tallam + + * plugin-api.h: Add plugin API to get the list of wrap + symbols. + 2018-02-09 Alexandre Oliva * dwarf2.def (DW_AT_GNU_entry_view): New. diff --git a/include/plugin-api.h b/include/plugin-api.h index 03e21f4a0c4..24cd695bf5c 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; }; -- 2.30.2