diff options
Diffstat (limited to 'gold/symtab.cc')
-rw-r--r-- | gold/symtab.cc | 6 |
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()); |