[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: |
Sun, 25 Mar 2018 12:06:25 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=23000
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot
gnu.org> ---
The master branch has been updated by H.J. Lu <address@hidden>:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bf54968b128a2133174d81c438d402ecfaf83042
commit bf54968b128a2133174d81c438d402ecfaf83042
Author: H.J. Lu <address@hidden>
Date: Sun Mar 25 05:02:17 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.
--
You are receiving this mail because:
You are on the CC list for the bug.