OSDN Git Service

PR 10450
authorian <ian>
Wed, 30 Dec 2009 07:40:01 +0000 (07:40 +0000)
committerian <ian>
Wed, 30 Dec 2009 07:40:01 +0000 (07:40 +0000)
* 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.

gold/ChangeLog
gold/symtab.h

index a8cd1cb..9516072 100644 (file)
@@ -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_.
index ed105c7..cac7bee 100644 (file)
@@ -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.