bug-binutils
[Top][All Lists]
Advanced

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

[Bug ld/23000] TLSDESC_PLT is incompatible with IBT


From: cvs-commit at gcc dot gnu.org
Subject: [Bug ld/23000] TLSDESC_PLT is incompatible with IBT
Date: Mon, 26 Mar 2018 10:58:01 +0000

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

--- Comment #2 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The binutils-2_30-branch branch has been updated by H.J. Lu
<address@hidden>:

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

commit 963e88c631ad5878d70d055fd8597c83279efe66
Author: H.J. Lu <address@hidden>
Date:   Mon Mar 26 03:57:01 2018 -0700

    x86-64: Add ENDBR64 to the TLSDESC PLT entry

    The TLSDESC entry in a lazy procedure linkage table is called indirectly
    with "callq *(%rax)".  This patch adds an ENDBR64 to support indirect
    branch tracking in Intel CET.  The TLSDESC PLT entry now looks like:

    0xf3, 0x0f, 0x1e, 0xfa,  /* endbr64             */
    0xff, 0x35, 8, 0, 0, 0,  /* pushq GOT+8(%rip)   */
    0xff, 0x25, 16, 0, 0, 0  /* jmpq *GOT+TDG(%rip)  */

    The BND prefix isn't needed since MPX isn't used for TLSDESC.

    bfd/

        PR ld/23000
        * elf64-x86-64.c (elf_x86_64_finish_dynamic_sections): Add
        ENDBR64 to the TLSDESC PLT entry.

    ld/

        PR ld/23000
        * testsuite/ld-x86-64/tlsdesc.pd: Updated.

    (cherry picked from commit bf54968b128a2133174d81c438d402ecfaf83042)

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