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