diff options
author | Teresa Johnson <tejohnson@google.com> | 2017-09-20 15:43:37 -0700 |
---|---|---|
committer | Sriraman Tallam <tmsriram@google.com> | 2017-09-20 15:45:04 -0700 |
commit | ca464aac1b0a444f7debb8fc1e5e8b3f30602a35 (patch) | |
tree | 65a29f37988cc32f48c563741031c8bd3e40b5e0 /gold/plugin.cc | |
parent | 223ffa714ce1cf1dc6e0c361189fa80417ff90d9 (diff) | |
download | gdb-ca464aac1b0a444f7debb8fc1e5e8b3f30602a35.zip gdb-ca464aac1b0a444f7debb8fc1e5e8b3f30602a35.tar.gz gdb-ca464aac1b0a444f7debb8fc1e5e8b3f30602a35.tar.bz2 |
Check for export dynamic symbol options when doing symbol resolution in plugins.
2017-09-20 Teresa Johnson <tejohnson@google.com>
* plugin.cc (is_visible_from_outside): Check for export dynamic symbol
option and list.
* testsuite/Makefile.am (plugin_test_12): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/export_dynamic_plugin.cc: New test source.
* testsuite/plugin_test_12.sh: New test script.
Diffstat (limited to 'gold/plugin.cc')
-rw-r--r-- | gold/plugin.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gold/plugin.cc b/gold/plugin.cc index c051805..5ea23b5 100644 --- a/gold/plugin.cc +++ b/gold/plugin.cc @@ -930,7 +930,9 @@ is_visible_from_outside(Symbol* lsym) { if (lsym->in_dyn()) return true; - if (parameters->options().export_dynamic() || parameters->options().shared()) + if (parameters->options().export_dynamic() || parameters->options().shared() + || parameters->options().in_dynamic_list(lsym->name()) + || parameters->options().is_export_dynamic_symbol(lsym->name())) return lsym->is_externally_visible(); return false; } |