aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2012-08-21 21:41:04 +0000
committerCary Coutant <ccoutant@google.com>2012-08-21 21:41:04 +0000
commit1d5dfe78f9e94c652e61cf3eb04d8baa9c198042 (patch)
tree495704faa0658355b72ef0222a342398bf9d482a
parent45b7da814b149c1c35d5e9278a48120d75265e0b (diff)
downloadgdb-1d5dfe78f9e94c652e61cf3eb04d8baa9c198042.zip
gdb-1d5dfe78f9e94c652e61cf3eb04d8baa9c198042.tar.gz
gdb-1d5dfe78f9e94c652e61cf3eb04d8baa9c198042.tar.bz2
2012-08-21 Cary Coutant <ccoutant@google.com>
gold/ * symtab.cc (Symbol_table::gc_mark_undef_symbols): Don't assert if --export-dynamic-symbol names an undef symbol.
-rw-r--r--gold/ChangeLog5
-rw-r--r--gold/symtab.cc6
2 files changed, 9 insertions, 2 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 86a6889..e79f4e4 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-21 Cary Coutant <ccoutant@google.com>
+
+ * symtab.cc (Symbol_table::gc_mark_undef_symbols): Don't assert
+ if --export-dynamic-symbol names an undef symbol.
+
2012-08-18 Alan Modra <amodra@gmail.com>
* powerpc.cc: Formatting and white space.
diff --git a/gold/symtab.cc b/gold/symtab.cc
index fd81e8bd..e97f642 100644
--- a/gold/symtab.cc
+++ b/gold/symtab.cc
@@ -595,8 +595,10 @@ Symbol_table::gc_mark_undef_symbols(Layout* layout)
{
const char* name = p->c_str();
Symbol* sym = this->lookup(name);
- gold_assert(sym != NULL);
- if (sym->source() == Symbol::FROM_OBJECT
+ // It's not an error if a symbol named by --export-dynamic-symbol
+ // is undefined.
+ if (sym != NULL
+ && sym->source() == Symbol::FROM_OBJECT
&& !sym->object()->is_dynamic())
{
Relobj* obj = static_cast<Relobj*>(sym->object());