print st_type with the correct number of bits.
[oota-llvm.git] / test / MC / ELF / symref.s
1 // RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump  | FileCheck %s
2
3 defined1:
4 defined2:
5 defined3:
6         .symver defined1, bar1@zed
7         .symver undefined1, bar2@zed
8
9         .symver defined2, bar3@@zed
10
11         .symver defined3, bar5@@@zed
12         .symver undefined3, bar6@@@zed
13
14         .long defined1
15         .long undefined1
16         .long defined2
17         .long defined3
18         .long undefined3
19
20         .global global1
21         .symver global1, g1@@zed
22 global1:
23
24
25 // CHECK:      # Relocation 0
26 // CHECK-NEXT: (('r_offset', 0x00000000)
27 // CHECK-NEXT:  ('r_sym', 0x00000006)
28 // CHECK-NEXT:  ('r_type', 0x0000000a)
29 // CHECK-NEXT:  ('r_addend', 0x0000000000000000)
30 // CHECK-NEXT: ),
31 // CHECK-NEXT: # Relocation 1
32 // CHECK-NEXT: (('r_offset', 0x00000004)
33 // CHECK-NEXT:  ('r_sym', 0x0000000b)
34 // CHECK-NEXT:  ('r_type', 0x0000000a)
35 // CHECK-NEXT:  ('r_addend', 0x0000000000000000)
36 // CHECK-NEXT: ),
37 // CHECK-NEXT: # Relocation 2
38 // CHECK-NEXT: (('r_offset', 0x00000008)
39 // CHECK-NEXT:  ('r_sym', 0x00000006)
40 // CHECK-NEXT:  ('r_type', 0x0000000a)
41 // CHECK-NEXT:  ('r_addend', 0x0000000000000000)
42 // CHECK-NEXT: ),
43 // CHECK-NEXT: # Relocation 3
44 // CHECK-NEXT: (('r_offset', 0x0000000c)
45 // CHECK-NEXT:  ('r_sym', 0x00000006)
46 // CHECK-NEXT:  ('r_type', 0x0000000a)
47 // CHECK-NEXT:  ('r_addend', 0x0000000000000000)
48 // CHECK-NEXT: ),
49 // CHECK-NEXT: # Relocation 4
50 // CHECK-NEXT: (('r_offset', 0x00000010)
51 // CHECK-NEXT:  ('r_sym', 0x0000000c)
52 // CHECK-NEXT:  ('r_type', 0x0000000a)
53 // CHECK-NEXT:  ('r_addend', 0x0000000000000000)
54 // CHECK-NEXT: ),
55 // CHECK-NEXT:])
56
57 // CHECK:      # Symbol 1
58 // CHECK-NEXT: (('st_name', 0x00000013) # 'bar1@zed'
59 // CHECK-NEXT:  ('st_bind', 0x0)
60 // CHECK-NEXT:  ('st_type', 0x0)
61 // CHECK-NEXT:  ('st_other', 0x00000000)
62 // CHECK-NEXT:  ('st_shndx', 0x00000001)
63 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
64 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
65 // CHECK-NEXT: ),
66 // CHECK-NEXT: # Symbol 2
67 // CHECK-NEXT: (('st_name', 0x00000025) # 'bar3@@zed'
68 // CHECK-NEXT:  ('st_bind', 0x0)
69 // CHECK-NEXT:  ('st_type', 0x0)
70 // CHECK-NEXT:  ('st_other', 0x00000000)
71 // CHECK-NEXT:  ('st_shndx', 0x00000001)
72 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
73 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
74 // CHECK-NEXT: ),
75 // CHECK-NEXT: # Symbol 3
76 // CHECK-NEXT: (('st_name', 0x0000002f) # 'bar5@@zed'
77 // CHECK-NEXT:  ('st_bind', 0x0)
78 // CHECK-NEXT:  ('st_type', 0x0)
79 // CHECK-NEXT:  ('st_other', 0x00000000)
80 // CHECK-NEXT:  ('st_shndx', 0x00000001)
81 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
82 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
83 // CHECK-NEXT: ),
84 // CHECK-NEXT: # Symbol 4
85 // CHECK-NEXT: (('st_name', 0x00000001) # 'defined1'
86 // CHECK-NEXT:  ('st_bind', 0x0)
87 // CHECK-NEXT:  ('st_type', 0x0)
88 // CHECK-NEXT:  ('st_other', 0x00000000)
89 // CHECK-NEXT:  ('st_shndx', 0x00000001)
90 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
91 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
92 // CHECK-NEXT: ),
93 // CHECK-NEXT: # Symbol 5
94 // CHECK-NEXT: (('st_name', 0x0000000a) # 'defined2'
95 // CHECK-NEXT:  ('st_bind', 0x0)
96 // CHECK-NEXT:  ('st_type', 0x0)
97 // CHECK-NEXT:  ('st_other', 0x00000000)
98 // CHECK-NEXT:  ('st_shndx', 0x00000001)
99 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
100 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
101 // CHECK-NEXT: ),
102 // CHECK-NEXT: # Symbol 6
103 // CHECK-NEXT: (('st_name', 0x00000000) # ''
104 // CHECK-NEXT:  ('st_bind', 0x0)
105 // CHECK-NEXT:  ('st_type', 0x3)
106 // CHECK-NEXT:  ('st_other', 0x00000000)
107 // CHECK-NEXT:  ('st_shndx', 0x00000001)
108 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
109 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
110 // CHECK-NEXT: ),
111 // CHECK-NEXT: # Symbol 7
112 // CHECK-NEXT: (('st_name', 0x00000000) # ''
113 // CHECK-NEXT:  ('st_bind', 0x0)
114 // CHECK-NEXT:  ('st_type', 0x3)
115 // CHECK-NEXT:  ('st_other', 0x00000000)
116 // CHECK-NEXT:  ('st_shndx', 0x00000003)
117 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
118 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
119 // CHECK-NEXT: ),
120 // CHECK-NEXT: # Symbol 8
121 // CHECK-NEXT: (('st_name', 0x00000000) # ''
122 // CHECK-NEXT:  ('st_bind', 0x0)
123 // CHECK-NEXT:  ('st_type', 0x3)
124 // CHECK-NEXT:  ('st_other', 0x00000000)
125 // CHECK-NEXT:  ('st_shndx', 0x00000004)
126 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
127 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
128 // CHECK-NEXT: ),
129 // CHECK-NEXT: # Symbol 9
130 // CHECK-NEXT: (('st_name', 0x0000004a) # 'g1@@zed'
131 // CHECK-NEXT:  ('st_bind', 0x1)
132 // CHECK-NEXT:  ('st_type', 0x0)
133 // CHECK-NEXT:  ('st_other', 0x00000000)
134 // CHECK-NEXT:  ('st_shndx', 0x00000001)
135 // CHECK-NEXT:  ('st_value', 0x0000000000000014)
136 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
137 // CHECK-NEXT: ),
138 // CHECK-NEXT: # Symbol 10
139 // CHECK-NEXT: (('st_name', 0x00000042) # 'global1'
140 // CHECK-NEXT:  ('st_bind', 0x1)
141 // CHECK-NEXT:  ('st_type', 0x0)
142 // CHECK-NEXT:  ('st_other', 0x00000000)
143 // CHECK-NEXT:  ('st_shndx', 0x00000001)
144 // CHECK-NEXT:  ('st_value', 0x0000000000000014)
145 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
146 // CHECK-NEXT: ),
147 // CHECK-NEXT: # Symbol 11
148 // CHECK-NEXT: (('st_name', 0x0000001c) # 'bar2@zed'
149 // CHECK-NEXT:  ('st_bind', 0x1)
150 // CHECK-NEXT:  ('st_type', 0x0)
151 // CHECK-NEXT:  ('st_other', 0x00000000)
152 // CHECK-NEXT:  ('st_shndx', 0x00000000)
153 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
154 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
155 // CHECK-NEXT: ),
156 // CHECK-NEXT: # Symbol 12
157 // CHECK-NEXT: (('st_name', 0x00000039) # 'bar6@zed'
158 // CHECK-NEXT:  ('st_bind', 0x1)
159 // CHECK-NEXT:  ('st_type', 0x0)
160 // CHECK-NEXT:  ('st_other', 0x00000000)
161 // CHECK-NEXT:  ('st_shndx', 0x00000000)
162 // CHECK-NEXT:  ('st_value', 0x0000000000000000)
163 // CHECK-NEXT:  ('st_size', 0x0000000000000000)
164 // CHECK-NEXT: ),
165 // CHECK-NEXT:])