summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2012-05-22 23:50:52 +0000
committerCary Coutant <ccoutant@google.com>2012-05-22 23:50:52 +0000
commita26e88949684ee10cfbe1468761ba138b12cf9e5 (patch)
treed96fa18d985357936efa6889cfbc6437ec6f1b7a
parentf32e632a8f71c2426c798f783e75261d157a0dfd (diff)
downloadbinutils-redhat-a26e88949684ee10cfbe1468761ba138b12cf9e5.tar.gz
gold/
* symtab.cc (Symbol::should_add_dynsym_entry): Check for relocatable object before exporting symbol.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/symtab.cc5
2 files changed, 8 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 927d83f851..d9903ab987 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-22 Cary Coutant <ccoutant@google.com>
+
+ * symtab.cc (Symbol::should_add_dynsym_entry): Check for relocatable
+ object before exporting symbol.
+
2012-05-21 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/tls_test.cc: Include "config.h" first.
diff --git a/gold/symtab.cc b/gold/symtab.cc
index 1edb88da4d..ebce5ca1d7 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -365,8 +365,9 @@ Symbol::should_add_dynsym_entry(Symbol_table* symtab) const
// If the symbol was forced dynamic in a --dynamic-list file
// or an --export-dynamic-symbol option, add it.
- if (parameters->options().in_dynamic_list(this->name())
- || parameters->options().is_export_dynamic_symbol(this->name()))
+ if (!this->is_from_dynobj()
+ && (parameters->options().in_dynamic_list(this->name())
+ || parameters->options().is_export_dynamic_symbol(this->name())))
{
if (!this->is_forced_local())
return true;