X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fplugin-api.h;h=2076bdaae655e23c581bc170fe10630240fab476;hb=refs%2Fheads%2Fsandbox%2Fakazmin%2Fgnu_prop_segment;hp=f081f85dfaf9da05bb7db7a648f543dd7761eeec;hpb=c4e648430f3c5c135310f87280d45dba581aaa7b;p=external%2Fbinutils.git diff --git a/include/plugin-api.h b/include/plugin-api.h index f081f85..2076bda 100644 --- a/include/plugin-api.h +++ b/include/plugin-api.h @@ -1,6 +1,6 @@ /* plugin-api.h -- External linker plugin API. */ -/* Copyright (C) 2009-2017 Free Software Foundation, Inc. +/* Copyright (C) 2009-2019 Free Software Foundation, Inc. Written by Cary Coutant . This file is part of binutils. @@ -34,7 +34,7 @@ #include #if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) && \ !defined(UINT64_MAX) && !defined(uint64_t) -#error can not find uint64_t type +#error cannot find uint64_t type #endif #ifdef __cplusplus @@ -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; };