summaryrefslogtreecommitdiff
path: root/gold/symtab.h
diff options
context:
space:
mode:
authorSriraman Tallam <tmsriram@google.com>2011-07-22 22:38:42 +0000
committerSriraman Tallam <tmsriram@google.com>2011-07-22 22:38:42 +0000
commit804eb4807b7103135911ff0af4f7688d9458e4e0 (patch)
treeba7d562a55734c20a5cae3b32c141a6bdf251aeb /gold/symtab.h
parentd474311490a5cf44059606c48c667a2e0f73732e (diff)
downloadbinutils-gdb-804eb4807b7103135911ff0af4f7688d9458e4e0.tar.gz
2011-07-22 Sriraman Tallam <tmsriram@google.com>
* symtab.cc (Symbol_table::add_from_relobj): Mark symbol as referenced only after checking if it cannot be forced local. * symtab.h (is_externally_visible): Check if the symbol is not forced local.
Diffstat (limited to 'gold/symtab.h')
-rw-r--r--gold/symtab.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gold/symtab.h b/gold/symtab.h
index e2aa6a7f536..b9b9e00811e 100644
--- a/gold/symtab.h
+++ b/gold/symtab.h
@@ -538,8 +538,9 @@ class Symbol
bool
is_externally_visible() const
{
- return (this->visibility_ == elfcpp::STV_DEFAULT
- || this->visibility_ == elfcpp::STV_PROTECTED);
+ return ((this->visibility_ == elfcpp::STV_DEFAULT
+ || this->visibility_ == elfcpp::STV_PROTECTED)
+ && !this->is_forced_local_);
}
// Return true if this symbol can be preempted by a definition in