aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/gold/symtab.cc b/gold/symtab.cc
index fd75aff..a7edbb1 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -865,6 +865,9 @@ Symbol_table::define_default_version(Sized_symbol<size>* sym,
// other is defined in a shared object, then they are different
// symbols.
+ // If the two symbols are from different shared objects,
+ // they are different symbols.
+
// Otherwise, we just resolve the symbols as though they were
// the same.
@@ -876,6 +879,10 @@ Symbol_table::define_default_version(Sized_symbol<size>* sym,
else if (pdef->second->visibility() != elfcpp::STV_DEFAULT
&& sym->is_from_dynobj())
;
+ else if (pdef->second->is_from_dynobj()
+ && sym->is_from_dynobj()
+ && pdef->second->object() != sym->object())
+ ;
else
{
const Sized_symbol<size>* symdef;