aboutsummaryrefslogtreecommitdiff
path: root/gold/symtab.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r--gold/symtab.cc6
1 files changed, 4 insertions, 2 deletions
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());