Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/external/gpl3/binutils/dist/bfd
Module Name: src
Committed By: christos
Date: Fri Jan 2 19:50:03 UTC 2015
Modified Files:
src/external/gpl3/binutils/dist/bfd: elf64-ppc.c
Log Message:
Bring in 2 patches from binutils:
>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.
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/gpl3/binutils/dist/bfd/elf64-ppc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index