summaryrefslogtreecommitdiff
path: root/gold/resolve.cc
diff options
context:
space:
mode:
authorYiran Wang <yiran@google.com>2015-07-20 08:47:57 -0700
committerCary Coutant <ccoutant@gmail.com>2015-07-20 09:19:02 -0700
commitc20ceeb226168ffd84078ef74d890c2b7f69a435 (patch)
tree2363a36537a40a2c1191397af3468c477251024d /gold/resolve.cc
parent3675a06a823132663f7c2376796c5345032fddad (diff)
Remove warning about references from shared objects to hidden symbols.
gold/ PR gold/15574 * resolve.cc (Symbol_table): Remove warning about references from shared objects to hidden symbols. * testsuite/Makefile.am (hidden_test): Add hidden_test.syms. * testsuite/Makefile.in: Regenerate. * testsuite/hidden_test.sh: Check dynamic symbol table; update expected error messages.
Diffstat (limited to 'gold/resolve.cc')
-rw-r--r--gold/resolve.cc13
1 files changed, 4 insertions, 9 deletions
diff --git a/gold/resolve.cc b/gold/resolve.cc
index fdae0bae4a..22d1e78826 100644
--- a/gold/resolve.cc
+++ b/gold/resolve.cc
@@ -286,15 +286,10 @@ Symbol_table::resolve(Sized_symbol<size>* to,
&& (to->visibility() == elfcpp::STV_HIDDEN
|| to->visibility() == elfcpp::STV_INTERNAL))
{
- // A dynamic object cannot reference a hidden or internal symbol
- // defined in another object.
- gold_warning(_("%s symbol '%s' in %s is referenced by DSO %s"),
- (to->visibility() == elfcpp::STV_HIDDEN
- ? "hidden"
- : "internal"),
- to->demangled_name().c_str(),
- to->object()->name().c_str(),
- object->name().c_str());
+ // The symbol is hidden, so a reference from a shared object
+ // cannot bind to it. We tried issuing a warning in this case,
+ // but that produces false positives when the symbol is
+ // actually resolved in a different shared object (PR 15574).
return;
}
else