1 ## Test that llvm-readobj shows proper relocation type
2 ## names and values for ppc64 target.
4 # RUN: yaml2obj %s -o %t-ppc64.o
5 # RUN: llvm-readobj -r --expand-relocs %t-ppc64.o | FileCheck %s
7 # CHECK: Type: R_PPC64_NONE (0)
8 # CHECK: Type: R_PPC64_ADDR32 (1)
9 # CHECK: Type: R_PPC64_ADDR24 (2)
10 # CHECK: Type: R_PPC64_ADDR16 (3)
11 # CHECK: Type: R_PPC64_ADDR16_LO (4)
12 # CHECK: Type: R_PPC64_ADDR16_HI (5)
13 # CHECK: Type: R_PPC64_ADDR16_HA (6)
14 # CHECK: Type: R_PPC64_ADDR14 (7)
15 # CHECK: Type: R_PPC64_ADDR14_BRTAKEN (8)
16 # CHECK: Type: R_PPC64_ADDR14_BRNTAKEN (9)
17 # CHECK: Type: R_PPC64_REL24 (10)
18 # CHECK: Type: R_PPC64_REL14 (11)
19 # CHECK: Type: R_PPC64_REL14_BRTAKEN (12)
20 # CHECK: Type: R_PPC64_REL14_BRNTAKEN (13)
21 # CHECK: Type: R_PPC64_GOT16 (14)
22 # CHECK: Type: R_PPC64_GOT16_LO (15)
23 # CHECK: Type: R_PPC64_GOT16_HI (16)
24 # CHECK: Type: R_PPC64_GOT16_HA (17)
25 # CHECK: Type: R_PPC64_GLOB_DAT (20)
26 # CHECK: Type: R_PPC64_JMP_SLOT (21)
27 # CHECK: Type: R_PPC64_RELATIVE (22)
28 # CHECK: Type: R_PPC64_REL32 (26)
29 # CHECK: Type: R_PPC64_ADDR64 (38)
30 # CHECK: Type: R_PPC64_ADDR16_HIGHER (39)
31 # CHECK: Type: R_PPC64_ADDR16_HIGHERA (40)
32 # CHECK: Type: R_PPC64_ADDR16_HIGHEST (41)
33 # CHECK: Type: R_PPC64_ADDR16_HIGHESTA (42)
34 # CHECK: Type: R_PPC64_REL64 (44)
35 # CHECK: Type: R_PPC64_TOC16 (47)
36 # CHECK: Type: R_PPC64_TOC16_LO (48)
37 # CHECK: Type: R_PPC64_TOC16_HI (49)
38 # CHECK: Type: R_PPC64_TOC16_HA (50)
39 # CHECK: Type: R_PPC64_TOC (51)
40 # CHECK: Type: R_PPC64_ADDR16_DS (56)
41 # CHECK: Type: R_PPC64_ADDR16_LO_DS (57)
42 # CHECK: Type: R_PPC64_GOT16_DS (58)
43 # CHECK: Type: R_PPC64_GOT16_LO_DS (59)
44 # CHECK: Type: R_PPC64_TOC16_DS (63)
45 # CHECK: Type: R_PPC64_TOC16_LO_DS (64)
46 # CHECK: Type: R_PPC64_TLS (67)
47 # CHECK: Type: R_PPC64_DTPMOD64 (68)
48 # CHECK: Type: R_PPC64_TPREL16 (69)
49 # CHECK: Type: R_PPC64_TPREL16_LO (70)
50 # CHECK: Type: R_PPC64_TPREL16_HI (71)
51 # CHECK: Type: R_PPC64_TPREL16_HA (72)
52 # CHECK: Type: R_PPC64_TPREL64 (73)
53 # CHECK: Type: R_PPC64_DTPREL16 (74)
54 # CHECK: Type: R_PPC64_DTPREL16_LO (75)
55 # CHECK: Type: R_PPC64_DTPREL16_HI (76)
56 # CHECK: Type: R_PPC64_DTPREL16_HA (77)
57 # CHECK: Type: R_PPC64_DTPREL64 (78)
58 # CHECK: Type: R_PPC64_GOT_TLSGD16 (79)
59 # CHECK: Type: R_PPC64_GOT_TLSGD16_LO (80)
60 # CHECK: Type: R_PPC64_GOT_TLSGD16_HI (81)
61 # CHECK: Type: R_PPC64_GOT_TLSGD16_HA (82)
62 # CHECK: Type: R_PPC64_GOT_TLSLD16 (83)
63 # CHECK: Type: R_PPC64_GOT_TLSLD16_LO (84)
64 # CHECK: Type: R_PPC64_GOT_TLSLD16_HI (85)
65 # CHECK: Type: R_PPC64_GOT_TLSLD16_HA (86)
66 # CHECK: Type: R_PPC64_GOT_TPREL16_DS (87)
67 # CHECK: Type: R_PPC64_GOT_TPREL16_LO_DS (88)
68 # CHECK: Type: R_PPC64_GOT_TPREL16_HI (89)
69 # CHECK: Type: R_PPC64_GOT_TPREL16_HA (90)
70 # CHECK: Type: R_PPC64_GOT_DTPREL16_DS (91)
71 # CHECK: Type: R_PPC64_GOT_DTPREL16_LO_DS (92)
72 # CHECK: Type: R_PPC64_GOT_DTPREL16_HI (93)
73 # CHECK: Type: R_PPC64_GOT_DTPREL16_HA (94)
74 # CHECK: Type: R_PPC64_TPREL16_DS (95)
75 # CHECK: Type: R_PPC64_TPREL16_LO_DS (96)
76 # CHECK: Type: R_PPC64_TPREL16_HIGHER (97)
77 # CHECK: Type: R_PPC64_TPREL16_HIGHERA (98)
78 # CHECK: Type: R_PPC64_TPREL16_HIGHEST (99)
79 # CHECK: Type: R_PPC64_TPREL16_HIGHESTA (100)
80 # CHECK: Type: R_PPC64_DTPREL16_DS (101)
81 # CHECK: Type: R_PPC64_DTPREL16_LO_DS (102)
82 # CHECK: Type: R_PPC64_DTPREL16_HIGHER (103)
83 # CHECK: Type: R_PPC64_DTPREL16_HIGHERA (104)
84 # CHECK: Type: R_PPC64_DTPREL16_HIGHEST (105)
85 # CHECK: Type: R_PPC64_DTPREL16_HIGHESTA (106)
86 # CHECK: Type: R_PPC64_TLSGD (107)
87 # CHECK: Type: R_PPC64_TLSLD (108)
88 # CHECK: Type: R_PPC64_ADDR16_HIGH (110)
89 # CHECK: Type: R_PPC64_ADDR16_HIGHA (111)
90 # CHECK: Type: R_PPC64_TPREL16_HIGH (112)
91 # CHECK: Type: R_PPC64_TPREL16_HIGHA (113)
92 # CHECK: Type: R_PPC64_DTPREL16_HIGH (114)
93 # CHECK: Type: R_PPC64_DTPREL16_HIGHA (115)
94 # CHECK: Type: R_PPC64_IRELATIVE (248)
95 # CHECK: Type: R_PPC64_REL16 (249)
96 # CHECK: Type: R_PPC64_REL16_LO (250)
97 # CHECK: Type: R_PPC64_REL16_HI (251)
98 # CHECK: Type: R_PPC64_REL16_HA (252)
110 - Offset: 0x0000000000000000
112 - Offset: 0x0000000000000000
114 - Offset: 0x0000000000000000
116 - Offset: 0x0000000000000000
118 - Offset: 0x0000000000000000
119 Type: R_PPC64_ADDR16_LO
120 - Offset: 0x0000000000000000
121 Type: R_PPC64_ADDR16_HI
122 - Offset: 0x0000000000000000
123 Type: R_PPC64_ADDR16_HA
124 - Offset: 0x0000000000000000
126 - Offset: 0x0000000000000000
127 Type: R_PPC64_ADDR14_BRTAKEN
128 - Offset: 0x0000000000000000
129 Type: R_PPC64_ADDR14_BRNTAKEN
130 - Offset: 0x0000000000000000
132 - Offset: 0x0000000000000000
134 - Offset: 0x0000000000000000
135 Type: R_PPC64_REL14_BRTAKEN
136 - Offset: 0x0000000000000000
137 Type: R_PPC64_REL14_BRNTAKEN
138 - Offset: 0x0000000000000000
140 - Offset: 0x0000000000000000
141 Type: R_PPC64_GOT16_LO
142 - Offset: 0x0000000000000000
143 Type: R_PPC64_GOT16_HI
144 - Offset: 0x0000000000000000
145 Type: R_PPC64_GOT16_HA
146 - Offset: 0x0000000000000000
147 Type: R_PPC64_GLOB_DAT
148 - Offset: 0x0000000000000000
149 Type: R_PPC64_JMP_SLOT
150 - Offset: 0x0000000000000000
151 Type: R_PPC64_RELATIVE
152 - Offset: 0x0000000000000000
154 - Offset: 0x0000000000000000
156 - Offset: 0x0000000000000000
157 Type: R_PPC64_ADDR16_HIGHER
158 - Offset: 0x0000000000000000
159 Type: R_PPC64_ADDR16_HIGHERA
160 - Offset: 0x0000000000000000
161 Type: R_PPC64_ADDR16_HIGHEST
162 - Offset: 0x0000000000000000
163 Type: R_PPC64_ADDR16_HIGHESTA
164 - Offset: 0x0000000000000000
166 - Offset: 0x0000000000000000
168 - Offset: 0x0000000000000000
169 Type: R_PPC64_TOC16_LO
170 - Offset: 0x0000000000000000
171 Type: R_PPC64_TOC16_HI
172 - Offset: 0x0000000000000000
173 Type: R_PPC64_TOC16_HA
174 - Offset: 0x0000000000000000
176 - Offset: 0x0000000000000000
177 Type: R_PPC64_ADDR16_DS
178 - Offset: 0x0000000000000000
179 Type: R_PPC64_ADDR16_LO_DS
180 - Offset: 0x0000000000000000
181 Type: R_PPC64_GOT16_DS
182 - Offset: 0x0000000000000000
183 Type: R_PPC64_GOT16_LO_DS
184 - Offset: 0x0000000000000000
185 Type: R_PPC64_TOC16_DS
186 - Offset: 0x0000000000000000
187 Type: R_PPC64_TOC16_LO_DS
188 - Offset: 0x0000000000000000
190 - Offset: 0x0000000000000000
191 Type: R_PPC64_DTPMOD64
192 - Offset: 0x0000000000000000
193 Type: R_PPC64_TPREL16
194 - Offset: 0x0000000000000000
195 Type: R_PPC64_TPREL16_LO
196 - Offset: 0x0000000000000000
197 Type: R_PPC64_TPREL16_HI
198 - Offset: 0x0000000000000000
199 Type: R_PPC64_TPREL16_HA
200 - Offset: 0x0000000000000000
201 Type: R_PPC64_TPREL64
202 - Offset: 0x0000000000000000
203 Type: R_PPC64_DTPREL16
204 - Offset: 0x0000000000000000
205 Type: R_PPC64_DTPREL16_LO
206 - Offset: 0x0000000000000000
207 Type: R_PPC64_DTPREL16_HI
208 - Offset: 0x0000000000000000
209 Type: R_PPC64_DTPREL16_HA
210 - Offset: 0x0000000000000000
211 Type: R_PPC64_DTPREL64
212 - Offset: 0x0000000000000000
213 Type: R_PPC64_GOT_TLSGD16
214 - Offset: 0x0000000000000000
215 Type: R_PPC64_GOT_TLSGD16_LO
216 - Offset: 0x0000000000000000
217 Type: R_PPC64_GOT_TLSGD16_HI
218 - Offset: 0x0000000000000000
219 Type: R_PPC64_GOT_TLSGD16_HA
220 - Offset: 0x0000000000000000
221 Type: R_PPC64_GOT_TLSLD16
222 - Offset: 0x0000000000000000
223 Type: R_PPC64_GOT_TLSLD16_LO
224 - Offset: 0x0000000000000000
225 Type: R_PPC64_GOT_TLSLD16_HI
226 - Offset: 0x0000000000000000
227 Type: R_PPC64_GOT_TLSLD16_HA
228 - Offset: 0x0000000000000000
229 Type: R_PPC64_GOT_TPREL16_DS
230 - Offset: 0x0000000000000000
231 Type: R_PPC64_GOT_TPREL16_LO_DS
232 - Offset: 0x0000000000000000
233 Type: R_PPC64_GOT_TPREL16_HI
234 - Offset: 0x0000000000000000
235 Type: R_PPC64_GOT_TPREL16_HA
236 - Offset: 0x0000000000000000
237 Type: R_PPC64_GOT_DTPREL16_DS
238 - Offset: 0x0000000000000000
239 Type: R_PPC64_GOT_DTPREL16_LO_DS
240 - Offset: 0x0000000000000000
241 Type: R_PPC64_GOT_DTPREL16_HI
242 - Offset: 0x0000000000000000
243 Type: R_PPC64_GOT_DTPREL16_HA
244 - Offset: 0x0000000000000000
245 Type: R_PPC64_TPREL16_DS
246 - Offset: 0x0000000000000000
247 Type: R_PPC64_TPREL16_LO_DS
248 - Offset: 0x0000000000000000
249 Type: R_PPC64_TPREL16_HIGHER
250 - Offset: 0x0000000000000000
251 Type: R_PPC64_TPREL16_HIGHERA
252 - Offset: 0x0000000000000000
253 Type: R_PPC64_TPREL16_HIGHEST
254 - Offset: 0x0000000000000000
255 Type: R_PPC64_TPREL16_HIGHESTA
256 - Offset: 0x0000000000000000
257 Type: R_PPC64_DTPREL16_DS
258 - Offset: 0x0000000000000000
259 Type: R_PPC64_DTPREL16_LO_DS
260 - Offset: 0x0000000000000000
261 Type: R_PPC64_DTPREL16_HIGHER
262 - Offset: 0x0000000000000000
263 Type: R_PPC64_DTPREL16_HIGHERA
264 - Offset: 0x0000000000000000
265 Type: R_PPC64_DTPREL16_HIGHEST
266 - Offset: 0x0000000000000000
267 Type: R_PPC64_DTPREL16_HIGHESTA
268 - Offset: 0x0000000000000000
270 - Offset: 0x0000000000000000
272 - Offset: 0x0000000000000000
273 Type: R_PPC64_ADDR16_HIGH
274 - Offset: 0x0000000000000000
275 Type: R_PPC64_ADDR16_HIGHA
276 - Offset: 0x0000000000000000
277 Type: R_PPC64_TPREL16_HIGH
278 - Offset: 0x0000000000000000
279 Type: R_PPC64_TPREL16_HIGHA
280 - Offset: 0x0000000000000000
281 Type: R_PPC64_DTPREL16_HIGH
282 - Offset: 0x0000000000000000
283 Type: R_PPC64_DTPREL16_HIGHA
284 - Offset: 0x0000000000000000
285 Type: R_PPC64_IRELATIVE
286 - Offset: 0x0000000000000000
288 - Offset: 0x0000000000000000
289 Type: R_PPC64_REL16_LO
290 - Offset: 0x0000000000000000
291 Type: R_PPC64_REL16_HI
292 - Offset: 0x0000000000000000
293 Type: R_PPC64_REL16_HA