1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test
Fangrui Song cde932003b [X86] Fix x86-64 call *foo@tlsdesc(%rax) and support R_386_TLSGOTDESC R_386_TLS_DESC_CALL
D18885 emitted 5 bytes for call *foo@tlsdesc(%rax). It should use the
2-byte form instead and let R_X86_64_TLSDESC_CALL apply to the beginning
of the call instruction.

The 2-byte form was deliberately chosen to make ->LE and ->IE relaxation work:

    0:   48 8d 05 00 00 00 00    lea    0x0(%rip),%rax        # 7 <.text+0x7>
                         3: R_X86_64_GOTPC32_TLSDESC     a-0x4
    7:   ff 10                   callq  *(%rax)
                         7: R_X86_64_TLSDESC_CALL        a

=>

    0:   48 c7 c0 fc ff ff ff    mov    $0xfffffffffffffffc,%rax
    7:   66 90                   xchg   %ax,%ax

Also change the symbol type to STT_TLS when VK_TLSCALL or VK_TLSDESC is
seen.

Reviewed By: compnerd

Differential Revision: https://reviews.llvm.org/D62512

llvm-svn: 361910
2019-05-29 02:02:59 +00:00
..
Analysis [CostModel] Add really basic support for being able to query the cost of the FNeg instruction. 2019-05-28 04:09:18 +00:00
Assembler
Bindings
Bitcode [IR] allow fast-math-flags on select of FP values 2019-05-22 15:50:46 +00:00
BugPoint
CodeGen [AArch64] auto-generate complete test checks; NFC 2019-05-29 01:37:44 +00:00
DebugInfo Stop undef fragments from closing non-overlapping fragments 2019-05-28 13:23:25 +00:00
Demangle llvm-undname: Support demangling char8_t 2019-05-28 15:30:04 +00:00
Examples
ExecutionEngine
Feature
FileCheck [FileCheck] Introduce substitution subclasses 2019-05-23 00:10:29 +00:00
Instrumentation
Integer
JitListener
Linker
LTO
MachineVerifier
MC [X86] Fix x86-64 call *foo@tlsdesc(%rax) and support R_386_TLSGOTDESC R_386_TLS_DESC_CALL 2019-05-29 02:02:59 +00:00
Object Change ELF tools to allow multiple sections per file. 2019-05-28 20:01:25 +00:00
ObjectYAML
Other [SLPVectorizer] Set flag to previous default. 2019-05-23 19:07:41 +00:00
SafepointIRVerifier
Support
SymbolRewriter
TableGen TableGen: Handle nontrivial foreach range bounds 2019-05-22 21:28:20 +00:00
ThinLTO/X86
tools [tools] Introduce llvm-lipo 2019-05-28 23:22:12 +00:00
Transforms [PGO] Handle cases of failing to split critical edges 2019-05-28 21:45:56 +00:00
Unit
Verifier
YAMLParser
.clang-format
CMakeLists.txt [tools] Introduce llvm-lipo 2019-05-28 23:22:12 +00:00
lit.cfg.py
lit.site.cfg.py.in
TestRunner.sh