aboutsummaryrefslogtreecommitdiff
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
commit235061c2f42cd86207e5a4e624f4d44ed49a0803 (patch)
treef40a09754cb8bde44dd54d57d02891593f397338 /include/plugin-api.h
parente91d10767a42a2267f52b69ddb5bca1fdc44f385 (diff)
downloadgdb-235061c2f42cd86207e5a4e624f4d44ed49a0803.zip
gdb-235061c2f42cd86207e5a4e624f4d44ed49a0803.tar.gz
gdb-235061c2f42cd86207e5a4e624f4d44ed49a0803.tar.bz2
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 df00393..122424c 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. */