2017-06-07 Eric Christopher <echristo@gmail.com>

* aarch64.cc (maybe_apply_stub): Add debug logging for looking
	up stubs to undefined symbols and early return rather than
	fail to look them up.
	(scan_reloc_for_stub): Add debug logging for no stub creation
	for undefined symbols.
This commit is contained in:
Eric Christopher 2017-06-07 17:49:35 -07:00
parent 3030551ec5
commit 81b6fe3bf9
2 changed files with 24 additions and 2 deletions

View File

@ -1,3 +1,11 @@
2017-06-07 Eric Christopher <echristo@gmail.com>
* aarch64.cc (maybe_apply_stub): Add debug logging for looking
up stubs to undefined symbols and early return rather than
fail to look them up.
(scan_reloc_for_stub): Add debug logging for no stub creation
for undefined symbols.
2017-05-23 Alan Modra <amodra@gmail.com>
PR 21503

View File

@ -3746,8 +3746,13 @@ Target_aarch64<size, big_endian>::scan_reloc_for_stub(
psymval = &symval;
}
else if (gsym->is_undefined())
// There is no need to generate a stub symbol is undefined.
return;
{
// There is no need to generate a stub symbol is undefined.
gold_debug(DEBUG_TARGET,
"stub: not creating a stub for undefined symbol %s in file %s",
gsym->name(), aarch64_relobj->name().c_str());
return;
}
}
// Get the symbol value.
@ -5405,6 +5410,15 @@ maybe_apply_stub(unsigned int r_type,
const The_aarch64_relobj* aarch64_relobj =
static_cast<const The_aarch64_relobj*>(object);
// We don't create stubs for undefined symbols so don't look for one.
if (gsym && gsym->is_undefined())
{
gold_debug(DEBUG_TARGET,
"stub: looking for a stub for undefined symbol %s in file %s",
gsym->name(), aarch64_relobj->name().c_str());
return false;
}
The_stub_table* stub_table = aarch64_relobj->stub_table(relinfo->data_shndx);
gold_assert(stub_table != NULL);