1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00
llvm-mirror/test/MC
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
..
AArch64 [AArch64][SVE2] Asm: support SVE2 Floating Point Convert Group 2019-05-28 09:36:52 +00:00
AMDGPU [AMDGPU][MC] Enabled constant expressions as operands of s_waitcnt 2019-05-27 14:08:43 +00:00
ARM [ARM] Replace fp-only-sp and d16 with fp64 and d32. 2019-05-28 16:13:20 +00:00
AsmParser [llvm-readobj] Change -t to --symbols in tests. NFC 2019-05-01 09:28:24 +00:00
AVR [AVR] Fix 'symbol_relocations.s' MC test 2019-05-18 16:38:48 +00:00
BPF bpf: disassembler support for XADD under sub-register mode 2019-02-28 19:22:34 +00:00
COFF [llvm-readobj] Change -t to --symbols in tests. NFC 2019-05-01 09:28:24 +00:00
Disassembler [AMDGPU][MC] Enabled labels with s_call_b64 and s_cbranch_i_fork 2019-05-17 14:57:04 +00:00
ELF [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
Hexagon [llvm-objdump] - Print relocation record in a GNU format. 2019-05-07 13:14:18 +00:00
Lanai
MachO Fix typo in r361251. 2019-05-21 13:23:32 +00:00
Mips [mips] LLVM and GAS now use same instructions for CFA Definition. NFCI 2019-05-15 12:05:27 +00:00
MSP430 [llvm-readobj] Change -t to --symbols in tests. NFC 2019-05-01 09:28:24 +00:00
PowerPC [PPC64] Update LocalEntry from assigned symbols 2019-05-21 10:41:25 +00:00
RISCV [RISCV] Support assembling TLS LA pseudo instructions 2019-05-23 14:46:27 +00:00
Sparc [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
SystemZ [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
WebAssembly [llvm-readobj] Change -long-option to --long-option in tests. NFC 2019-05-01 05:27:20 +00:00
X86 [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