88c1089d96
From Alan Modra: Wed, 3 Jul 2013 11:51:56 +0930: powerpc64 call stubs: This brings powerpc64 ld in line with gold regarding calls allowed to go via a plt call stub or toc-adjusting stub without a following nop. A long time ago ld allowed tail calls, but this is wrong because we'll return to the caller's caller with the wrong toc pointer. I fixed that for shared libraries but allowed tail calls in an executable for some reason. Probably just muddy thinking on my part, because there's no difference between an executable and a shared library regarding the need to restore the toc pointer. Perhaps it was because some testcase failed, most likely due to the g++ issue I comment on in the patch. From Alan Modra: 29 Aug 2014 01:22:29 +0000: PowerPC64 call lacks nop error: Enough people accidentally or otherwise use -mcmodel=small then wonder why a call that is local is behaving as if it is going via the PLT. * elf64-ppc.c (ppc64_elf_relocate_section): Report a different error for calls via a toc adjusting stub without a nop. |
||
---|---|---|
.. | ||
dist | ||
lib | ||
usr.bin | ||
usr.sbin | ||
Makefile |