This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[gold commit] PR 20238: Don't treat as separate symbols if unversioned symbol is undefined
- From: Cary Coutant <ccoutant at gmail dot com>
- To: Binutils <binutils at sourceware dot org>
- Date: Tue, 27 Sep 2016 12:39:22 -0700
- Subject: [gold commit] PR 20238: Don't treat as separate symbols if unversioned symbol is undefined
- Authentication-results: sourceware.org; auth=none
When we see an unversioned symbol reference in a shared library,
followed by a default definition of the symbol in another shared
library, we were treating them as separate symbols. That should only
happen when both are definitions.
Committed to trunk and backported to 2.27 branch.
-cary
2016-09-26 Cary Coutant <ccoutant@gmail.com>
gold/
PR gold/20238
* symtab.cc (Symbol_table::define_default_version): Check that
unversioned symbol is defined.
diff --git a/gold/symtab.cc b/gold/symtab.cc
index b31794a..c872f47 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -882,6 +882,7 @@
Symbol_table::define_default_version(Sized_symbol<size>* sym,
;
else if (pdef->second->is_from_dynobj()
&& sym->is_from_dynobj()
+ && pdef->second->is_defined()
&& pdef->second->object() != sym->object())
;
else