1 // RUN: llvm-mc -filetype=obj -triple i386-pc-linux-gnu %s -o - | elf-dump | 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: (('st_name', 0x00000001) # 'foo1' 21 // CHECK-NEXT: ('st_value', 0x00000000) 22 // CHECK-NEXT: ('st_size', 0x00000000) 23 // CHECK-NEXT: ('st_bind', 0x1) 24 // CHECK-NEXT: ('st_type', 0x6) 25 // CHECK-NEXT: ('st_other', 0x00) 26 // CHECK-NEXT: ('st_shndx', 0x0000) 27 // CHECK-NEXT: ), 28 // CHECK-NEXT: # Symbol 6 29 // CHECK-NEXT: (('st_name', 0x00000006) # 'foo2' 30 // CHECK-NEXT: ('st_value', 0x00000000) 31 // CHECK-NEXT: ('st_size', 0x00000000) 32 // CHECK-NEXT: ('st_bind', 0x1) 33 // CHECK-NEXT: ('st_type', 0x6) 34 // CHECK-NEXT: ('st_other', 0x00) 35 // CHECK-NEXT: ('st_shndx', 0x0000) 36 // CHECK-NEXT: ), 37 // CHECK-NEXT: # Symbol 7 38 // CHECK-NEXT: (('st_name', 0x0000000b) # 'foo3' 39 // CHECK-NEXT: ('st_value', 0x00000000) 40 // CHECK-NEXT: ('st_size', 0x00000000) 41 // CHECK-NEXT: ('st_bind', 0x1) 42 // CHECK-NEXT: ('st_type', 0x6) 43 // CHECK-NEXT: ('st_other', 0x00) 44 // CHECK-NEXT: ('st_shndx', 0x0000) 45 // CHECK-NEXT: ), 46 // CHECK-NEXT: # Symbol 8 47 // CHECK-NEXT: (('st_name', 0x00000010) # 'foo4' 48 // CHECK-NEXT: ('st_value', 0x00000000) 49 // CHECK-NEXT: ('st_size', 0x00000000) 50 // CHECK-NEXT: ('st_bind', 0x1) 51 // CHECK-NEXT: ('st_type', 0x6) 52 // CHECK-NEXT: ('st_other', 0x00) 53 // CHECK-NEXT: ('st_shndx', 0x0000) 54 // CHECK-NEXT: ), 55 // CHECK-NEXT: # Symbol 9 56 // CHECK-NEXT: (('st_name', 0x00000015) # 'foo5' 57 // CHECK-NEXT: ('st_value', 0x00000000) 58 // CHECK-NEXT: ('st_size', 0x00000000) 59 // CHECK-NEXT: ('st_bind', 0x1) 60 // CHECK-NEXT: ('st_type', 0x6) 61 // CHECK-NEXT: ('st_other', 0x00) 62 // CHECK-NEXT: ('st_shndx', 0x0000) 63 // CHECK-NEXT: ), 64 // CHECK-NEXT: # Symbol 10 65 // CHECK-NEXT: (('st_name', 0x0000001a) # 'foo6' 66 // CHECK-NEXT: ('st_value', 0x00000000) 67 // CHECK-NEXT: ('st_size', 0x00000000) 68 // CHECK-NEXT: ('st_bind', 0x1) 69 // CHECK-NEXT: ('st_type', 0x6) 70 // CHECK-NEXT: ('st_other', 0x00) 71 // CHECK-NEXT: ('st_shndx', 0x0000) 72 // CHECK-NEXT: ), 73 // CHECK-NEXT: # Symbol 11 74 // CHECK-NEXT: (('st_name', 0x0000001f) # 'foo7' 75 // CHECK-NEXT: ('st_value', 0x00000000) 76 // CHECK-NEXT: ('st_size', 0x00000000) 77 // CHECK-NEXT: ('st_bind', 0x1) 78 // CHECK-NEXT: ('st_type', 0x6) 79 // CHECK-NEXT: ('st_other', 0x00) 80 // CHECK-NEXT: ('st_shndx', 0x0000) 81 // CHECK-NEXT: ), 82 // CHECK-NEXT: # Symbol 12 83 // CHECK-NEXT: (('st_name', 0x00000024) # 'foo8' 84 // CHECK-NEXT: ('st_value', 0x00000000) 85 // CHECK-NEXT: ('st_size', 0x00000000) 86 // CHECK-NEXT: ('st_bind', 0x1) 87 // CHECK-NEXT: ('st_type', 0x6) 88 // CHECK-NEXT: ('st_other', 0x00) 89 // CHECK-NEXT: ('st_shndx', 0x0000) 90 // CHECK-NEXT: ), 91 // CHECK-NEXT: # Symbol 13 92 // CHECK-NEXT: (('st_name', 0x00000029) # 'foo9' 93 // CHECK-NEXT: ('st_value', 0x00000000) 94 // CHECK-NEXT: ('st_size', 0x00000000) 95 // CHECK-NEXT: ('st_bind', 0x1) 96 // CHECK-NEXT: ('st_type', 0x6) 97 // CHECK-NEXT: ('st_other', 0x00) 98 // CHECK-NEXT: ('st_shndx', 0x0000) 99 // CHECK-NEXT: ), 100 // CHECK-NEXT: # Symbol 14 101 // CHECK-NEXT: (('st_name', 0x0000002e) # 'fooA' 102 // CHECK-NEXT: ('st_value', 0x00000000) 103 // CHECK-NEXT: ('st_size', 0x00000000) 104 // CHECK-NEXT: ('st_bind', 0x1) 105 // CHECK-NEXT: ('st_type', 0x6) 106 // CHECK-NEXT: ('st_other', 0x00) 107 // CHECK-NEXT: ('st_shndx', 0x0000) 108 // CHECK-NEXT: ), 109 // CHECK-NEXT: # Symbol 15 110 // CHECK-NEXT: (('st_name', 0x00000033) # 'fooB' 111 // CHECK-NEXT: ('st_value', 0x00000000) 112 // CHECK-NEXT: ('st_size', 0x00000000) 113 // CHECK-NEXT: ('st_bind', 0x1) 114 // CHECK-NEXT: ('st_type', 0x6) 115 // CHECK-NEXT: ('st_other', 0x00) 116 // CHECK-NEXT: ('st_shndx', 0x0000) 117 // CHECK-NEXT: ), 118 // CHECK-NEXT: # Symbol 16 119 // CHECK-NEXT: (('st_name', 0x00000038) # 'fooC' 120 // CHECK-NEXT: ('st_value', 0x00000000) 121 // CHECK-NEXT: ('st_size', 0x00000000) 122 // CHECK-NEXT: ('st_bind', 0x1) 123 // CHECK-NEXT: ('st_type', 0x6) 124 // CHECK-NEXT: ('st_other', 0x00) 125 // CHECK-NEXT: ('st_shndx', 0x0000) 126 // CHECK-NEXT: ), 127 // CHECK-NEXT: # Symbol 17 128 // CHECK-NEXT: (('st_name', 0x0000003d) # 'fooD' 129 // CHECK-NEXT: ('st_value', 0x00000000) 130 // CHECK-NEXT: ('st_size', 0x00000000) 131 // CHECK-NEXT: ('st_bind', 0x1) 132 // CHECK-NEXT: ('st_type', 0x6) 133 // CHECK-NEXT: ('st_other', 0x00) 134 // CHECK-NEXT: ('st_shndx', 0x0000) 135 // CHECK-NEXT: ), 136 // CHECK-NEXT: # Symbol 18 137 // CHECK-NEXT: (('st_name', 0x00000042) # 'fooE' 138 // CHECK-NEXT: ('st_value', 0x00000000) 139 // CHECK-NEXT: ('st_size', 0x00000000) 140 // CHECK-NEXT: ('st_bind', 0x1) 141 // CHECK-NEXT: ('st_type', 0x6) 142 // CHECK-NEXT: ('st_other', 0x00) 143 // CHECK-NEXT: ('st_shndx', 0x0000) 144 // CHECK-NEXT: ), 145 146