Integrate Assembler: Support X86_64_DTPOFF64 relocations
[oota-llvm.git] / test / MC / ELF / type.s
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:   }