From e05fa0bad203f7236cfe374181e1bd72ccbcaa35 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 24 Nov 2014 12:41:33 +1030 Subject: PowerPC64 --plt-align Alignment of plt stubs was broken, firstly because the option was being dropped due to the alignment value not being set in the "params" struct used in elf64-ppc.c, and secondly due to not calculating the number of alignment boundary crossings correctly. bfd/ * elf64-ppc.c (plt_stub_pad): Correct. ld/ * ld.texinfo: Correct --plt-align documentation. * emultempl/ppc64elf.em (plt_stub_align): Delete. Use and set params.plt_stub_align instead. --- ld/ld.texinfo | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'ld/ld.texinfo') diff --git a/ld/ld.texinfo b/ld/ld.texinfo index bb386e4..502582c 100644 --- a/ld/ld.texinfo +++ b/ld/ld.texinfo @@ -7052,9 +7052,10 @@ off this feature. @item --plt-align @itemx --no-plt-align Use these options to control whether individual PLT call stubs are -aligned to a 32-byte boundary, or to the specified power of two -boundary when using @code{--plt-align=}. By default PLT call stubs -are packed tightly. +padded so that they don't cross a 32-byte boundary, or to the +specified power of two boundary when using @code{--plt-align=}. Note +that this isn't alignment in the usual sense. By default PLT call +stubs are packed tightly. @cindex PowerPC64 PLT call stub static chain @kindex --plt-static-chain -- cgit v1.1