diff options
author | Sriraman Tallam <tmsriram@google.com> | 2011-07-22 22:38:42 +0000 |
---|---|---|
committer | Sriraman Tallam <tmsriram@google.com> | 2011-07-22 22:38:42 +0000 |
commit | 804eb4807b7103135911ff0af4f7688d9458e4e0 (patch) | |
tree | ba7d562a55734c20a5cae3b32c141a6bdf251aeb /gold/symtab.cc | |
parent | d474311490a5cf44059606c48c667a2e0f73732e (diff) | |
download | binutils-804eb4807b7103135911ff0af4f7688d9458e4e0.zip binutils-804eb4807b7103135911ff0af4f7688d9458e4e0.tar.gz binutils-804eb4807b7103135911ff0af4f7688d9458e4e0.tar.bz2 |
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.cc')
-rw-r--r-- | gold/symtab.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index 26d8032..e289f79 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -1238,15 +1238,15 @@ Symbol_table::add_from_relobj( is_default_version, *psym, st_shndx, is_ordinary, orig_st_shndx); + if (is_forced_local) + this->force_local(res); + // If building a shared library using garbage collection, do not // treat externally visible symbols as garbage. if (parameters->options().gc_sections() && parameters->options().shared()) this->gc_mark_symbol_for_shlib(res); - if (is_forced_local) - this->force_local(res); - if (is_defined_in_discarded_section) res->set_is_defined_in_discarded_section(); |