[GOLD] PowerPC64 relocation overflow for -Os register save/restore funcs

Fixes a silly mistake in calculating the address of -Os out-of-line
register save/restore function copies.  Copies of these linker defined
functions are added to stub sections when the original (in
target->savres_section) can't be reached.

	* powerpc.cc (Target_powerpc::Relocate::relocate): Correct address
	calculation of out-of-line save/restore function copies.
This commit is contained in:
Alan Modra 2021-08-18 12:43:46 +09:30
parent a3e8dd2ad3
commit 89c905a342

View File

@ -11201,6 +11201,8 @@ Target_powerpc<size, big_endian>::Relocate::relocate(
{
if (ent->save_res_)
value = (value - target->savres_section()->address()
+ stub_table->stub_address()
+ stub_table->plt_size()
+ stub_table->branch_size());
else
{