* gold/incremental.cc (Sized_incremental_binary::do_process_got_plt):
Check for NULL. * gold/symtab.cc (Symbol_table::add_from_relobj): Ignore version symbols during incremental update. (Symbol_table::add_from_dynobj): Likewise.
This commit is contained in:
parent
68fb0ec00b
commit
a7dac15368
@ -1,3 +1,11 @@
|
||||
2011-09-29 Cary Coutant <ccoutant@google.com>
|
||||
|
||||
* gold/incremental.cc (Sized_incremental_binary::do_process_got_plt):
|
||||
Check for NULL.
|
||||
* gold/symtab.cc (Symbol_table::add_from_relobj): Ignore version
|
||||
symbols during incremental update.
|
||||
(Symbol_table::add_from_dynobj): Likewise.
|
||||
|
||||
2011-09-27 Viktor Kutuzov <vkutuzov@accesssoftek.com>
|
||||
Ian Lance Taylor <iant@google.com>
|
||||
|
||||
|
@ -685,7 +685,7 @@ Sized_incremental_binary<size, big_endian>::do_process_got_plt(
|
||||
gold_assert(plt_desc >= first_global && plt_desc < symtab_count);
|
||||
Symbol* sym = this->global_symbol(plt_desc - first_global);
|
||||
// Add the PLT entry only if the symbol is still referenced.
|
||||
if (sym->in_reg())
|
||||
if (sym != NULL && sym->in_reg())
|
||||
{
|
||||
gold_debug(DEBUG_INCREMENTAL,
|
||||
"PLT entry %d: %s",
|
||||
|
@ -1143,6 +1143,14 @@ Symbol_table::add_from_relobj(
|
||||
bool is_default_version = false;
|
||||
bool is_forced_local = false;
|
||||
|
||||
// FIXME: For incremental links, we don't store version information,
|
||||
// so we need to ignore version symbols for now.
|
||||
if (parameters->incremental_update() && ver != NULL)
|
||||
{
|
||||
namelen = ver - name;
|
||||
ver = NULL;
|
||||
}
|
||||
|
||||
if (ver != NULL)
|
||||
{
|
||||
// The symbol name is of the form foo@VERSION or foo@@VERSION
|
||||
@ -1346,6 +1354,11 @@ Symbol_table::add_from_dynobj(
|
||||
return;
|
||||
}
|
||||
|
||||
// FIXME: For incremental links, we don't store version information,
|
||||
// so we need to ignore version symbols for now.
|
||||
if (parameters->incremental_update())
|
||||
versym = NULL;
|
||||
|
||||
if (versym != NULL && versym_size / 2 < count)
|
||||
{
|
||||
dynobj->error(_("too few symbol versions"));
|
||||
|
Loading…
Reference in New Issue
Block a user