[gold commit] PR 20238: Don't treat as separate symbols if unversioned symbol is undefined
Cary Coutant
ccoutant@gmail.com
Tue Sep 27 19:39:00 GMT 2016
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
More information about the Binutils
mailing list