bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/24355] segmentation fault in functions called from ppc_finish_sy


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/24355] segmentation fault in functions called from ppc_finish_symbols
Date: Mon, 18 Mar 2019 12:21:45 +0000

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

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_32-branch branch has been updated by Alan Modra
<address@hidden>:

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

commit 7efcedf2b5871d455bc8a24bac3ebe28c7d8e470
Author: Alan Modra <address@hidden>
Date:   Mon Mar 18 21:38:36 2019 +1030

    PR24355, segmentation fault in function called from ppc_finish_symbols

    This one looks to be a bug going back to 2009, git commit e054468f6c
    "STT_GNU_IFUNC support for PowerPC".  That bug was carried over with
    git commit 49c09209d0 "Rearrange PLT reloc output on powerpc".

    If the refcount for an ifunc local sym plt entry was zero,
    ppc_elf_size_dynamic_sections would correctly set plt.offset to -1 but
    leave glink_offset uninitialized.  That leads to occasional segfaults
    (which can be made solid with MALLOC_PERTURB_=1 when using glibc).
    So, guard the write_glink_stub call with plt.offset != -1.  Also,
    remove the totally ineffective attempt at writing multiple-use glink
    stubs only once.

        PR 24355
        * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub
        for local iplt syms with ent->plt.offset == -1.  Remove ineffective
        attempt at writing glink stubs only once.

    (cherry picked from commit 8cd1fe1bf525b59f4d07e5790d11d49eee7e8494)

-- 
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]