Home | History | Annotate | Download | only in ELF
      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
     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: Undefined (0x0)
     28 // CHECK-NEXT:   }
     29 // CHECK-NEXT:   Symbol {
     30 // CHECK-NEXT:     Name: foo2
     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: Undefined (0x0)
     37 // CHECK-NEXT:   }
     38 // CHECK-NEXT:   Symbol {
     39 // CHECK-NEXT:     Name: foo3
     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: Undefined (0x0)
     46 // CHECK-NEXT:   }
     47 // CHECK-NEXT:   Symbol {
     48 // CHECK-NEXT:     Name: foo4
     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: Undefined (0x0)
     55 // CHECK-NEXT:   }
     56 // CHECK-NEXT:   Symbol {
     57 // CHECK-NEXT:     Name: foo5
     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: Undefined (0x0)
     64 // CHECK-NEXT:   }
     65 // CHECK-NEXT:   Symbol {
     66 // CHECK-NEXT:     Name: foo6
     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: Undefined (0x0)
     73 // CHECK-NEXT:   }
     74 // CHECK-NEXT:   Symbol {
     75 // CHECK-NEXT:     Name: foo7
     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: Undefined (0x0)
     82 // CHECK-NEXT:   }
     83 // CHECK-NEXT:   Symbol {
     84 // CHECK-NEXT:     Name: foo8
     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: Undefined (0x0)
     91 // CHECK-NEXT:   }
     92 // CHECK-NEXT:   Symbol {
     93 // CHECK-NEXT:     Name: foo9
     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: Undefined (0x0)
    100 // CHECK-NEXT:   }
    101 // CHECK-NEXT:   Symbol {
    102 // CHECK-NEXT:     Name: fooA
    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: Undefined (0x0)
    109 // CHECK-NEXT:   }
    110 // CHECK-NEXT:   Symbol {
    111 // CHECK-NEXT:     Name: fooB
    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: Undefined (0x0)
    118 // CHECK-NEXT:   }
    119 // CHECK-NEXT:   Symbol {
    120 // CHECK-NEXT:     Name: fooC
    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: Undefined (0x0)
    127 // CHECK-NEXT:   }
    128 // CHECK-NEXT:   Symbol {
    129 // CHECK-NEXT:     Name: fooD
    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: Undefined (0x0)
    136 // CHECK-NEXT:   }
    137 // CHECK-NEXT:   Symbol {
    138 // CHECK-NEXT:     Name: fooE
    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: Undefined (0x0)
    145 // CHECK-NEXT:   }
    146