mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
PR gold/14726
* gold.cc (queue_middle_tasks): Call gc_mark_symbol on _init and _fini.
This commit is contained in:
parent
8de0566d7a
commit
e10f987022
@ -1,3 +1,8 @@
|
||||
2012-10-17 Alan Modra <amodra@gmail.com>
|
||||
|
||||
PR gold/14726
|
||||
* gold.cc (queue_middle_tasks): Call gc_mark_symbol on _init and _fini.
|
||||
|
||||
2012-10-16 Sriraman Tallam <tmsriram@google.com>
|
||||
|
||||
* layout.cc (Layout::include_section): Keep sections marked
|
||||
|
12
gold/gold.cc
12
gold/gold.cc
@ -502,9 +502,15 @@ queue_middle_tasks(const General_options& options,
|
||||
if (parameters->options().gc_sections())
|
||||
{
|
||||
// Find the start symbol if any.
|
||||
Symbol* start_sym = symtab->lookup(parameters->entry());
|
||||
if (start_sym != NULL)
|
||||
symtab->gc_mark_symbol(start_sym);
|
||||
Symbol* sym = symtab->lookup(parameters->entry());
|
||||
if (sym != NULL)
|
||||
symtab->gc_mark_symbol(sym);
|
||||
sym = symtab->lookup(parameters->options().init());
|
||||
if (sym != NULL && sym->is_defined() && !sym->is_from_dynobj())
|
||||
symtab->gc_mark_symbol(sym);
|
||||
sym = symtab->lookup(parameters->options().fini());
|
||||
if (sym != NULL && sym->is_defined() && !sym->is_from_dynobj())
|
||||
symtab->gc_mark_symbol(sym);
|
||||
// Symbols named with -u should not be considered garbage.
|
||||
symtab->gc_mark_undef_symbols(layout);
|
||||
gold_assert(symtab->gc() != NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user