diff options
author | Cary Coutant <ccoutant@google.com> | 2012-08-21 21:41:04 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2012-08-21 21:41:04 +0000 |
commit | 1d5dfe78f9e94c652e61cf3eb04d8baa9c198042 (patch) | |
tree | 495704faa0658355b72ef0222a342398bf9d482a /gold | |
parent | 45b7da814b149c1c35d5e9278a48120d75265e0b (diff) | |
download | gdb-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.
Diffstat (limited to 'gold')
-rw-r--r-- | gold/ChangeLog | 5 | ||||
-rw-r--r-- | gold/symtab.cc | 6 |
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()); |