xref: /aosp_15_r20/external/llvm/test/MC/ELF/tls.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Test that all symbols are of type STT_TLS.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker	leaq	foo1@TLSGD(%rip), %rdi
6*9880d681SAndroid Build Coastguard Worker        leaq    foo2@GOTTPOFF(%rip), %rdi
7*9880d681SAndroid Build Coastguard Worker        leaq    foo3@TLSLD(%rip), %rdi
8*9880d681SAndroid Build Coastguard Worker	.long foo4@GOTTPOFF
9*9880d681SAndroid Build Coastguard Worker	.long foo5@TLSLD
10*9880d681SAndroid Build Coastguard Worker	.long foo6@TLSGD
11*9880d681SAndroid Build Coastguard Worker	.section	.zed,"awT",@progbits
12*9880d681SAndroid Build Coastguard Workerfoobar:
13*9880d681SAndroid Build Coastguard Worker	.long	43
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker// CHECK:        Symbol {
16*9880d681SAndroid Build Coastguard Worker// CHECK:          Name: foobar
17*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
18*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
19*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Local
20*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
21*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
22*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: .zed
23*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker// CHECK:        Symbol {
26*9880d681SAndroid Build Coastguard Worker// CHECK:          Name: foo1
27*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
28*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
29*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Global
30*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
31*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
32*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: Undefined (0x0)
33*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
34*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
35*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: foo2
36*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
37*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
38*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Global
39*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
40*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
41*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: Undefined (0x0)
42*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
43*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
44*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: foo3
45*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
46*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
47*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Global
48*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
49*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
50*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: Undefined (0x0)
51*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
52*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
53*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: foo4
54*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
55*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
56*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Global
57*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
58*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
59*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: Undefined (0x0)
60*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
61*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
62*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: foo5
63*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
64*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
65*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Global
66*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
67*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
68*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: Undefined (0x0)
69*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
70*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   Symbol {
71*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Name: foo6
72*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Value: 0x0
73*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Size: 0
74*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Binding: Global
75*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Type: TLS
76*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Other: 0
77*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:     Section: Undefined (0x0)
78*9880d681SAndroid Build Coastguard Worker// CHECK-NEXT:   }
79