[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/23000] New: TLSDESC_PLT is incompatible with IBT
From: |
hjl.tools at gmail dot com |
Subject: |
[Bug ld/23000] New: TLSDESC_PLT is incompatible with IBT |
Date: |
Sat, 24 Mar 2018 22:10:06 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=23000
Bug ID: 23000
Summary: TLSDESC_PLT is incompatible with IBT
Product: binutils
Version: 2.31 (HEAD)
Status: NEW
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: hjl.tools at gmail dot com
Target Milestone: ---
Target: x86
TLSDESC_PLT:
Dump of assembler code from 0x7ffef7eab040 to 0x7ffef7eab05e:
=> 0x00007ffef7eab040: ff 35 c2 2f 00 00 pushq 0x2fc2(%rip)
0x00007ffef7eab046: f2 ff 25 ab 2f 00 00 bnd jmpq *0x2fab(%rip)
0x00007ffef7eab04d: 0f 1f 00 nopl (%rax)
is incompatible with indirect branch tracking (IBT), which requires a
4-byte ENDBR at the beginning due to
a8: 48 8d 05 00 00 00 00 lea 0x0(%rip),%rax # af
<test_gd+0xf>ab: R_X86_64_GOTPC32_TLSDESC gd-0x4
af: ff 10 callq *(%rax) af: R_X86_64_TLSDESC_CALL
gd
This can be changed to
endbr64
pushq GOT+8(%rip)
jmpq *GOT+16(%rip)
without BND prefix. This will clear bound registers if MPX is
used.
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/23000] New: TLSDESC_PLT is incompatible with IBT,
hjl.tools at gmail dot com <=