summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Modra <modra@gmail.com>2011-10-25 02:43:15 +0000
committerAlan Modra <modra@gmail.com>2011-10-25 02:43:15 +0000
commitac084d188eb2eb70085665b6bb189af7b3840844 (patch)
treea95fbcb77fbcff5c3289e515f58ad015d4704e1f
parentf4f02a260cd697c595ba8216364c4e9e6081663b (diff)
downloadcygnal-ac084d188eb2eb70085665b6bb189af7b3840844.tar.gz
cygnal-ac084d188eb2eb70085665b6bb189af7b3840844.tar.bz2
cygnal-ac084d188eb2eb70085665b6bb189af7b3840844.zip
include/
2011-09-26 Cary Coutant <ccoutant@google.com> 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/ 2011-09-26 Cary Coutant <ccoutant@google.com> 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.
-rw-r--r--include/ChangeLog9
-rw-r--r--include/plugin-api.h11
2 files changed, 18 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 1a4680ed2..d1349d620 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,12 @@
+2011-10-25 Alan Modra <amodra@gmail.com>
+
+ Apply mainline patches.
+ 2011-09-26 Cary Coutant <ccoutant@google.com>
+ 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.
+
2011-09-15 H.J. Lu <hongjiu.lu@intel.com>
PR ld/12975
diff --git a/include/plugin-api.h b/include/plugin-api.h
index df0039372..122424c6c 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. */