1 // RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s 2 3 // Test that all symbols are of type STT_TLS. 4 5 movl foo1@NTPOFF(%eax), %eax 6 movl foo2@GOTNTPOFF(%eax), %eax 7 movl foo3@TLSGD(%eax), %eax 8 movl foo4@TLSLDM(%eax), %eax 9 movl foo5@TPOFF(%eax), %eax 10 movl foo6@DTPOFF(%eax), %eax 11 movl foo7@INDNTPOFF, %eax 12 .long foo8@NTPOFF 13 .long foo9@GOTNTPOFF 14 .long fooA@TLSGD 15 .long fooB@TLSLDM 16 .long fooC@TPOFF 17 .long fooD@DTPOFF 18 .long fooE@INDNTPOFF 19 20 // CHECK: Symbol { 21 // CHECK: Name: foo1 (1) 22 // CHECK-NEXT: Value: 0x0 23 // CHECK-NEXT: Size: 0 24 // CHECK-NEXT: Binding: Global 25 // CHECK-NEXT: Type: TLS 26 // CHECK-NEXT: Other: 0 27 // CHECK-NEXT: Section: (0x0) 28 // CHECK-NEXT: } 29 // CHECK-NEXT: Symbol { 30 // CHECK-NEXT: Name: foo2 (6) 31 // CHECK-NEXT: Value: 0x0 32 // CHECK-NEXT: Size: 0 33 // CHECK-NEXT: Binding: Global 34 // CHECK-NEXT: Type: TLS 35 // CHECK-NEXT: Other: 0 36 // CHECK-NEXT: Section: (0x0) 37 // CHECK-NEXT: } 38 // CHECK-NEXT: Symbol { 39 // CHECK-NEXT: Name: foo3 (11) 40 // CHECK-NEXT: Value: 0x0 41 // CHECK-NEXT: Size: 0 42 // CHECK-NEXT: Binding: Global 43 // CHECK-NEXT: Type: TLS 44 // CHECK-NEXT: Other: 0 45 // CHECK-NEXT: Section: (0x0) 46 // CHECK-NEXT: } 47 // CHECK-NEXT: Symbol { 48 // CHECK-NEXT: Name: foo4 (16) 49 // CHECK-NEXT: Value: 0x0 50 // CHECK-NEXT: Size: 0 51 // CHECK-NEXT: Binding: Global 52 // CHECK-NEXT: Type: TLS 53 // CHECK-NEXT: Other: 0 54 // CHECK-NEXT: Section: (0x0) 55 // CHECK-NEXT: } 56 // CHECK-NEXT: Symbol { 57 // CHECK-NEXT: Name: foo5 (21) 58 // CHECK-NEXT: Value: 0x0 59 // CHECK-NEXT: Size: 0 60 // CHECK-NEXT: Binding: Global 61 // CHECK-NEXT: Type: TLS 62 // CHECK-NEXT: Other: 0 63 // CHECK-NEXT: Section: (0x0) 64 // CHECK-NEXT: } 65 // CHECK-NEXT: Symbol { 66 // CHECK-NEXT: Name: foo6 (26) 67 // CHECK-NEXT: Value: 0x0 68 // CHECK-NEXT: Size: 0 69 // CHECK-NEXT: Binding: Global 70 // CHECK-NEXT: Type: TLS 71 // CHECK-NEXT: Other: 0 72 // CHECK-NEXT: Section: (0x0) 73 // CHECK-NEXT: } 74 // CHECK-NEXT: Symbol { 75 // CHECK-NEXT: Name: foo7 (31) 76 // CHECK-NEXT: Value: 0x0 77 // CHECK-NEXT: Size: 0 78 // CHECK-NEXT: Binding: Global 79 // CHECK-NEXT: Type: TLS 80 // CHECK-NEXT: Other: 0 81 // CHECK-NEXT: Section: (0x0) 82 // CHECK-NEXT: } 83 // CHECK-NEXT: Symbol { 84 // CHECK-NEXT: Name: foo8 (36) 85 // CHECK-NEXT: Value: 0x0 86 // CHECK-NEXT: Size: 0 87 // CHECK-NEXT: Binding: Global 88 // CHECK-NEXT: Type: TLS 89 // CHECK-NEXT: Other: 0 90 // CHECK-NEXT: Section: (0x0) 91 // CHECK-NEXT: } 92 // CHECK-NEXT: Symbol { 93 // CHECK-NEXT: Name: foo9 (41) 94 // CHECK-NEXT: Value: 0x0 95 // CHECK-NEXT: Size: 0 96 // CHECK-NEXT: Binding: Global 97 // CHECK-NEXT: Type: TLS 98 // CHECK-NEXT: Other: 0 99 // CHECK-NEXT: Section: (0x0) 100 // CHECK-NEXT: } 101 // CHECK-NEXT: Symbol { 102 // CHECK-NEXT: Name: fooA (46) 103 // CHECK-NEXT: Value: 0x0 104 // CHECK-NEXT: Size: 0 105 // CHECK-NEXT: Binding: Global 106 // CHECK-NEXT: Type: TLS 107 // CHECK-NEXT: Other: 0 108 // CHECK-NEXT: Section: (0x0) 109 // CHECK-NEXT: } 110 // CHECK-NEXT: Symbol { 111 // CHECK-NEXT: Name: fooB (51) 112 // CHECK-NEXT: Value: 0x0 113 // CHECK-NEXT: Size: 0 114 // CHECK-NEXT: Binding: Global 115 // CHECK-NEXT: Type: TLS 116 // CHECK-NEXT: Other: 0 117 // CHECK-NEXT: Section: (0x0) 118 // CHECK-NEXT: } 119 // CHECK-NEXT: Symbol { 120 // CHECK-NEXT: Name: fooC (56) 121 // CHECK-NEXT: Value: 0x0 122 // CHECK-NEXT: Size: 0 123 // CHECK-NEXT: Binding: Global 124 // CHECK-NEXT: Type: TLS 125 // CHECK-NEXT: Other: 0 126 // CHECK-NEXT: Section: (0x0) 127 // CHECK-NEXT: } 128 // CHECK-NEXT: Symbol { 129 // CHECK-NEXT: Name: fooD (61) 130 // CHECK-NEXT: Value: 0x0 131 // CHECK-NEXT: Size: 0 132 // CHECK-NEXT: Binding: Global 133 // CHECK-NEXT: Type: TLS 134 // CHECK-NEXT: Other: 0 135 // CHECK-NEXT: Section: (0x0) 136 // CHECK-NEXT: } 137 // CHECK-NEXT: Symbol { 138 // CHECK-NEXT: Name: fooE (66) 139 // CHECK-NEXT: Value: 0x0 140 // CHECK-NEXT: Size: 0 141 // CHECK-NEXT: Binding: Global 142 // CHECK-NEXT: Type: TLS 143 // CHECK-NEXT: Other: 0 144 // CHECK-NEXT: Section: (0x0) 145 // CHECK-NEXT: } 146