From 2da73f13b5a30647720a7744350ef84ce7e222d1 Mon Sep 17 00:00:00 2001 From: Cary Coutant Date: Wed, 19 Aug 2009 17:53:50 +0000 Subject: * resolve.cc (Symbol_table::resolve): Don't complain about defined symbols in shared libraries overridden by hidden or internal symbols in the main program. --- gold/resolve.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gold/resolve.cc') diff --git a/gold/resolve.cc b/gold/resolve.cc index 7299c55..45a4a7a 100644 --- a/gold/resolve.cc +++ b/gold/resolve.cc @@ -257,8 +257,9 @@ Symbol_table::resolve(Sized_symbol* to, // Record that we've seen this symbol in a regular object. to->set_in_reg(); } - else if (to->visibility() == elfcpp::STV_HIDDEN - || to->visibility() == elfcpp::STV_INTERNAL) + else if (st_shndx == elfcpp::SHN_UNDEF + && (to->visibility() == elfcpp::STV_HIDDEN + || to->visibility() == elfcpp::STV_INTERNAL)) { // A dynamic object cannot reference a hidden or internal symbol // defined in another object. -- cgit v1.1