Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump  | 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:      (('st_name', 0x0000001f) # 'foobar'
     16 // CHECK-NEXT:  ('st_bind', 0x0)
     17 // CHECK-NEXT:  ('st_type', 0x6)
     18 // CHECK-NEXT:  ('st_other', 0x00)
     19 // CHECK-NEXT:  ('st_shndx', 0x0005)
     20 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
     21 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
     22 // CHECK-NEXT: ),
     23 
     24 // CHECK:       # Symbol 7
     25 // CHECK-NEXT:  (('st_name', 0x00000001) # 'foo1'
     26 // CHECK-NEXT:   ('st_bind', 0x1)
     27 // CHECK-NEXT:   ('st_type', 0x6)
     28 // CHECK-NEXT:   ('st_other', 0x00)
     29 // CHECK-NEXT:   ('st_shndx', 0x0000)
     30 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     31 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     32 // CHECK-NEXT:  ),
     33 // CHECK-NEXT:  # Symbol 8
     34 // CHECK-NEXT:  (('st_name', 0x00000006) # 'foo2'
     35 // CHECK-NEXT:   ('st_bind', 0x1)
     36 // CHECK-NEXT:   ('st_type', 0x6)
     37 // CHECK-NEXT:   ('st_other', 0x00)
     38 // CHECK-NEXT:   ('st_shndx', 0x0000)
     39 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     40 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     41 // CHECK-NEXT:  ),
     42 // CHECK-NEXT:  # Symbol 9
     43 // CHECK-NEXT:  (('st_name', 0x0000000b) # 'foo3'
     44 // CHECK-NEXT:   ('st_bind', 0x1)
     45 // CHECK-NEXT:   ('st_type', 0x6)
     46 // CHECK-NEXT:   ('st_other', 0x00)
     47 // CHECK-NEXT:   ('st_shndx', 0x0000)
     48 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     49 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     50 // CHECK-NEXT:  ),
     51 // CHECK-NEXT:  # Symbol 10
     52 // CHECK-NEXT:  (('st_name', 0x00000010) # 'foo4'
     53 // CHECK-NEXT:   ('st_bind', 0x1)
     54 // CHECK-NEXT:   ('st_type', 0x6)
     55 // CHECK-NEXT:   ('st_other', 0x00)
     56 // CHECK-NEXT:   ('st_shndx', 0x0000)
     57 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     58 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     59 // CHECK-NEXT:  ),
     60 // CHECK-NEXT:  # Symbol 11
     61 // CHECK-NEXT:  (('st_name', 0x00000015) # 'foo5'
     62 // CHECK-NEXT:   ('st_bind', 0x1)
     63 // CHECK-NEXT:   ('st_type', 0x6)
     64 // CHECK-NEXT:   ('st_other', 0x00)
     65 // CHECK-NEXT:   ('st_shndx', 0x0000)
     66 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     67 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     68 // CHECK-NEXT:  ),
     69 // CHECK-NEXT:  # Symbol 12
     70 // CHECK-NEXT:  (('st_name', 0x0000001a) # 'foo6'
     71 // CHECK-NEXT:   ('st_bind', 0x1)
     72 // CHECK-NEXT:   ('st_type', 0x6)
     73 // CHECK-NEXT:   ('st_other', 0x00)
     74 // CHECK-NEXT:   ('st_shndx', 0x0000)
     75 // CHECK-NEXT:   ('st_value', 0x0000000000000000)
     76 // CHECK-NEXT:   ('st_size', 0x0000000000000000)
     77 // CHECK-NEXT:  ),
     78