diff options
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/symtab.h | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index a8cd1cb..9516072 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,6 +1,11 @@ 2009-12-29 Ian Lance Taylor <iant@google.com> PR 10450 + * symtab.h (Symbol::needs_dynsym_entry): A symbol in both a + regular and a dynamic object only needs a dynamic symbol table + entry if it is externally visible. + + PR 10450 * i386.cc (class Target_i386): Initialize global_offset_table_ in constructor. Add global_offset_table_ field. (Target_i386::got_section): Set global_offset_table_. diff --git a/gold/symtab.h b/gold/symtab.h index ed105c7..cac7bee 100644 --- a/gold/symtab.h +++ b/gold/symtab.h @@ -261,7 +261,9 @@ class Symbol needs_dynsym_entry() const { return (this->needs_dynsym_entry_ - || (this->in_reg() && this->in_dyn())); + || (this->in_reg() + && this->in_dyn() + && this->is_externally_visible())); } // Mark this symbol as needing an entry in the dynamic symbol table. |