xref: /aosp_15_r20/external/llvm/test/MC/ELF/relocation-tls.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -s -sr | FileCheck  %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Test that we produce the correct relocation.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker        leaq    _ZL3ccc@TLSDESC(%rip), %rax
6*9880d681SAndroid Build Coastguard Worker        call    *_ZL3ccc@TLSCALL(%rax)
7*9880d681SAndroid Build Coastguard Worker        addq    %fs:0, %rax
8*9880d681SAndroid Build Coastguard Worker
9*9880d681SAndroid Build Coastguard Worker// CHECK: Section {
10*9880d681SAndroid Build Coastguard Worker// CHECK:   Index:
11*9880d681SAndroid Build Coastguard Worker// CHECK:   Name: .rela.text
12*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Type: SHT_RELA
13*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Flags [
14*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ]
15*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Address: 0x0
16*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Offset:
17*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Size:
18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Link:
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Info:
20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   AddressAlignment: 8
21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   EntrySize: 24
22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Relocations [
23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0x3 R_X86_64_GOTPC32_TLSDESC _ZL3ccc 0xFFFFFFFFFFFFFFFC
24*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     0x9 R_X86_64_TLSDESC_CALL _ZL3ccc 0x0
25*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   ]
26*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT: }
27