summaryrefslogtreecommitdiff
path: root/include/plugin-api.h
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-09-26 23:00:17 +0000
committerCary Coutant <ccoutant@google.com>2011-09-26 23:00:17 +0000
commit63dd89fd4bfcdbbd875dfd80ff4bae89b6160e79 (patch)
tree7a2a38fc92bd1bff3101f077ba6974f45f7b6794 /include/plugin-api.h
parent5f141148949a9cae831bf11ea7586d82b13296f7 (diff)
downloadgdb-63dd89fd4bfcdbbd875dfd80ff4bae89b6160e79.tar.gz
include/ChangeLog
gcc PR lto/47247 * plugin-api.h (enum ld_plugin_symbol_resolution): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2. gold/ChangeLog gcc PR lto/47247 * plugin.cc (get_symbols_v2): New function. (Plugin::load): Add LDPT_GET_SYMBOLS_V2. (is_referenced_from_outside): New function. (Pluginobj::get_symbol_resolution_info): Add version parameter, return LDPR_PREVAILING_DEF_IRONLY_EXP when using new version. (get_symbols): Pass version parameter. (get_symbols_v2): New function. * plugin.h (Pluginobj::get_symbol_resolution_info): Add version parameter. * testsuite/plugin_test.c (get_symbols_v2): New static variable. (onload): Add LDPT_GET_SYMBOLS_V2. (all_symbols_read_hook): Use get_symbols_v2; check for LDPR_PREVAILING_DEF_IRONLY_EXP. * testsuite/plugin_test_3.sh: Update expected results.
Diffstat (limited to 'include/plugin-api.h')
-rw-r--r--include/plugin-api.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/include/plugin-api.h b/include/plugin-api.h
index df0039372f3..122424c6cb7 100644
--- a/include/plugin-api.h
+++ b/include/plugin-api.h
@@ -155,7 +155,13 @@ enum ld_plugin_symbol_resolution
LDPR_RESOLVED_EXEC,
/* This symbol was resolved by a definition in a shared object. */
- LDPR_RESOLVED_DYN
+ LDPR_RESOLVED_DYN,
+
+ /* This is the prevailing definition of the symbol, with no
+ references from regular objects. It is only referenced from IR
+ code, but the symbol is exported and may be referenced from
+ a dynamic object (not seen at link time). */
+ LDPR_PREVAILING_DEF_IRONLY_EXP
};
/* The plugin library's "claim file" handler. */
@@ -347,7 +353,8 @@ enum ld_plugin_tag
LDPT_GET_INPUT_SECTION_NAME,
LDPT_GET_INPUT_SECTION_CONTENTS,
LDPT_UPDATE_SECTION_ORDER,
- LDPT_ALLOW_SECTION_ORDERING
+ LDPT_ALLOW_SECTION_ORDERING,
+ LDPT_GET_SYMBOLS_V2
};
/* The plugin transfer vector. */