Browse Source

[GOLD, PowerPC64] Debug info relocation overflow

It is possible to build huge binaries on powerpc64, where 32-bit
addresses in debug info are insufficient to descibe locations in the
binary.  Help out the user, and only warn about debug overflows.

	* powerpc.cc (Target_powerpc::Relocate::relocate): Warn on
	relocation overflows in debug info.
gdb-14-branch
Alan Modra 3 years ago
parent
commit
03c02b696e
  1. 17
      gold/powerpc.cc

17
gold/powerpc.cc

@ -12420,10 +12420,19 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
&& gsym->is_undefined()
&& is_branch_reloc<size>(r_type))))
{
gold_error_at_location(relinfo, relnum, rela.get_r_offset(),
_("relocation overflow"));
if (has_stub_value)
gold_info(_("try relinking with a smaller --stub-group-size"));
if (os->flags() & elfcpp::SHF_ALLOC)
{
gold_error_at_location(relinfo, relnum, rela.get_r_offset(),
_("relocation overflow"));
if (has_stub_value)
gold_info(_("try relinking with a smaller --stub-group-size"));
}
else
{
gold_warning_at_location(relinfo, relnum, rela.get_r_offset(),
_("relocation overflow"));
gold_info(_("debug info may be unreliable, compile with -gdwarf64"));
}
}
return true;

Loading…
Cancel
Save