diff options
author | Alan Modra <modra@gmail.com> | 2011-10-25 02:43:15 +0000 |
---|---|---|
committer | Alan Modra <modra@gmail.com> | 2011-10-25 02:43:15 +0000 |
commit | ac084d188eb2eb70085665b6bb189af7b3840844 (patch) | |
tree | a95fbcb77fbcff5c3289e515f58ad015d4704e1f | |
parent | f4f02a260cd697c595ba8216364c4e9e6081663b (diff) | |
download | cygnal-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/ChangeLog | 9 | ||||
-rw-r--r-- | include/plugin-api.h | 11 |
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. */ |