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