2010-06-29 Doug Kwan <dougkwan@google.com>

* arm-reloc-property.cc (Arm_reloc_property::Arm_reloc_property):
	Initialize USE_SYMBOL_.
	* arm-reloc-property.h (Arm_reloc_property::uses_symbol): New method
	definition.
	(Arm_reloc_property::uses_symbol_): New data member declaration.
	* arm.cc (Target_arm::Relocate::relocate): Exit early if relocation
	uses symbol value and symbol is undefined but not weakly undefined.
This commit is contained in:
Doug Kwan
2010-06-30 06:41:09 +00:00
parent 3863f96c20
commit b2286c10fe
4 changed files with 27 additions and 1 deletions

View File

@@ -8410,6 +8410,13 @@ Target_arm<big_endian>::Relocate::relocate(
// be converted into an NOP.
is_weakly_undefined_without_plt = true;
}
else if (gsym->is_undefined() && reloc_property->uses_symbol())
{
// This relocation uses the symbol value but the symbol is
// undefined. Exit early and have the caller reporting an
// error.
return true;
}
else
{
// Set thumb bit if symbol: