Comment 4 for bug 1833237

Revision history for this message
In , Cvs-commit (cvs-commit) wrote :

The master branch has been updated by Alan Modra <email address hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bb22a41815facfaa3de621aad5d055eb8e477082

commit bb22a41815facfaa3de621aad5d055eb8e477082
Author: Alan Modra <email address hidden>
Date: Sun Jun 23 12:28:39 2019 +0930

    PR24704, Internal error building skiboot for powerpc64-linux-gnu

    While the skiboot linker script bears some culpability in this PR,
    it's also true that the GOT indirect to GOT relative optimisation for
    16-bit offsets isn't safe. At least, it isn't safe to remove the GOT
    entry based on distance between the GOT pointer and symbol calculated
    from the preliminary layout. So this patch removes that optimisation,
    and reduces the range allowed for 32-bit and 34-bit offsets.

     PR 24704
    bfd/
     * elf64-ppc.c (R_PPC64_GOT16_DS): Don't set has_gotrel.
     (ppc64_elf_edit_toc): Don't remove R_PPC64_GOT16_DS got entries.
     Reduce range of offsets allowed for other GOT relocs.
    ld/
     * testsuite/ld-powerpc/elfv2exe.d: Update.
     * testsuite/ld-powerpc/elfv2so.d: Update.