bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug ld/29369] [2.39 Regression] ld: internal error ../../ld/ldlang.c 64


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/29369] [2.39 Regression] ld: internal error ../../ld/ldlang.c 6452 on powerpc64le-linux-gnu
Date: Mon, 25 Jul 2022 02:24:35 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=29369

--- Comment #6 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_39-branch branch has been updated by Alan Modra
<amodra@sourceware.org>:

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

commit 97acb51d6ac5b3e09b5817edc7a41678d96e945c
Author: Alan Modra <amodra@gmail.com>
Date:   Mon Jul 25 09:25:49 2022 +0930

    Re: PowerPC64 .branch_lt address

    On seeing PR29369 my suspicion was naturally on a recent powerpc64
    change, commit 0ab80031430e.  Without a reproducer, I spent time
    wondering what could have gone wrong, and while I doubt this patch
    would have fixed the PR, there are some improvements that can be made
    to cater for user silliness.

    I also noticed that when -z relro -z now sections are created out of
    order, with .got before .plt in the section headers but .got is laid
    out at a higher address.  That's due to the address expression for
    .branch_lt referencing SIZEOF(.got) and so calling init_os (which
    creates a bfd section) for .got before the .plt section is created.
    Fix that by ignoring SIZEOF in exp_init_os.  Unlike ADDR and LOADADDR
    which need to reference section vma and lma respectively, SIZEOF can
    and does cope with a missing bfd section by returning zero for its
    size, which of course is correct.

            PR 29369
            * ldlang.c (exp_init_os): Don't create a bfd section for SIZEOF.
            * emulparams/elf64ppc.sh (OTHER_RELRO_SECTIONS_2): Revise
            .branch_lt address to take into account possible user sections
            with alignment larger than 8 bytes.

    (cherry picked from commit 5d471bd907be60e9858b22cdf4fd10ddc0f6ee1a)

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]