Home | History | Annotate | Download | only in ELF
      1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | llvm-readobj -t | FileCheck %s
      2 
      3 // Test that both % and @ are accepted.
      4         .global foo
      5         .type foo,%function
      6 foo:
      7 
      8         .global bar
      9         .type bar,@object
     10 bar:
     11 
     12 // Test that gnu_unique_object is accepted.
     13         .type zed,@gnu_unique_object
     14 
     15 obj:
     16         .global obj
     17         .type obj,@object
     18         .type obj,@notype
     19 
     20 func:
     21         .global func
     22         .type func,@function
     23         .type func,@object
     24 
     25 ifunc:
     26         .global ifunc
     27         .type ifunc,@gnu_indirect_function
     28 
     29 tls:
     30         .global tls
     31         .type tls,@tls_object
     32         .type tls,@gnu_indirect_function
     33 
     34 // CHECK:        Symbol {
     35 // CHECK:          Name: bar
     36 // CHECK-NEXT:     Value: 0x0
     37 // CHECK-NEXT:     Size: 0
     38 // CHECK-NEXT:     Binding: Global
     39 // CHECK-NEXT:     Type: Object
     40 // CHECK-NEXT:     Other: 0
     41 // CHECK-NEXT:     Section: .text (0x1)
     42 // CHECK-NEXT:   }
     43 // CHECK-NEXT:   Symbol {
     44 // CHECK-NEXT:     Name: foo
     45 // CHECK-NEXT:     Value: 0x0
     46 // CHECK-NEXT:     Size: 0
     47 // CHECK-NEXT:     Binding: Global
     48 // CHECK-NEXT:     Type: Function
     49 // CHECK-NEXT:     Other: 0
     50 // CHECK-NEXT:     Section: .text (0x1)
     51 // CHECK-NEXT:   }
     52 // CHECK-NEXT:   Symbol {
     53 // CHECK-NEXT:     Name: func
     54 // CHECK-NEXT:     Value: 0x0
     55 // CHECK-NEXT:     Size: 0
     56 // CHECK-NEXT:     Binding: Global
     57 // CHECK-NEXT:     Type: Function
     58 // CHECK-NEXT:     Other: 0
     59 // CHECK-NEXT:     Section: .text (0x1)
     60 // CHECK-NEXT:   }
     61 // CHECK-NEXT:   Symbol {
     62 // CHECK-NEXT:     Name: ifunc
     63 // CHECK-NEXT:     Value: 0x0
     64 // CHECK-NEXT:     Size: 0
     65 // CHECK-NEXT:     Binding: Global
     66 // CHECK-NEXT:     Type: GNU_IFunc
     67 // CHECK-NEXT:     Other: 0
     68 // CHECK-NEXT:     Section: .text (0x1)
     69 // CHECK-NEXT:   }
     70 // CHECK-NEXT:   Symbol {
     71 // CHECK-NEXT:     Name: obj
     72 // CHECK-NEXT:     Value: 0x0
     73 // CHECK-NEXT:     Size: 0
     74 // CHECK-NEXT:     Binding: Global
     75 // CHECK-NEXT:     Type: Object
     76 // CHECK-NEXT:     Other: 0
     77 // CHECK-NEXT:     Section: .text (0x1)
     78 // CHECK-NEXT:   }
     79 // CHECK-NEXT:   Symbol {
     80 // CHECK-NEXT:     Name: tls
     81 // CHECK-NEXT:     Value: 0x0
     82 // CHECK-NEXT:     Size: 0
     83 // CHECK-NEXT:     Binding: Global
     84 // CHECK-NEXT:     Type: TLS
     85 // CHECK-NEXT:     Other: 0
     86 // CHECK-NEXT:     Section: .text (0x1)
     87 // CHECK-NEXT:   }
     88