This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Don't treat as separate symbols if unversioned symbol is undefined.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=e3f07b5b750554bbbbee1bddc34bb77fd7d31eeb

commit e3f07b5b750554bbbbee1bddc34bb77fd7d31eeb
Author: Cary Coutant <ccoutant@gmail.com>
Date:   Tue Sep 27 12:08:19 2016 -0700

    Don't treat as separate symbols if unversioned symbol is undefined.
    
    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.
    
    gold/
    	PR gold/20238
    	* symtab.cc (Symbol_table::define_default_version): Check that
    	unversioned symbol is defined.

Diff:
---
 gold/ChangeLog | 6 ++++++
 gold/symtab.cc | 1 +
 2 files changed, 7 insertions(+)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index d791d29..1e01a4a 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,9 @@
+2016-09-26  Cary Coutant  <ccoutant@gmail.com>
+
+	PR gold/20238
+	* symtab.cc (Symbol_table::define_default_version): Check that
+	unversioned symbol is defined.
+
 2016-09-26  Vlad Zakharov  <vzakhar@synopsys.com>
 
 	* Makefile.in: Regenerate.
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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]