From: Alan Modra Date: Wed, 18 Aug 2021 03:13:46 +0000 (+0930) Subject: [GOLD] PowerPC64 relocation overflow for -Os register save/restore funcs X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=89c905a342d2cb35ebc4d66ad7cdca581b5134c3;p=binutils-gdb.git [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. --- diff --git a/gold/powerpc.cc b/gold/powerpc.cc index 6b12ed8869b..11b98695e64 100644 --- a/gold/powerpc.cc +++ b/gold/powerpc.cc @@ -11201,6 +11201,8 @@ Target_powerpc::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 {