diff options
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r-- | gold/symtab.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc index c26cc22..78bfec5 100644 --- a/gold/symtab.cc +++ b/gold/symtab.cc @@ -749,8 +749,11 @@ Symbol_table::add_from_dynobj( { elfcpp::Sym<size, big_endian> sym(p); - // Ignore symbols with local binding. - if (sym.get_st_bind() == elfcpp::STB_LOCAL) + // Ignore symbols with local binding or that have + // internal or hidden visibility. + if (sym.get_st_bind() == elfcpp::STB_LOCAL + || sym.get_st_visibility() == elfcpp::STV_INTERNAL + || sym.get_st_visibility() == elfcpp::STV_HIDDEN) continue; unsigned int st_name = sym.get_st_name(); |