Line data Source code
1 : use std::marker::PhantomData;
2 :
3 : use lief_ffi as ffi;
4 :
5 : use crate::Error;
6 : use crate::generic;
7 : use crate::elf::Section;
8 :
9 : use crate::common::into_optional;
10 : use crate::common::FromFFI;
11 : use crate::{declare_iterator, to_result};
12 :
13 : use super::Symbol;
14 :
15 : /// Structure which reprents an ELF relocation
16 : pub struct Relocation<'a> {
17 : ptr: cxx::UniquePtr<ffi::ELF_Relocation>,
18 : _owner: PhantomData<&'a ffi::ELF_Binary>
19 : }
20 :
21 :
22 : #[allow(non_camel_case_types)]
23 19440 : #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
24 : /// The different types of the relocation
25 : pub enum Type {
26 : X86_64_NONE,
27 : X86_64_64,
28 : X86_64_PC32,
29 : X86_64_GOT32,
30 : X86_64_PLT32,
31 : X86_64_COPY,
32 : X86_64_GLOB_DAT,
33 : X86_64_JUMP_SLOT,
34 : X86_64_RELATIVE,
35 : X86_64_GOTPCREL,
36 : X86_64_32,
37 : X86_64_32S,
38 : X86_64_16,
39 : X86_64_PC16,
40 : X86_64_8,
41 : X86_64_PC8,
42 : X86_64_DTPMOD64,
43 : X86_64_DTPOFF64,
44 : X86_64_TPOFF64,
45 : X86_64_TLSGD,
46 : X86_64_TLSLD,
47 : X86_64_DTPOFF32,
48 : X86_64_GOTTPOFF,
49 : X86_64_TPOFF32,
50 : X86_64_PC64,
51 : X86_64_GOTOFF64,
52 : X86_64_GOTPC32,
53 : X86_64_GOT64,
54 : X86_64_GOTPCREL64,
55 : X86_64_GOTPC64,
56 : X86_64_GOTPLT64,
57 : X86_64_PLTOFF64,
58 : X86_64_SIZE32,
59 : X86_64_SIZE64,
60 : X86_64_GOTPC32_TLSDESC,
61 : X86_64_TLSDESC_CALL,
62 : X86_64_TLSDESC,
63 : X86_64_IRELATIVE,
64 : X86_64_RELATIVE64,
65 : X86_64_PC32_BND,
66 : X86_64_PLT32_BND,
67 : X86_64_GOTPCRELX,
68 : X86_64_REX_GOTPCRELX,
69 : AARCH64_NONE,
70 : AARCH64_ABS64,
71 : AARCH64_ABS32,
72 : AARCH64_ABS16,
73 : AARCH64_PREL64,
74 : AARCH64_PREL32,
75 : AARCH64_PREL16,
76 : AARCH64_MOVW_UABS_G0,
77 : AARCH64_MOVW_UABS_G0_NC,
78 : AARCH64_MOVW_UABS_G1,
79 : AARCH64_MOVW_UABS_G1_NC,
80 : AARCH64_MOVW_UABS_G2,
81 : AARCH64_MOVW_UABS_G2_NC,
82 : AARCH64_MOVW_UABS_G3,
83 : AARCH64_MOVW_SABS_G0,
84 : AARCH64_MOVW_SABS_G1,
85 : AARCH64_MOVW_SABS_G2,
86 : AARCH64_LD_PREL_LO19,
87 : AARCH64_ADR_PREL_LO21,
88 : AARCH64_ADR_PREL_PG_HI21,
89 : AARCH64_ADR_PREL_PG_HI21_NC,
90 : AARCH64_ADD_ABS_LO12_NC,
91 : AARCH64_LDST8_ABS_LO12_NC,
92 : AARCH64_TSTBR14,
93 : AARCH64_CONDBR19,
94 : AARCH64_JUMP26,
95 : AARCH64_CALL26,
96 : AARCH64_LDST16_ABS_LO12_NC,
97 : AARCH64_LDST32_ABS_LO12_NC,
98 : AARCH64_LDST64_ABS_LO12_NC,
99 : AARCH64_MOVW_PREL_G0,
100 : AARCH64_MOVW_PREL_G0_NC,
101 : AARCH64_MOVW_PREL_G1,
102 : AARCH64_MOVW_PREL_G1_NC,
103 : AARCH64_MOVW_PREL_G2,
104 : AARCH64_MOVW_PREL_G2_NC,
105 : AARCH64_MOVW_PREL_G3,
106 : AARCH64_LDST128_ABS_LO12_NC,
107 : AARCH64_MOVW_GOTOFF_G0,
108 : AARCH64_MOVW_GOTOFF_G0_NC,
109 : AARCH64_MOVW_GOTOFF_G1,
110 : AARCH64_MOVW_GOTOFF_G1_NC,
111 : AARCH64_MOVW_GOTOFF_G2,
112 : AARCH64_MOVW_GOTOFF_G2_NC,
113 : AARCH64_MOVW_GOTOFF_G3,
114 : AARCH64_GOTREL64,
115 : AARCH64_GOTREL32,
116 : AARCH64_GOT_LD_PREL19,
117 : AARCH64_LD64_GOTOFF_LO15,
118 : AARCH64_ADR_GOT_PAGE,
119 : AARCH64_LD64_GOT_LO12_NC,
120 : AARCH64_LD64_GOTPAGE_LO15,
121 : AARCH64_TLSGD_ADR_PREL21,
122 : AARCH64_TLSGD_ADR_PAGE21,
123 : AARCH64_TLSGD_ADD_LO12_NC,
124 : AARCH64_TLSGD_MOVW_G1,
125 : AARCH64_TLSGD_MOVW_G0_NC,
126 : AARCH64_TLSLD_ADR_PREL21,
127 : AARCH64_TLSLD_ADR_PAGE21,
128 : AARCH64_TLSLD_ADD_LO12_NC,
129 : AARCH64_TLSLD_MOVW_G1,
130 : AARCH64_TLSLD_MOVW_G0_NC,
131 : AARCH64_TLSLD_LD_PREL19,
132 : AARCH64_TLSLD_MOVW_DTPREL_G2,
133 : AARCH64_TLSLD_MOVW_DTPREL_G1,
134 : AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
135 : AARCH64_TLSLD_MOVW_DTPREL_G0,
136 : AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
137 : AARCH64_TLSLD_ADD_DTPREL_HI12,
138 : AARCH64_TLSLD_ADD_DTPREL_LO12,
139 : AARCH64_TLSLD_ADD_DTPREL_LO12_NC,
140 : AARCH64_TLSLD_LDST8_DTPREL_LO12,
141 : AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
142 : AARCH64_TLSLD_LDST16_DTPREL_LO12,
143 : AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
144 : AARCH64_TLSLD_LDST32_DTPREL_LO12,
145 : AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
146 : AARCH64_TLSLD_LDST64_DTPREL_LO12,
147 : AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
148 : AARCH64_TLSIE_MOVW_GOTTPREL_G1,
149 : AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC,
150 : AARCH64_TLSIE_ADR_GOTTPREL_PAGE21,
151 : AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC,
152 : AARCH64_TLSIE_LD_GOTTPREL_PREL19,
153 : AARCH64_TLSLE_MOVW_TPREL_G2,
154 : AARCH64_TLSLE_MOVW_TPREL_G1,
155 : AARCH64_TLSLE_MOVW_TPREL_G1_NC,
156 : AARCH64_TLSLE_MOVW_TPREL_G0,
157 : AARCH64_TLSLE_MOVW_TPREL_G0_NC,
158 : AARCH64_TLSLE_ADD_TPREL_HI12,
159 : AARCH64_TLSLE_ADD_TPREL_LO12,
160 : AARCH64_TLSLE_ADD_TPREL_LO12_NC,
161 : AARCH64_TLSLE_LDST8_TPREL_LO12,
162 : AARCH64_TLSLE_LDST8_TPREL_LO12_NC,
163 : AARCH64_TLSLE_LDST16_TPREL_LO12,
164 : AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
165 : AARCH64_TLSLE_LDST32_TPREL_LO12,
166 : AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
167 : AARCH64_TLSLE_LDST64_TPREL_LO12,
168 : AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
169 : AARCH64_TLSDESC_LD_PREL19,
170 : AARCH64_TLSDESC_ADR_PREL21,
171 : AARCH64_TLSDESC_ADR_PAGE21,
172 : AARCH64_TLSDESC_LD64_LO12_NC,
173 : AARCH64_TLSDESC_ADD_LO12_NC,
174 : AARCH64_TLSDESC_OFF_G1,
175 : AARCH64_TLSDESC_OFF_G0_NC,
176 : AARCH64_TLSDESC_LDR,
177 : AARCH64_TLSDESC_ADD,
178 : AARCH64_TLSDESC_CALL,
179 : AARCH64_TLSLE_LDST128_TPREL_LO12,
180 : AARCH64_TLSLE_LDST128_TPREL_LO12_NC,
181 : AARCH64_TLSLD_LDST128_DTPREL_LO12,
182 : AARCH64_TLSLD_LDST128_DTPREL_LO12_NC,
183 : AARCH64_COPY,
184 : AARCH64_GLOB_DAT,
185 : AARCH64_JUMP_SLOT,
186 : AARCH64_RELATIVE,
187 : AARCH64_TLS_DTPREL64,
188 : AARCH64_TLS_DTPMOD64,
189 : AARCH64_TLS_TPREL64,
190 : AARCH64_TLSDESC,
191 : AARCH64_IRELATIVE,
192 : ARM_NONE,
193 : ARM_PC24,
194 : ARM_ABS32,
195 : ARM_REL32,
196 : ARM_LDR_PC_G0,
197 : ARM_ABS16,
198 : ARM_ABS12,
199 : ARM_THM_ABS5,
200 : ARM_ABS8,
201 : ARM_SBREL32,
202 : ARM_THM_CALL,
203 : ARM_THM_PC8,
204 : ARM_BREL_ADJ,
205 : ARM_TLS_DESC,
206 : ARM_THM_SWI8,
207 : ARM_XPC25,
208 : ARM_THM_XPC22,
209 : ARM_TLS_DTPMOD32,
210 : ARM_TLS_DTPOFF32,
211 : ARM_TLS_TPOFF32,
212 : ARM_COPY,
213 : ARM_GLOB_DAT,
214 : ARM_JUMP_SLOT,
215 : ARM_RELATIVE,
216 : ARM_GOTOFF32,
217 : ARM_BASE_PREL,
218 : ARM_GOT_BREL,
219 : ARM_PLT32,
220 : ARM_CALL,
221 : ARM_JUMP24,
222 : ARM_THM_JUMP24,
223 : ARM_BASE_ABS,
224 : ARM_ALU_PCREL_7_0,
225 : ARM_ALU_PCREL_15_8,
226 : ARM_ALU_PCREL_23_15,
227 : ARM_LDR_SBREL_11_0_NC,
228 : ARM_ALU_SBREL_19_12_NC,
229 : ARM_ALU_SBREL_27_20_CK,
230 : ARM_TARGET1,
231 : ARM_SBREL31,
232 : ARM_V4BX,
233 : ARM_TARGET2,
234 : ARM_PREL31,
235 : ARM_MOVW_ABS_NC,
236 : ARM_MOVT_ABS,
237 : ARM_MOVW_PREL_NC,
238 : ARM_MOVT_PREL,
239 : ARM_THM_MOVW_ABS_NC,
240 : ARM_THM_MOVT_ABS,
241 : ARM_THM_MOVW_PREL_NC,
242 : ARM_THM_MOVT_PREL,
243 : ARM_THM_JUMP19,
244 : ARM_THM_JUMP6,
245 : ARM_THM_ALU_PREL_11_0,
246 : ARM_THM_PC12,
247 : ARM_ABS32_NOI,
248 : ARM_REL32_NOI,
249 : ARM_ALU_PC_G0_NC,
250 : ARM_ALU_PC_G0,
251 : ARM_ALU_PC_G1_NC,
252 : ARM_ALU_PC_G1,
253 : ARM_ALU_PC_G2,
254 : ARM_LDR_PC_G1,
255 : ARM_LDR_PC_G2,
256 : ARM_LDRS_PC_G0,
257 : ARM_LDRS_PC_G1,
258 : ARM_LDRS_PC_G2,
259 : ARM_LDC_PC_G0,
260 : ARM_LDC_PC_G1,
261 : ARM_LDC_PC_G2,
262 : ARM_ALU_SB_G0_NC,
263 : ARM_ALU_SB_G0,
264 : ARM_ALU_SB_G1_NC,
265 : ARM_ALU_SB_G1,
266 : ARM_ALU_SB_G2,
267 : ARM_LDR_SB_G0,
268 : ARM_LDR_SB_G1,
269 : ARM_LDR_SB_G2,
270 : ARM_LDRS_SB_G0,
271 : ARM_LDRS_SB_G1,
272 : ARM_LDRS_SB_G2,
273 : ARM_LDC_SB_G0,
274 : ARM_LDC_SB_G1,
275 : ARM_LDC_SB_G2,
276 : ARM_MOVW_BREL_NC,
277 : ARM_MOVT_BREL,
278 : ARM_MOVW_BREL,
279 : ARM_THM_MOVW_BREL_NC,
280 : ARM_THM_MOVT_BREL,
281 : ARM_THM_MOVW_BREL,
282 : ARM_TLS_GOTDESC,
283 : ARM_TLS_CALL,
284 : ARM_TLS_DESCSEQ,
285 : ARM_THM_TLS_CALL,
286 : ARM_PLT32_ABS,
287 : ARM_GOT_ABS,
288 : ARM_GOT_PREL,
289 : ARM_GOT_BREL12,
290 : ARM_GOTOFF12,
291 : ARM_GOTRELAX,
292 : ARM_GNU_VTENTRY,
293 : ARM_GNU_VTINHERIT,
294 : ARM_THM_JUMP11,
295 : ARM_THM_JUMP8,
296 : ARM_TLS_GD32,
297 : ARM_TLS_LDM32,
298 : ARM_TLS_LDO32,
299 : ARM_TLS_IE32,
300 : ARM_TLS_LE32,
301 : ARM_TLS_LDO12,
302 : ARM_TLS_LE12,
303 : ARM_TLS_IE12GP,
304 : ARM_PRIVATE_0,
305 : ARM_PRIVATE_1,
306 : ARM_PRIVATE_2,
307 : ARM_PRIVATE_3,
308 : ARM_PRIVATE_4,
309 : ARM_PRIVATE_5,
310 : ARM_PRIVATE_6,
311 : ARM_PRIVATE_7,
312 : ARM_PRIVATE_8,
313 : ARM_PRIVATE_9,
314 : ARM_PRIVATE_10,
315 : ARM_PRIVATE_11,
316 : ARM_PRIVATE_12,
317 : ARM_PRIVATE_13,
318 : ARM_PRIVATE_14,
319 : ARM_PRIVATE_15,
320 : ARM_ME_TOO,
321 : ARM_THM_TLS_DESCSEQ16,
322 : ARM_THM_TLS_DESCSEQ32,
323 : ARM_IRELATIVE,
324 : ARM_RXPC25,
325 : ARM_RSBREL32,
326 : ARM_THM_RPC22,
327 : ARM_RREL32,
328 : ARM_RPC24,
329 : ARM_RBASE,
330 : HEX_NONE,
331 : HEX_B22_PCREL,
332 : HEX_B15_PCREL,
333 : HEX_B7_PCREL,
334 : HEX_LO16,
335 : HEX_HI16,
336 : HEX_32,
337 : HEX_16,
338 : HEX_8,
339 : HEX_GPREL16_0,
340 : HEX_GPREL16_1,
341 : HEX_GPREL16_2,
342 : HEX_GPREL16_3,
343 : HEX_HL16,
344 : HEX_B13_PCREL,
345 : HEX_B9_PCREL,
346 : HEX_B32_PCREL_X,
347 : HEX_32_6_X,
348 : HEX_B22_PCREL_X,
349 : HEX_B15_PCREL_X,
350 : HEX_B13_PCREL_X,
351 : HEX_B9_PCREL_X,
352 : HEX_B7_PCREL_X,
353 : HEX_16_X,
354 : HEX_12_X,
355 : HEX_11_X,
356 : HEX_10_X,
357 : HEX_9_X,
358 : HEX_8_X,
359 : HEX_7_X,
360 : HEX_6_X,
361 : HEX_32_PCREL,
362 : HEX_COPY,
363 : HEX_GLOB_DAT,
364 : HEX_JMP_SLOT,
365 : HEX_RELATIVE,
366 : HEX_PLT_B22_PCREL,
367 : HEX_GOTREL_LO16,
368 : HEX_GOTREL_HI16,
369 : HEX_GOTREL_32,
370 : HEX_GOT_LO16,
371 : HEX_GOT_HI16,
372 : HEX_GOT_32,
373 : HEX_GOT_16,
374 : HEX_DTPMOD_32,
375 : HEX_DTPREL_LO16,
376 : HEX_DTPREL_HI16,
377 : HEX_DTPREL_32,
378 : HEX_DTPREL_16,
379 : HEX_GD_PLT_B22_PCREL,
380 : HEX_GD_GOT_LO16,
381 : HEX_GD_GOT_HI16,
382 : HEX_GD_GOT_32,
383 : HEX_GD_GOT_16,
384 : HEX_IE_LO16,
385 : HEX_IE_HI16,
386 : HEX_IE_32,
387 : HEX_IE_GOT_LO16,
388 : HEX_IE_GOT_HI16,
389 : HEX_IE_GOT_32,
390 : HEX_IE_GOT_16,
391 : HEX_TPREL_LO16,
392 : HEX_TPREL_HI16,
393 : HEX_TPREL_32,
394 : HEX_TPREL_16,
395 : HEX_6_PCREL_X,
396 : HEX_GOTREL_32_6_X,
397 : HEX_GOTREL_16_X,
398 : HEX_GOTREL_11_X,
399 : HEX_GOT_32_6_X,
400 : HEX_GOT_16_X,
401 : HEX_GOT_11_X,
402 : HEX_DTPREL_32_6_X,
403 : HEX_DTPREL_16_X,
404 : HEX_DTPREL_11_X,
405 : HEX_GD_GOT_32_6_X,
406 : HEX_GD_GOT_16_X,
407 : HEX_GD_GOT_11_X,
408 : HEX_IE_32_6_X,
409 : HEX_IE_16_X,
410 : HEX_IE_GOT_32_6_X,
411 : HEX_IE_GOT_16_X,
412 : HEX_IE_GOT_11_X,
413 : HEX_TPREL_32_6_X,
414 : HEX_TPREL_16_X,
415 : HEX_TPREL_11_X,
416 : HEX_LD_PLT_B22_PCREL,
417 : HEX_LD_GOT_LO16,
418 : HEX_LD_GOT_HI16,
419 : HEX_LD_GOT_32,
420 : HEX_LD_GOT_16,
421 : HEX_LD_GOT_32_6_X,
422 : HEX_LD_GOT_16_X,
423 : HEX_LD_GOT_11_X,
424 : X86_NONE,
425 : X86_32,
426 : X86_PC32,
427 : X86_GOT32,
428 : X86_PLT32,
429 : X86_COPY,
430 : X86_GLOB_DAT,
431 : X86_JUMP_SLOT,
432 : X86_RELATIVE,
433 : X86_GOTOFF,
434 : X86_GOTPC,
435 : X86_32PLT,
436 : X86_TLS_TPOFF,
437 : X86_TLS_IE,
438 : X86_TLS_GOTIE,
439 : X86_TLS_LE,
440 : X86_TLS_GD,
441 : X86_TLS_LDM,
442 : X86_16,
443 : X86_PC16,
444 : X86_8,
445 : X86_PC8,
446 : X86_TLS_GD_32,
447 : X86_TLS_GD_PUSH,
448 : X86_TLS_GD_CALL,
449 : X86_TLS_GD_POP,
450 : X86_TLS_LDM_32,
451 : X86_TLS_LDM_PUSH,
452 : X86_TLS_LDM_CALL,
453 : X86_TLS_LDM_POP,
454 : X86_TLS_LDO_32,
455 : X86_TLS_IE_32,
456 : X86_TLS_LE_32,
457 : X86_TLS_DTPMOD32,
458 : X86_TLS_DTPOFF32,
459 : X86_TLS_TPOFF32,
460 : X86_TLS_GOTDESC,
461 : X86_TLS_DESC_CALL,
462 : X86_TLS_DESC,
463 : X86_IRELATIVE,
464 : LARCH_NONE,
465 : LARCH_32,
466 : LARCH_64,
467 : LARCH_RELATIVE,
468 : LARCH_COPY,
469 : LARCH_JUMP_SLOT,
470 : LARCH_TLS_DTPMOD32,
471 : LARCH_TLS_DTPMOD64,
472 : LARCH_TLS_DTPREL32,
473 : LARCH_TLS_DTPREL64,
474 : LARCH_TLS_TPREL32,
475 : LARCH_TLS_TPREL64,
476 : LARCH_IRELATIVE,
477 : LARCH_MARK_LA,
478 : LARCH_MARK_PCREL,
479 : LARCH_SOP_PUSH_PCREL,
480 : LARCH_SOP_PUSH_ABSOLUTE,
481 : LARCH_SOP_PUSH_DUP,
482 : LARCH_SOP_PUSH_GPREL,
483 : LARCH_SOP_PUSH_TLS_TPREL,
484 : LARCH_SOP_PUSH_TLS_GOT,
485 : LARCH_SOP_PUSH_TLS_GD,
486 : LARCH_SOP_PUSH_PLT_PCREL,
487 : LARCH_SOP_ASSERT,
488 : LARCH_SOP_NOT,
489 : LARCH_SOP_SUB,
490 : LARCH_SOP_SL,
491 : LARCH_SOP_SR,
492 : LARCH_SOP_ADD,
493 : LARCH_SOP_AND,
494 : LARCH_SOP_IF_ELSE,
495 : LARCH_SOP_POP_32_S_10_5,
496 : LARCH_SOP_POP_32_U_10_12,
497 : LARCH_SOP_POP_32_S_10_12,
498 : LARCH_SOP_POP_32_S_10_16,
499 : LARCH_SOP_POP_32_S_10_16_S2,
500 : LARCH_SOP_POP_32_S_5_20,
501 : LARCH_SOP_POP_32_S_0_5_10_16_S2,
502 : LARCH_SOP_POP_32_S_0_10_10_16_S2,
503 : LARCH_SOP_POP_32_U,
504 : LARCH_ADD8,
505 : LARCH_ADD16,
506 : LARCH_ADD24,
507 : LARCH_ADD32,
508 : LARCH_ADD64,
509 : LARCH_SUB8,
510 : LARCH_SUB16,
511 : LARCH_SUB24,
512 : LARCH_SUB32,
513 : LARCH_SUB64,
514 : LARCH_GNU_VTINHERIT,
515 : LARCH_GNU_VTENTRY,
516 : LARCH_B16,
517 : LARCH_B21,
518 : LARCH_B26,
519 : LARCH_ABS_HI20,
520 : LARCH_ABS_LO12,
521 : LARCH_ABS64_LO20,
522 : LARCH_ABS64_HI12,
523 : LARCH_PCALA_HI20,
524 : LARCH_PCALA_LO12,
525 : LARCH_PCALA64_LO20,
526 : LARCH_PCALA64_HI12,
527 : LARCH_GOT_PC_HI20,
528 : LARCH_GOT_PC_LO12,
529 : LARCH_GOT64_PC_LO20,
530 : LARCH_GOT64_PC_HI12,
531 : LARCH_GOT_HI20,
532 : LARCH_GOT_LO12,
533 : LARCH_GOT64_LO20,
534 : LARCH_GOT64_HI12,
535 : LARCH_TLS_LE_HI20,
536 : LARCH_TLS_LE_LO12,
537 : LARCH_TLS_LE64_LO20,
538 : LARCH_TLS_LE64_HI12,
539 : LARCH_TLS_IE_PC_HI20,
540 : LARCH_TLS_IE_PC_LO12,
541 : LARCH_TLS_IE64_PC_LO20,
542 : LARCH_TLS_IE64_PC_HI12,
543 : LARCH_TLS_IE_HI20,
544 : LARCH_TLS_IE_LO12,
545 : LARCH_TLS_IE64_LO20,
546 : LARCH_TLS_IE64_HI12,
547 : LARCH_TLS_LD_PC_HI20,
548 : LARCH_TLS_LD_HI20,
549 : LARCH_TLS_GD_PC_HI20,
550 : LARCH_TLS_GD_HI20,
551 : LARCH_32_PCREL,
552 : LARCH_RELAX,
553 : LARCH_ALIGN,
554 : LARCH_PCREL20_S2,
555 : LARCH_ADD6,
556 : LARCH_SUB6,
557 : LARCH_ADD_ULEB128,
558 : LARCH_SUB_ULEB128,
559 : LARCH_64_PCREL,
560 : LARCH_CALL36,
561 : LARCH_TLS_DESC32,
562 : LARCH_TLS_DESC64,
563 : LARCH_TLS_DESC_PC_HI20,
564 : LARCH_TLS_DESC_PC_LO12,
565 : LARCH_TLS_DESC64_PC_LO20,
566 : LARCH_TLS_DESC64_PC_HI12,
567 : LARCH_TLS_DESC_HI20,
568 : LARCH_TLS_DESC_LO12,
569 : LARCH_TLS_DESC64_LO20,
570 : LARCH_TLS_DESC64_HI12,
571 : LARCH_TLS_DESC_LD,
572 : LARCH_TLS_DESC_CALL,
573 : LARCH_TLS_LE_HI20_R,
574 : LARCH_TLS_LE_ADD_R,
575 : LARCH_TLS_LE_LO12_R,
576 : LARCH_TLS_LD_PCREL20_S2,
577 : LARCH_TLS_GD_PCREL20_S2,
578 : LARCH_TLS_DESC_PCREL20_S2,
579 : MIPS_NONE,
580 : MIPS_16,
581 : MIPS_32,
582 : MIPS_REL32,
583 : MIPS_26,
584 : MIPS_HI16,
585 : MIPS_LO16,
586 : MIPS_GPREL16,
587 : MIPS_LITERAL,
588 : MIPS_GOT16,
589 : MIPS_PC16,
590 : MIPS_CALL16,
591 : MIPS_GPREL32,
592 : MIPS_UNUSED1,
593 : MIPS_UNUSED2,
594 : MIPS_UNUSED3,
595 : MIPS_SHIFT5,
596 : MIPS_SHIFT6,
597 : MIPS_64,
598 : MIPS_GOT_DISP,
599 : MIPS_GOT_PAGE,
600 : MIPS_GOT_OFST,
601 : MIPS_GOT_HI16,
602 : MIPS_GOT_LO16,
603 : MIPS_SUB,
604 : MIPS_INSERT_A,
605 : MIPS_INSERT_B,
606 : MIPS_DELETE,
607 : MIPS_HIGHER,
608 : MIPS_HIGHEST,
609 : MIPS_CALL_HI16,
610 : MIPS_CALL_LO16,
611 : MIPS_SCN_DISP,
612 : MIPS_REL16,
613 : MIPS_ADD_IMMEDIATE,
614 : MIPS_PJUMP,
615 : MIPS_RELGOT,
616 : MIPS_JALR,
617 : MIPS_TLS_DTPMOD32,
618 : MIPS_TLS_DTPREL32,
619 : MIPS_TLS_DTPMOD64,
620 : MIPS_TLS_DTPREL64,
621 : MIPS_TLS_GD,
622 : MIPS_TLS_LDM,
623 : MIPS_TLS_DTPREL_HI16,
624 : MIPS_TLS_DTPREL_LO16,
625 : MIPS_TLS_GOTTPREL,
626 : MIPS_TLS_TPREL32,
627 : MIPS_TLS_TPREL64,
628 : MIPS_TLS_TPREL_HI16,
629 : MIPS_TLS_TPREL_LO16,
630 : MIPS_GLOB_DAT,
631 : MIPS_PC21_S2,
632 : MIPS_PC26_S2,
633 : MIPS_PC18_S3,
634 : MIPS_PC19_S2,
635 : MIPS_PCHI16,
636 : MIPS_PCLO16,
637 : MIPS16_26,
638 : MIPS16_GPREL,
639 : MIPS16_GOT16,
640 : MIPS16_CALL16,
641 : MIPS16_HI16,
642 : MIPS16_LO16,
643 : MIPS16_TLS_GD,
644 : MIPS16_TLS_LDM,
645 : MIPS16_TLS_DTPREL_HI16,
646 : MIPS16_TLS_DTPREL_LO16,
647 : MIPS16_TLS_GOTTPREL,
648 : MIPS16_TLS_TPREL_HI16,
649 : MIPS16_TLS_TPREL_LO16,
650 : MIPS_COPY,
651 : MIPS_JUMP_SLOT,
652 : MICROMIPS_26_S1,
653 : MICROMIPS_HI16,
654 : MICROMIPS_LO16,
655 : MICROMIPS_GPREL16,
656 : MICROMIPS_LITERAL,
657 : MICROMIPS_GOT16,
658 : MICROMIPS_PC7_S1,
659 : MICROMIPS_PC10_S1,
660 : MICROMIPS_PC16_S1,
661 : MICROMIPS_CALL16,
662 : MICROMIPS_GOT_DISP,
663 : MICROMIPS_GOT_PAGE,
664 : MICROMIPS_GOT_OFST,
665 : MICROMIPS_GOT_HI16,
666 : MICROMIPS_GOT_LO16,
667 : MICROMIPS_SUB,
668 : MICROMIPS_HIGHER,
669 : MICROMIPS_HIGHEST,
670 : MICROMIPS_CALL_HI16,
671 : MICROMIPS_CALL_LO16,
672 : MICROMIPS_SCN_DISP,
673 : MICROMIPS_JALR,
674 : MICROMIPS_HI0_LO16,
675 : MICROMIPS_TLS_GD,
676 : MICROMIPS_TLS_LDM,
677 : MICROMIPS_TLS_DTPREL_HI16,
678 : MICROMIPS_TLS_DTPREL_LO16,
679 : MICROMIPS_TLS_GOTTPREL,
680 : MICROMIPS_TLS_TPREL_HI16,
681 : MICROMIPS_TLS_TPREL_LO16,
682 : MICROMIPS_GPREL7_S2,
683 : MICROMIPS_PC23_S2,
684 : MICROMIPS_PC21_S2,
685 : MICROMIPS_PC26_S2,
686 : MICROMIPS_PC18_S3,
687 : MICROMIPS_PC19_S2,
688 : MIPS_NUM,
689 : MIPS_PC32,
690 : MIPS_EH,
691 : PPC_NONE,
692 : PPC_ADDR32,
693 : PPC_ADDR24,
694 : PPC_ADDR16,
695 : PPC_ADDR16_LO,
696 : PPC_ADDR16_HI,
697 : PPC_ADDR16_HA,
698 : PPC_ADDR14,
699 : PPC_ADDR14_BRTAKEN,
700 : PPC_ADDR14_BRNTAKEN,
701 : PPC_REL24,
702 : PPC_REL14,
703 : PPC_REL14_BRTAKEN,
704 : PPC_REL14_BRNTAKEN,
705 : PPC_GOT16,
706 : PPC_GOT16_LO,
707 : PPC_GOT16_HI,
708 : PPC_GOT16_HA,
709 : PPC_PLTREL24,
710 : PPC_JMP_SLOT,
711 : PPC_RELATIVE,
712 : PPC_LOCAL24PC,
713 : PPC_REL32,
714 : PPC_TLS,
715 : PPC_DTPMOD32,
716 : PPC_TPREL16,
717 : PPC_TPREL16_LO,
718 : PPC_TPREL16_HI,
719 : PPC_TPREL16_HA,
720 : PPC_TPREL32,
721 : PPC_DTPREL16,
722 : PPC_DTPREL16_LO,
723 : PPC_DTPREL16_HI,
724 : PPC_DTPREL16_HA,
725 : PPC_DTPREL32,
726 : PPC_GOT_TLSGD16,
727 : PPC_GOT_TLSGD16_LO,
728 : PPC_GOT_TLSGD16_HI,
729 : PPC_GOT_TLSGD16_HA,
730 : PPC_GOT_TLSLD16,
731 : PPC_GOT_TLSLD16_LO,
732 : PPC_GOT_TLSLD16_HI,
733 : PPC_GOT_TLSLD16_HA,
734 : PPC_GOT_TPREL16,
735 : PPC_GOT_TPREL16_LO,
736 : PPC_GOT_TPREL16_HI,
737 : PPC_GOT_TPREL16_HA,
738 : PPC_GOT_DTPREL16,
739 : PPC_GOT_DTPREL16_LO,
740 : PPC_GOT_DTPREL16_HI,
741 : PPC_GOT_DTPREL16_HA,
742 : PPC_TLSGD,
743 : PPC_TLSLD,
744 : PPC_REL16,
745 : PPC_REL16_LO,
746 : PPC_REL16_HI,
747 : PPC_REL16_HA,
748 : PPC64_NONE,
749 : PPC64_ADDR32,
750 : PPC64_ADDR24,
751 : PPC64_ADDR16,
752 : PPC64_ADDR16_LO,
753 : PPC64_ADDR16_HI,
754 : PPC64_ADDR16_HA,
755 : PPC64_ADDR14,
756 : PPC64_ADDR14_BRTAKEN,
757 : PPC64_ADDR14_BRNTAKEN,
758 : PPC64_REL24,
759 : PPC64_REL14,
760 : PPC64_REL14_BRTAKEN,
761 : PPC64_REL14_BRNTAKEN,
762 : PPC64_GOT16,
763 : PPC64_GOT16_LO,
764 : PPC64_GOT16_HI,
765 : PPC64_GOT16_HA,
766 : PPC64_JMP_SLOT,
767 : PPC64_RELATIVE,
768 : PPC64_REL32,
769 : PPC64_ADDR64,
770 : PPC64_ADDR16_HIGHER,
771 : PPC64_ADDR16_HIGHERA,
772 : PPC64_ADDR16_HIGHEST,
773 : PPC64_ADDR16_HIGHESTA,
774 : PPC64_REL64,
775 : PPC64_TOC16,
776 : PPC64_TOC16_LO,
777 : PPC64_TOC16_HI,
778 : PPC64_TOC16_HA,
779 : PPC64_TOC,
780 : PPC64_ADDR16_DS,
781 : PPC64_ADDR16_LO_DS,
782 : PPC64_GOT16_DS,
783 : PPC64_GOT16_LO_DS,
784 : PPC64_TOC16_DS,
785 : PPC64_TOC16_LO_DS,
786 : PPC64_TLS,
787 : PPC64_DTPMOD64,
788 : PPC64_TPREL16,
789 : PPC64_TPREL16_LO,
790 : PPC64_TPREL16_HI,
791 : PPC64_TPREL16_HA,
792 : PPC64_TPREL64,
793 : PPC64_DTPREL16,
794 : PPC64_DTPREL16_LO,
795 : PPC64_DTPREL16_HI,
796 : PPC64_DTPREL16_HA,
797 : PPC64_DTPREL64,
798 : PPC64_GOT_TLSGD16,
799 : PPC64_GOT_TLSGD16_LO,
800 : PPC64_GOT_TLSGD16_HI,
801 : PPC64_GOT_TLSGD16_HA,
802 : PPC64_GOT_TLSLD16,
803 : PPC64_GOT_TLSLD16_LO,
804 : PPC64_GOT_TLSLD16_HI,
805 : PPC64_GOT_TLSLD16_HA,
806 : PPC64_GOT_TPREL16_DS,
807 : PPC64_GOT_TPREL16_LO_DS,
808 : PPC64_GOT_TPREL16_HI,
809 : PPC64_GOT_TPREL16_HA,
810 : PPC64_GOT_DTPREL16_DS,
811 : PPC64_GOT_DTPREL16_LO_DS,
812 : PPC64_GOT_DTPREL16_HI,
813 : PPC64_GOT_DTPREL16_HA,
814 : PPC64_TPREL16_DS,
815 : PPC64_TPREL16_LO_DS,
816 : PPC64_TPREL16_HIGHER,
817 : PPC64_TPREL16_HIGHERA,
818 : PPC64_TPREL16_HIGHEST,
819 : PPC64_TPREL16_HIGHESTA,
820 : PPC64_DTPREL16_DS,
821 : PPC64_DTPREL16_LO_DS,
822 : PPC64_DTPREL16_HIGHER,
823 : PPC64_DTPREL16_HIGHERA,
824 : PPC64_DTPREL16_HIGHEST,
825 : PPC64_DTPREL16_HIGHESTA,
826 : PPC64_TLSGD,
827 : PPC64_TLSLD,
828 : PPC64_REL16,
829 : PPC64_REL16_LO,
830 : PPC64_REL16_HI,
831 : PPC64_REL16_HA,
832 : SPARC_NONE,
833 : SPARC_8,
834 : SPARC_16,
835 : SPARC_32,
836 : SPARC_DISP8,
837 : SPARC_DISP16,
838 : SPARC_DISP32,
839 : SPARC_WDISP30,
840 : SPARC_WDISP22,
841 : SPARC_HI22,
842 : SPARC_22,
843 : SPARC_13,
844 : SPARC_LO10,
845 : SPARC_GOT10,
846 : SPARC_GOT13,
847 : SPARC_GOT22,
848 : SPARC_PC10,
849 : SPARC_PC22,
850 : SPARC_WPLT30,
851 : SPARC_COPY,
852 : SPARC_GLOB_DAT,
853 : SPARC_JMP_SLOT,
854 : SPARC_RELATIVE,
855 : SPARC_UA32,
856 : SPARC_PLT32,
857 : SPARC_HIPLT22,
858 : SPARC_LOPLT10,
859 : SPARC_PCPLT32,
860 : SPARC_PCPLT22,
861 : SPARC_PCPLT10,
862 : SPARC_10,
863 : SPARC_11,
864 : SPARC_64,
865 : SPARC_OLO10,
866 : SPARC_HH22,
867 : SPARC_HM10,
868 : SPARC_LM22,
869 : SPARC_PC_HH22,
870 : SPARC_PC_HM10,
871 : SPARC_PC_LM22,
872 : SPARC_WDISP16,
873 : SPARC_WDISP19,
874 : SPARC_7,
875 : SPARC_5,
876 : SPARC_6,
877 : SPARC_DISP64,
878 : SPARC_PLT64,
879 : SPARC_HIX22,
880 : SPARC_LOX10,
881 : SPARC_H44,
882 : SPARC_M44,
883 : SPARC_L44,
884 : SPARC_REGISTER,
885 : SPARC_UA64,
886 : SPARC_UA16,
887 : SPARC_TLS_GD_HI22,
888 : SPARC_TLS_GD_LO10,
889 : SPARC_TLS_GD_ADD,
890 : SPARC_TLS_GD_CALL,
891 : SPARC_TLS_LDM_HI22,
892 : SPARC_TLS_LDM_LO10,
893 : SPARC_TLS_LDM_ADD,
894 : SPARC_TLS_LDM_CALL,
895 : SPARC_TLS_LDO_HIX22,
896 : SPARC_TLS_LDO_LOX10,
897 : SPARC_TLS_LDO_ADD,
898 : SPARC_TLS_IE_HI22,
899 : SPARC_TLS_IE_LO10,
900 : SPARC_TLS_IE_LD,
901 : SPARC_TLS_IE_LDX,
902 : SPARC_TLS_IE_ADD,
903 : SPARC_TLS_LE_HIX22,
904 : SPARC_TLS_LE_LOX10,
905 : SPARC_TLS_DTPMOD32,
906 : SPARC_TLS_DTPMOD64,
907 : SPARC_TLS_DTPOFF32,
908 : SPARC_TLS_DTPOFF64,
909 : SPARC_TLS_TPOFF32,
910 : SPARC_TLS_TPOFF64,
911 : SPARC_GOTDATA_HIX22,
912 : SPARC_GOTDATA_LOX10,
913 : SPARC_GOTDATA_OP_HIX22,
914 : SPARC_GOTDATA_OP_LOX10,
915 : SPARC_GOTDATA_OP,
916 : SYSZ_NONE,
917 : SYSZ_8,
918 : SYSZ_12,
919 : SYSZ_16,
920 : SYSZ_32,
921 : SYSZ_PC32,
922 : SYSZ_GOT12,
923 : SYSZ_GOT32,
924 : SYSZ_PLT32,
925 : SYSZ_COPY,
926 : SYSZ_GLOB_DAT,
927 : SYSZ_JMP_SLOT,
928 : SYSZ_RELATIVE,
929 : SYSZ_GOTOFF,
930 : SYSZ_GOTPC,
931 : SYSZ_GOT16,
932 : SYSZ_PC16,
933 : SYSZ_PC16DBL,
934 : SYSZ_PLT16DBL,
935 : SYSZ_PC32DBL,
936 : SYSZ_PLT32DBL,
937 : SYSZ_GOTPCDBL,
938 : SYSZ_64,
939 : SYSZ_PC64,
940 : SYSZ_GOT64,
941 : SYSZ_PLT64,
942 : SYSZ_GOTENT,
943 : SYSZ_GOTOFF16,
944 : SYSZ_GOTOFF64,
945 : SYSZ_GOTPLT12,
946 : SYSZ_GOTPLT16,
947 : SYSZ_GOTPLT32,
948 : SYSZ_GOTPLT64,
949 : SYSZ_GOTPLTENT,
950 : SYSZ_PLTOFF16,
951 : SYSZ_PLTOFF32,
952 : SYSZ_PLTOFF64,
953 : SYSZ_TLS_LOAD,
954 : SYSZ_TLS_GDCALL,
955 : SYSZ_TLS_LDCALL,
956 : SYSZ_TLS_GD32,
957 : SYSZ_TLS_GD64,
958 : SYSZ_TLS_GOTIE12,
959 : SYSZ_TLS_GOTIE32,
960 : SYSZ_TLS_GOTIE64,
961 : SYSZ_TLS_LDM32,
962 : SYSZ_TLS_LDM64,
963 : SYSZ_TLS_IE32,
964 : SYSZ_TLS_IE64,
965 : SYSZ_TLS_IEENT,
966 : SYSZ_TLS_LE32,
967 : SYSZ_TLS_LE64,
968 : SYSZ_TLS_LDO32,
969 : SYSZ_TLS_LDO64,
970 : SYSZ_TLS_DTPMOD,
971 : SYSZ_TLS_DTPOFF,
972 : SYSZ_TLS_TPOFF,
973 : SYSZ_20,
974 : SYSZ_GOT20,
975 : SYSZ_GOTPLT20,
976 : SYSZ_TLS_GOTIE20,
977 : SYSZ_IRELATIVE,
978 : SYSZ_PC12DBL,
979 : SYSZ_PLT12DBL,
980 : SYSZ_PC24DBL,
981 : SYSZ_PLT24DBL,
982 : RISCV_NONE,
983 : RISCV_32,
984 : RISCV_64,
985 : RISCV_RELATIVE,
986 : RISCV_COPY,
987 : RISCV_JUMP_SLOT,
988 : RISCV_TLS_DTPMOD32,
989 : RISCV_TLS_DTPMOD64,
990 : RISCV_TLS_DTPREL32,
991 : RISCV_TLS_DTPREL64,
992 : RISCV_TLS_TPREL32,
993 : RISCV_TLS_TPREL64,
994 : RISCV_TLSDESC,
995 : RISCV_BRANCH,
996 : RISCV_JAL,
997 : RISCV_CALL,
998 : RISCV_CALL_PLT,
999 : RISCV_GOT_HI20,
1000 : RISCV_TLS_GOT_HI20,
1001 : RISCV_TLS_GD_HI20,
1002 : RISCV_PCREL_HI20,
1003 : RISCV_PCREL_LO12_I,
1004 : RISCV_PCREL_LO12_S,
1005 : RISCV_HI20,
1006 : RISCV_LO12_I,
1007 : RISCV_LO12_S,
1008 : RISCV_TPREL_HI20,
1009 : RISCV_TPREL_LO12_I,
1010 : RISCV_TPREL_LO12_S,
1011 : RISCV_TPREL_ADD,
1012 : RISCV_ADD8,
1013 : RISCV_ADD16,
1014 : RISCV_ADD32,
1015 : RISCV_ADD64,
1016 : RISCV_SUB8,
1017 : RISCV_SUB16,
1018 : RISCV_SUB32,
1019 : RISCV_SUB64,
1020 : RISCV_GOT32_PCREL,
1021 : RISCV_ALIGN,
1022 : RISCV_RVC_BRANCH,
1023 : RISCV_RVC_JUMP,
1024 : RISCV_RVC_LUI,
1025 : RISCV_RELAX,
1026 : RISCV_SUB6,
1027 : RISCV_SET6,
1028 : RISCV_SET8,
1029 : RISCV_SET16,
1030 : RISCV_SET32,
1031 : RISCV_32_PCREL,
1032 : RISCV_IRELATIVE,
1033 : RISCV_PLT32,
1034 : RISCV_SET_ULEB128,
1035 : RISCV_SUB_ULEB128,
1036 : RISCV_TLSDESC_HI20,
1037 : RISCV_TLSDESC_LOAD_LO12,
1038 : RISCV_TLSDESC_ADD_LO12,
1039 : RISCV_TLSDESC_CALL,
1040 : BPF_NONE,
1041 : BPF_64_64,
1042 : BPF_64_ABS64,
1043 : BPF_64_ABS32,
1044 : BPF_64_NODYLD32,
1045 : BPF_64_32,
1046 : SH_NONE,
1047 : SH_DIR32,
1048 : SH_REL32,
1049 : SH_DIR8WPN,
1050 : SH_IND12W,
1051 : SH_DIR8WPL,
1052 : SH_DIR8WPZ,
1053 : SH_DIR8BP,
1054 : SH_DIR8W,
1055 : SH_DIR8L,
1056 : SH_LOOP_START,
1057 : SH_LOOP_END,
1058 : SH_GNU_VTINHERIT,
1059 : SH_GNU_VTENTRY,
1060 : SH_SWITCH8,
1061 : SH_SWITCH16,
1062 : SH_SWITCH32,
1063 : SH_USES,
1064 : SH_COUNT,
1065 : SH_ALIGN,
1066 : SH_CODE,
1067 : SH_DATA,
1068 : SH_LABEL,
1069 : SH_DIR16,
1070 : SH_DIR8,
1071 : SH_DIR8UL,
1072 : SH_DIR8UW,
1073 : SH_DIR8U,
1074 : SH_DIR8SW,
1075 : SH_DIR8S,
1076 : SH_DIR4UL,
1077 : SH_DIR4UW,
1078 : SH_DIR4U,
1079 : SH_PSHA,
1080 : SH_PSHL,
1081 : SH_DIR5U,
1082 : SH_DIR6U,
1083 : SH_DIR6S,
1084 : SH_DIR10S,
1085 : SH_DIR10SW,
1086 : SH_DIR10SL,
1087 : SH_DIR10SQ,
1088 : SH_DIR16S,
1089 : SH_TLS_GD_32,
1090 : SH_TLS_LD_32,
1091 : SH_TLS_LDO_32,
1092 : SH_TLS_IE_32,
1093 : SH_TLS_LE_32,
1094 : SH_TLS_DTPMOD32,
1095 : SH_TLS_DTPOFF32,
1096 : SH_TLS_TPOFF32,
1097 : SH_GOT32,
1098 : SH_PLT32,
1099 : SH_COPY,
1100 : SH_GLOB_DAT,
1101 : SH_JMP_SLOT,
1102 : SH_RELATIVE,
1103 : SH_GOTOFF,
1104 : SH_GOTPC,
1105 : SH_GOTPLT32,
1106 : SH_GOT_LOW16,
1107 : SH_GOT_MEDLOW16,
1108 : SH_GOT_MEDHI16,
1109 : SH_GOT_HI16,
1110 : SH_GOTPLT_LOW16,
1111 : SH_GOTPLT_MEDLOW16,
1112 : SH_GOTPLT_MEDHI16,
1113 : SH_GOTPLT_HI16,
1114 : SH_PLT_LOW16,
1115 : SH_PLT_MEDLOW16,
1116 : SH_PLT_MEDHI16,
1117 : SH_PLT_HI16,
1118 : SH_GOTOFF_LOW16,
1119 : SH_GOTOFF_MEDLOW16,
1120 : SH_GOTOFF_MEDHI16,
1121 : SH_GOTOFF_HI16,
1122 : SH_GOTPC_LOW16,
1123 : SH_GOTPC_MEDLOW16,
1124 : SH_GOTPC_MEDHI16,
1125 : SH_GOTPC_HI16,
1126 : SH_GOT10BY4,
1127 : SH_GOTPLT10BY4,
1128 : SH_GOT10BY8,
1129 : SH_GOTPLT10BY8,
1130 : SH_COPY64,
1131 : SH_GLOB_DAT64,
1132 : SH_JMP_SLOT64,
1133 : SH_RELATIVE64,
1134 : SH_GOT20,
1135 : SH_GOTOFF20,
1136 : SH_GOTFUNCDESC,
1137 : SH_GOTFUNCDESC20,
1138 : SH_GOTOFFFUNCDESC,
1139 : SH_GOTOFFFUNCDESC20,
1140 : SH_FUNCDESC,
1141 : SH_FUNCDESC_VALUE,
1142 : SH_SHMEDIA_CODE,
1143 : SH_PT_16,
1144 : SH_IMMS16,
1145 : SH_IMMU16,
1146 : SH_IMM_LOW16,
1147 : SH_IMM_LOW16_PCREL,
1148 : SH_IMM_MEDLOW16,
1149 : SH_IMM_MEDLOW16_PCREL,
1150 : SH_IMM_MEDHI16,
1151 : SH_IMM_MEDHI16_PCREL,
1152 : SH_IMM_HI16,
1153 : SH_IMM_HI16_PCREL,
1154 : SH_64,
1155 : SH_64_PCREL,
1156 : UNKNOWN(u32),
1157 : }
1158 :
1159 : impl From<u32> for Type {
1160 19440 : fn from(value: u32) -> Self {
1161 19440 : match value {
1162 0 : 0x08000000 => Type::X86_64_NONE,
1163 0 : 0x08000001 => Type::X86_64_64,
1164 0 : 0x08000002 => Type::X86_64_PC32,
1165 0 : 0x08000003 => Type::X86_64_GOT32,
1166 0 : 0x08000004 => Type::X86_64_PLT32,
1167 216 : 0x08000005 => Type::X86_64_COPY,
1168 288 : 0x08000006 => Type::X86_64_GLOB_DAT,
1169 5232 : 0x08000007 => Type::X86_64_JUMP_SLOT,
1170 3456 : 0x08000008 => Type::X86_64_RELATIVE,
1171 0 : 0x08000009 => Type::X86_64_GOTPCREL,
1172 0 : 0x0800000a => Type::X86_64_32,
1173 0 : 0x0800000b => Type::X86_64_32S,
1174 0 : 0x0800000c => Type::X86_64_16,
1175 0 : 0x0800000d => Type::X86_64_PC16,
1176 0 : 0x0800000e => Type::X86_64_8,
1177 0 : 0x0800000f => Type::X86_64_PC8,
1178 0 : 0x08000010 => Type::X86_64_DTPMOD64,
1179 0 : 0x08000011 => Type::X86_64_DTPOFF64,
1180 0 : 0x08000012 => Type::X86_64_TPOFF64,
1181 0 : 0x08000013 => Type::X86_64_TLSGD,
1182 0 : 0x08000014 => Type::X86_64_TLSLD,
1183 0 : 0x08000015 => Type::X86_64_DTPOFF32,
1184 0 : 0x08000016 => Type::X86_64_GOTTPOFF,
1185 0 : 0x08000017 => Type::X86_64_TPOFF32,
1186 0 : 0x08000018 => Type::X86_64_PC64,
1187 0 : 0x08000019 => Type::X86_64_GOTOFF64,
1188 0 : 0x0800001a => Type::X86_64_GOTPC32,
1189 0 : 0x0800001b => Type::X86_64_GOT64,
1190 0 : 0x0800001c => Type::X86_64_GOTPCREL64,
1191 0 : 0x0800001d => Type::X86_64_GOTPC64,
1192 0 : 0x0800001e => Type::X86_64_GOTPLT64,
1193 0 : 0x0800001f => Type::X86_64_PLTOFF64,
1194 0 : 0x08000020 => Type::X86_64_SIZE32,
1195 0 : 0x08000021 => Type::X86_64_SIZE64,
1196 0 : 0x08000022 => Type::X86_64_GOTPC32_TLSDESC,
1197 0 : 0x08000023 => Type::X86_64_TLSDESC_CALL,
1198 0 : 0x08000024 => Type::X86_64_TLSDESC,
1199 0 : 0x08000025 => Type::X86_64_IRELATIVE,
1200 0 : 0x08000026 => Type::X86_64_RELATIVE64,
1201 0 : 0x08000027 => Type::X86_64_PC32_BND,
1202 0 : 0x08000028 => Type::X86_64_PLT32_BND,
1203 0 : 0x08000029 => Type::X86_64_GOTPCRELX,
1204 0 : 0x0800002a => Type::X86_64_REX_GOTPCRELX,
1205 0 : 0x10000000 => Type::AARCH64_NONE,
1206 0 : 0x10000101 => Type::AARCH64_ABS64,
1207 0 : 0x10000102 => Type::AARCH64_ABS32,
1208 0 : 0x10000103 => Type::AARCH64_ABS16,
1209 0 : 0x10000104 => Type::AARCH64_PREL64,
1210 24 : 0x10000105 => Type::AARCH64_PREL32,
1211 0 : 0x10000106 => Type::AARCH64_PREL16,
1212 0 : 0x10000107 => Type::AARCH64_MOVW_UABS_G0,
1213 0 : 0x10000108 => Type::AARCH64_MOVW_UABS_G0_NC,
1214 0 : 0x10000109 => Type::AARCH64_MOVW_UABS_G1,
1215 0 : 0x1000010a => Type::AARCH64_MOVW_UABS_G1_NC,
1216 0 : 0x1000010b => Type::AARCH64_MOVW_UABS_G2,
1217 0 : 0x1000010c => Type::AARCH64_MOVW_UABS_G2_NC,
1218 0 : 0x1000010d => Type::AARCH64_MOVW_UABS_G3,
1219 0 : 0x1000010e => Type::AARCH64_MOVW_SABS_G0,
1220 0 : 0x1000010f => Type::AARCH64_MOVW_SABS_G1,
1221 0 : 0x10000110 => Type::AARCH64_MOVW_SABS_G2,
1222 0 : 0x10000111 => Type::AARCH64_LD_PREL_LO19,
1223 0 : 0x10000112 => Type::AARCH64_ADR_PREL_LO21,
1224 0 : 0x10000113 => Type::AARCH64_ADR_PREL_PG_HI21,
1225 0 : 0x10000114 => Type::AARCH64_ADR_PREL_PG_HI21_NC,
1226 0 : 0x10000115 => Type::AARCH64_ADD_ABS_LO12_NC,
1227 0 : 0x10000116 => Type::AARCH64_LDST8_ABS_LO12_NC,
1228 0 : 0x10000117 => Type::AARCH64_TSTBR14,
1229 0 : 0x10000118 => Type::AARCH64_CONDBR19,
1230 0 : 0x1000011a => Type::AARCH64_JUMP26,
1231 0 : 0x1000011b => Type::AARCH64_CALL26,
1232 0 : 0x1000011c => Type::AARCH64_LDST16_ABS_LO12_NC,
1233 0 : 0x1000011d => Type::AARCH64_LDST32_ABS_LO12_NC,
1234 0 : 0x1000011e => Type::AARCH64_LDST64_ABS_LO12_NC,
1235 0 : 0x1000011f => Type::AARCH64_MOVW_PREL_G0,
1236 0 : 0x10000120 => Type::AARCH64_MOVW_PREL_G0_NC,
1237 0 : 0x10000121 => Type::AARCH64_MOVW_PREL_G1,
1238 0 : 0x10000122 => Type::AARCH64_MOVW_PREL_G1_NC,
1239 0 : 0x10000123 => Type::AARCH64_MOVW_PREL_G2,
1240 0 : 0x10000124 => Type::AARCH64_MOVW_PREL_G2_NC,
1241 0 : 0x10000125 => Type::AARCH64_MOVW_PREL_G3,
1242 0 : 0x1000012b => Type::AARCH64_LDST128_ABS_LO12_NC,
1243 0 : 0x1000012c => Type::AARCH64_MOVW_GOTOFF_G0,
1244 0 : 0x1000012d => Type::AARCH64_MOVW_GOTOFF_G0_NC,
1245 0 : 0x1000012e => Type::AARCH64_MOVW_GOTOFF_G1,
1246 0 : 0x1000012f => Type::AARCH64_MOVW_GOTOFF_G1_NC,
1247 0 : 0x10000130 => Type::AARCH64_MOVW_GOTOFF_G2,
1248 0 : 0x10000131 => Type::AARCH64_MOVW_GOTOFF_G2_NC,
1249 0 : 0x10000132 => Type::AARCH64_MOVW_GOTOFF_G3,
1250 0 : 0x10000133 => Type::AARCH64_GOTREL64,
1251 0 : 0x10000134 => Type::AARCH64_GOTREL32,
1252 0 : 0x10000135 => Type::AARCH64_GOT_LD_PREL19,
1253 0 : 0x10000136 => Type::AARCH64_LD64_GOTOFF_LO15,
1254 0 : 0x10000137 => Type::AARCH64_ADR_GOT_PAGE,
1255 0 : 0x10000138 => Type::AARCH64_LD64_GOT_LO12_NC,
1256 0 : 0x10000139 => Type::AARCH64_LD64_GOTPAGE_LO15,
1257 0 : 0x10000200 => Type::AARCH64_TLSGD_ADR_PREL21,
1258 0 : 0x10000201 => Type::AARCH64_TLSGD_ADR_PAGE21,
1259 0 : 0x10000202 => Type::AARCH64_TLSGD_ADD_LO12_NC,
1260 0 : 0x10000203 => Type::AARCH64_TLSGD_MOVW_G1,
1261 0 : 0x10000204 => Type::AARCH64_TLSGD_MOVW_G0_NC,
1262 0 : 0x10000205 => Type::AARCH64_TLSLD_ADR_PREL21,
1263 0 : 0x10000206 => Type::AARCH64_TLSLD_ADR_PAGE21,
1264 0 : 0x10000207 => Type::AARCH64_TLSLD_ADD_LO12_NC,
1265 0 : 0x10000208 => Type::AARCH64_TLSLD_MOVW_G1,
1266 0 : 0x10000209 => Type::AARCH64_TLSLD_MOVW_G0_NC,
1267 0 : 0x1000020a => Type::AARCH64_TLSLD_LD_PREL19,
1268 0 : 0x1000020b => Type::AARCH64_TLSLD_MOVW_DTPREL_G2,
1269 0 : 0x1000020c => Type::AARCH64_TLSLD_MOVW_DTPREL_G1,
1270 0 : 0x1000020d => Type::AARCH64_TLSLD_MOVW_DTPREL_G1_NC,
1271 0 : 0x1000020e => Type::AARCH64_TLSLD_MOVW_DTPREL_G0,
1272 0 : 0x1000020f => Type::AARCH64_TLSLD_MOVW_DTPREL_G0_NC,
1273 0 : 0x10000210 => Type::AARCH64_TLSLD_ADD_DTPREL_HI12,
1274 0 : 0x10000211 => Type::AARCH64_TLSLD_ADD_DTPREL_LO12,
1275 0 : 0x10000212 => Type::AARCH64_TLSLD_ADD_DTPREL_LO12_NC,
1276 0 : 0x10000213 => Type::AARCH64_TLSLD_LDST8_DTPREL_LO12,
1277 0 : 0x10000214 => Type::AARCH64_TLSLD_LDST8_DTPREL_LO12_NC,
1278 0 : 0x10000215 => Type::AARCH64_TLSLD_LDST16_DTPREL_LO12,
1279 0 : 0x10000216 => Type::AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
1280 0 : 0x10000217 => Type::AARCH64_TLSLD_LDST32_DTPREL_LO12,
1281 0 : 0x10000218 => Type::AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
1282 0 : 0x10000219 => Type::AARCH64_TLSLD_LDST64_DTPREL_LO12,
1283 0 : 0x1000021a => Type::AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
1284 0 : 0x1000021b => Type::AARCH64_TLSIE_MOVW_GOTTPREL_G1,
1285 0 : 0x1000021c => Type::AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC,
1286 0 : 0x1000021d => Type::AARCH64_TLSIE_ADR_GOTTPREL_PAGE21,
1287 0 : 0x1000021e => Type::AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC,
1288 0 : 0x1000021f => Type::AARCH64_TLSIE_LD_GOTTPREL_PREL19,
1289 0 : 0x10000220 => Type::AARCH64_TLSLE_MOVW_TPREL_G2,
1290 0 : 0x10000221 => Type::AARCH64_TLSLE_MOVW_TPREL_G1,
1291 0 : 0x10000222 => Type::AARCH64_TLSLE_MOVW_TPREL_G1_NC,
1292 0 : 0x10000223 => Type::AARCH64_TLSLE_MOVW_TPREL_G0,
1293 0 : 0x10000224 => Type::AARCH64_TLSLE_MOVW_TPREL_G0_NC,
1294 0 : 0x10000225 => Type::AARCH64_TLSLE_ADD_TPREL_HI12,
1295 0 : 0x10000226 => Type::AARCH64_TLSLE_ADD_TPREL_LO12,
1296 0 : 0x10000227 => Type::AARCH64_TLSLE_ADD_TPREL_LO12_NC,
1297 0 : 0x10000228 => Type::AARCH64_TLSLE_LDST8_TPREL_LO12,
1298 0 : 0x10000229 => Type::AARCH64_TLSLE_LDST8_TPREL_LO12_NC,
1299 0 : 0x1000022a => Type::AARCH64_TLSLE_LDST16_TPREL_LO12,
1300 0 : 0x1000022b => Type::AARCH64_TLSLE_LDST16_TPREL_LO12_NC,
1301 0 : 0x1000022c => Type::AARCH64_TLSLE_LDST32_TPREL_LO12,
1302 0 : 0x1000022d => Type::AARCH64_TLSLE_LDST32_TPREL_LO12_NC,
1303 0 : 0x1000022e => Type::AARCH64_TLSLE_LDST64_TPREL_LO12,
1304 0 : 0x1000022f => Type::AARCH64_TLSLE_LDST64_TPREL_LO12_NC,
1305 0 : 0x10000230 => Type::AARCH64_TLSDESC_LD_PREL19,
1306 0 : 0x10000231 => Type::AARCH64_TLSDESC_ADR_PREL21,
1307 0 : 0x10000232 => Type::AARCH64_TLSDESC_ADR_PAGE21,
1308 0 : 0x10000233 => Type::AARCH64_TLSDESC_LD64_LO12_NC,
1309 0 : 0x10000234 => Type::AARCH64_TLSDESC_ADD_LO12_NC,
1310 0 : 0x10000235 => Type::AARCH64_TLSDESC_OFF_G1,
1311 0 : 0x10000236 => Type::AARCH64_TLSDESC_OFF_G0_NC,
1312 0 : 0x10000237 => Type::AARCH64_TLSDESC_LDR,
1313 0 : 0x10000238 => Type::AARCH64_TLSDESC_ADD,
1314 0 : 0x10000239 => Type::AARCH64_TLSDESC_CALL,
1315 0 : 0x1000023a => Type::AARCH64_TLSLE_LDST128_TPREL_LO12,
1316 0 : 0x1000023b => Type::AARCH64_TLSLE_LDST128_TPREL_LO12_NC,
1317 0 : 0x1000023c => Type::AARCH64_TLSLD_LDST128_DTPREL_LO12,
1318 0 : 0x1000023d => Type::AARCH64_TLSLD_LDST128_DTPREL_LO12_NC,
1319 0 : 0x10000400 => Type::AARCH64_COPY,
1320 0 : 0x10000401 => Type::AARCH64_GLOB_DAT,
1321 0 : 0x10000402 => Type::AARCH64_JUMP_SLOT,
1322 0 : 0x10000403 => Type::AARCH64_RELATIVE,
1323 0 : 0x10000404 => Type::AARCH64_TLS_DTPREL64,
1324 0 : 0x10000405 => Type::AARCH64_TLS_DTPMOD64,
1325 0 : 0x10000406 => Type::AARCH64_TLS_TPREL64,
1326 0 : 0x10000407 => Type::AARCH64_TLSDESC,
1327 0 : 0x10000408 => Type::AARCH64_IRELATIVE,
1328 0 : 0x18000000 => Type::ARM_NONE,
1329 0 : 0x18000001 => Type::ARM_PC24,
1330 0 : 0x18000002 => Type::ARM_ABS32,
1331 0 : 0x18000003 => Type::ARM_REL32,
1332 0 : 0x18000004 => Type::ARM_LDR_PC_G0,
1333 0 : 0x18000005 => Type::ARM_ABS16,
1334 0 : 0x18000006 => Type::ARM_ABS12,
1335 0 : 0x18000007 => Type::ARM_THM_ABS5,
1336 0 : 0x18000008 => Type::ARM_ABS8,
1337 0 : 0x18000009 => Type::ARM_SBREL32,
1338 0 : 0x1800000a => Type::ARM_THM_CALL,
1339 0 : 0x1800000b => Type::ARM_THM_PC8,
1340 0 : 0x1800000c => Type::ARM_BREL_ADJ,
1341 0 : 0x1800000d => Type::ARM_TLS_DESC,
1342 0 : 0x1800000e => Type::ARM_THM_SWI8,
1343 0 : 0x1800000f => Type::ARM_XPC25,
1344 0 : 0x18000010 => Type::ARM_THM_XPC22,
1345 0 : 0x18000011 => Type::ARM_TLS_DTPMOD32,
1346 0 : 0x18000012 => Type::ARM_TLS_DTPOFF32,
1347 0 : 0x18000013 => Type::ARM_TLS_TPOFF32,
1348 0 : 0x18000014 => Type::ARM_COPY,
1349 0 : 0x18000015 => Type::ARM_GLOB_DAT,
1350 0 : 0x18000016 => Type::ARM_JUMP_SLOT,
1351 0 : 0x18000017 => Type::ARM_RELATIVE,
1352 0 : 0x18000018 => Type::ARM_GOTOFF32,
1353 0 : 0x18000019 => Type::ARM_BASE_PREL,
1354 0 : 0x1800001a => Type::ARM_GOT_BREL,
1355 0 : 0x1800001b => Type::ARM_PLT32,
1356 0 : 0x1800001c => Type::ARM_CALL,
1357 0 : 0x1800001d => Type::ARM_JUMP24,
1358 0 : 0x1800001e => Type::ARM_THM_JUMP24,
1359 0 : 0x1800001f => Type::ARM_BASE_ABS,
1360 0 : 0x18000020 => Type::ARM_ALU_PCREL_7_0,
1361 0 : 0x18000021 => Type::ARM_ALU_PCREL_15_8,
1362 0 : 0x18000022 => Type::ARM_ALU_PCREL_23_15,
1363 0 : 0x18000023 => Type::ARM_LDR_SBREL_11_0_NC,
1364 0 : 0x18000024 => Type::ARM_ALU_SBREL_19_12_NC,
1365 0 : 0x18000025 => Type::ARM_ALU_SBREL_27_20_CK,
1366 0 : 0x18000026 => Type::ARM_TARGET1,
1367 0 : 0x18000027 => Type::ARM_SBREL31,
1368 0 : 0x18000028 => Type::ARM_V4BX,
1369 0 : 0x18000029 => Type::ARM_TARGET2,
1370 0 : 0x1800002a => Type::ARM_PREL31,
1371 0 : 0x1800002b => Type::ARM_MOVW_ABS_NC,
1372 0 : 0x1800002c => Type::ARM_MOVT_ABS,
1373 0 : 0x1800002d => Type::ARM_MOVW_PREL_NC,
1374 0 : 0x1800002e => Type::ARM_MOVT_PREL,
1375 0 : 0x1800002f => Type::ARM_THM_MOVW_ABS_NC,
1376 0 : 0x18000030 => Type::ARM_THM_MOVT_ABS,
1377 0 : 0x18000031 => Type::ARM_THM_MOVW_PREL_NC,
1378 0 : 0x18000032 => Type::ARM_THM_MOVT_PREL,
1379 0 : 0x18000033 => Type::ARM_THM_JUMP19,
1380 0 : 0x18000034 => Type::ARM_THM_JUMP6,
1381 0 : 0x18000035 => Type::ARM_THM_ALU_PREL_11_0,
1382 0 : 0x18000036 => Type::ARM_THM_PC12,
1383 0 : 0x18000037 => Type::ARM_ABS32_NOI,
1384 0 : 0x18000038 => Type::ARM_REL32_NOI,
1385 0 : 0x18000039 => Type::ARM_ALU_PC_G0_NC,
1386 0 : 0x1800003a => Type::ARM_ALU_PC_G0,
1387 0 : 0x1800003b => Type::ARM_ALU_PC_G1_NC,
1388 0 : 0x1800003c => Type::ARM_ALU_PC_G1,
1389 0 : 0x1800003d => Type::ARM_ALU_PC_G2,
1390 0 : 0x1800003e => Type::ARM_LDR_PC_G1,
1391 0 : 0x1800003f => Type::ARM_LDR_PC_G2,
1392 0 : 0x18000040 => Type::ARM_LDRS_PC_G0,
1393 0 : 0x18000041 => Type::ARM_LDRS_PC_G1,
1394 0 : 0x18000042 => Type::ARM_LDRS_PC_G2,
1395 0 : 0x18000043 => Type::ARM_LDC_PC_G0,
1396 0 : 0x18000044 => Type::ARM_LDC_PC_G1,
1397 0 : 0x18000045 => Type::ARM_LDC_PC_G2,
1398 0 : 0x18000046 => Type::ARM_ALU_SB_G0_NC,
1399 0 : 0x18000047 => Type::ARM_ALU_SB_G0,
1400 0 : 0x18000048 => Type::ARM_ALU_SB_G1_NC,
1401 0 : 0x18000049 => Type::ARM_ALU_SB_G1,
1402 0 : 0x1800004a => Type::ARM_ALU_SB_G2,
1403 0 : 0x1800004b => Type::ARM_LDR_SB_G0,
1404 0 : 0x1800004c => Type::ARM_LDR_SB_G1,
1405 0 : 0x1800004d => Type::ARM_LDR_SB_G2,
1406 0 : 0x1800004e => Type::ARM_LDRS_SB_G0,
1407 0 : 0x1800004f => Type::ARM_LDRS_SB_G1,
1408 0 : 0x18000050 => Type::ARM_LDRS_SB_G2,
1409 0 : 0x18000051 => Type::ARM_LDC_SB_G0,
1410 0 : 0x18000052 => Type::ARM_LDC_SB_G1,
1411 0 : 0x18000053 => Type::ARM_LDC_SB_G2,
1412 0 : 0x18000054 => Type::ARM_MOVW_BREL_NC,
1413 0 : 0x18000055 => Type::ARM_MOVT_BREL,
1414 0 : 0x18000056 => Type::ARM_MOVW_BREL,
1415 0 : 0x18000057 => Type::ARM_THM_MOVW_BREL_NC,
1416 0 : 0x18000058 => Type::ARM_THM_MOVT_BREL,
1417 0 : 0x18000059 => Type::ARM_THM_MOVW_BREL,
1418 0 : 0x1800005a => Type::ARM_TLS_GOTDESC,
1419 0 : 0x1800005b => Type::ARM_TLS_CALL,
1420 0 : 0x1800005c => Type::ARM_TLS_DESCSEQ,
1421 0 : 0x1800005d => Type::ARM_THM_TLS_CALL,
1422 0 : 0x1800005e => Type::ARM_PLT32_ABS,
1423 0 : 0x1800005f => Type::ARM_GOT_ABS,
1424 0 : 0x18000060 => Type::ARM_GOT_PREL,
1425 0 : 0x18000061 => Type::ARM_GOT_BREL12,
1426 0 : 0x18000062 => Type::ARM_GOTOFF12,
1427 0 : 0x18000063 => Type::ARM_GOTRELAX,
1428 0 : 0x18000064 => Type::ARM_GNU_VTENTRY,
1429 0 : 0x18000065 => Type::ARM_GNU_VTINHERIT,
1430 0 : 0x18000066 => Type::ARM_THM_JUMP11,
1431 0 : 0x18000067 => Type::ARM_THM_JUMP8,
1432 0 : 0x18000068 => Type::ARM_TLS_GD32,
1433 0 : 0x18000069 => Type::ARM_TLS_LDM32,
1434 0 : 0x1800006a => Type::ARM_TLS_LDO32,
1435 0 : 0x1800006b => Type::ARM_TLS_IE32,
1436 0 : 0x1800006c => Type::ARM_TLS_LE32,
1437 0 : 0x1800006d => Type::ARM_TLS_LDO12,
1438 0 : 0x1800006e => Type::ARM_TLS_LE12,
1439 0 : 0x1800006f => Type::ARM_TLS_IE12GP,
1440 0 : 0x18000070 => Type::ARM_PRIVATE_0,
1441 0 : 0x18000071 => Type::ARM_PRIVATE_1,
1442 0 : 0x18000072 => Type::ARM_PRIVATE_2,
1443 0 : 0x18000073 => Type::ARM_PRIVATE_3,
1444 0 : 0x18000074 => Type::ARM_PRIVATE_4,
1445 0 : 0x18000075 => Type::ARM_PRIVATE_5,
1446 0 : 0x18000076 => Type::ARM_PRIVATE_6,
1447 0 : 0x18000077 => Type::ARM_PRIVATE_7,
1448 0 : 0x18000078 => Type::ARM_PRIVATE_8,
1449 0 : 0x18000079 => Type::ARM_PRIVATE_9,
1450 0 : 0x1800007a => Type::ARM_PRIVATE_10,
1451 0 : 0x1800007b => Type::ARM_PRIVATE_11,
1452 0 : 0x1800007c => Type::ARM_PRIVATE_12,
1453 0 : 0x1800007d => Type::ARM_PRIVATE_13,
1454 0 : 0x1800007e => Type::ARM_PRIVATE_14,
1455 0 : 0x1800007f => Type::ARM_PRIVATE_15,
1456 0 : 0x18000080 => Type::ARM_ME_TOO,
1457 0 : 0x18000081 => Type::ARM_THM_TLS_DESCSEQ16,
1458 0 : 0x18000082 => Type::ARM_THM_TLS_DESCSEQ32,
1459 0 : 0x180000a0 => Type::ARM_IRELATIVE,
1460 0 : 0x180000f9 => Type::ARM_RXPC25,
1461 0 : 0x180000fa => Type::ARM_RSBREL32,
1462 0 : 0x180000fb => Type::ARM_THM_RPC22,
1463 0 : 0x180000fc => Type::ARM_RREL32,
1464 0 : 0x180000fd => Type::ARM_RPC24,
1465 0 : 0x180000fe => Type::ARM_RBASE,
1466 0 : 0x20000000 => Type::HEX_NONE,
1467 0 : 0x20000001 => Type::HEX_B22_PCREL,
1468 0 : 0x20000002 => Type::HEX_B15_PCREL,
1469 0 : 0x20000003 => Type::HEX_B7_PCREL,
1470 0 : 0x20000004 => Type::HEX_LO16,
1471 0 : 0x20000005 => Type::HEX_HI16,
1472 0 : 0x20000006 => Type::HEX_32,
1473 0 : 0x20000007 => Type::HEX_16,
1474 0 : 0x20000008 => Type::HEX_8,
1475 0 : 0x20000009 => Type::HEX_GPREL16_0,
1476 0 : 0x2000000a => Type::HEX_GPREL16_1,
1477 0 : 0x2000000b => Type::HEX_GPREL16_2,
1478 0 : 0x2000000c => Type::HEX_GPREL16_3,
1479 0 : 0x2000000d => Type::HEX_HL16,
1480 0 : 0x2000000e => Type::HEX_B13_PCREL,
1481 0 : 0x2000000f => Type::HEX_B9_PCREL,
1482 0 : 0x20000010 => Type::HEX_B32_PCREL_X,
1483 0 : 0x20000011 => Type::HEX_32_6_X,
1484 0 : 0x20000012 => Type::HEX_B22_PCREL_X,
1485 0 : 0x20000013 => Type::HEX_B15_PCREL_X,
1486 0 : 0x20000014 => Type::HEX_B13_PCREL_X,
1487 0 : 0x20000015 => Type::HEX_B9_PCREL_X,
1488 0 : 0x20000016 => Type::HEX_B7_PCREL_X,
1489 0 : 0x20000017 => Type::HEX_16_X,
1490 0 : 0x20000018 => Type::HEX_12_X,
1491 0 : 0x20000019 => Type::HEX_11_X,
1492 0 : 0x2000001a => Type::HEX_10_X,
1493 0 : 0x2000001b => Type::HEX_9_X,
1494 0 : 0x2000001c => Type::HEX_8_X,
1495 0 : 0x2000001d => Type::HEX_7_X,
1496 0 : 0x2000001e => Type::HEX_6_X,
1497 0 : 0x2000001f => Type::HEX_32_PCREL,
1498 0 : 0x20000020 => Type::HEX_COPY,
1499 0 : 0x20000021 => Type::HEX_GLOB_DAT,
1500 0 : 0x20000022 => Type::HEX_JMP_SLOT,
1501 0 : 0x20000023 => Type::HEX_RELATIVE,
1502 0 : 0x20000024 => Type::HEX_PLT_B22_PCREL,
1503 0 : 0x20000025 => Type::HEX_GOTREL_LO16,
1504 0 : 0x20000026 => Type::HEX_GOTREL_HI16,
1505 0 : 0x20000027 => Type::HEX_GOTREL_32,
1506 0 : 0x20000028 => Type::HEX_GOT_LO16,
1507 0 : 0x20000029 => Type::HEX_GOT_HI16,
1508 0 : 0x2000002a => Type::HEX_GOT_32,
1509 0 : 0x2000002b => Type::HEX_GOT_16,
1510 0 : 0x2000002c => Type::HEX_DTPMOD_32,
1511 0 : 0x2000002d => Type::HEX_DTPREL_LO16,
1512 0 : 0x2000002e => Type::HEX_DTPREL_HI16,
1513 0 : 0x2000002f => Type::HEX_DTPREL_32,
1514 0 : 0x20000030 => Type::HEX_DTPREL_16,
1515 0 : 0x20000031 => Type::HEX_GD_PLT_B22_PCREL,
1516 0 : 0x20000032 => Type::HEX_GD_GOT_LO16,
1517 0 : 0x20000033 => Type::HEX_GD_GOT_HI16,
1518 0 : 0x20000034 => Type::HEX_GD_GOT_32,
1519 0 : 0x20000035 => Type::HEX_GD_GOT_16,
1520 0 : 0x20000036 => Type::HEX_IE_LO16,
1521 0 : 0x20000037 => Type::HEX_IE_HI16,
1522 0 : 0x20000038 => Type::HEX_IE_32,
1523 0 : 0x20000039 => Type::HEX_IE_GOT_LO16,
1524 0 : 0x2000003a => Type::HEX_IE_GOT_HI16,
1525 0 : 0x2000003b => Type::HEX_IE_GOT_32,
1526 0 : 0x2000003c => Type::HEX_IE_GOT_16,
1527 0 : 0x2000003d => Type::HEX_TPREL_LO16,
1528 0 : 0x2000003e => Type::HEX_TPREL_HI16,
1529 0 : 0x2000003f => Type::HEX_TPREL_32,
1530 0 : 0x20000040 => Type::HEX_TPREL_16,
1531 0 : 0x20000041 => Type::HEX_6_PCREL_X,
1532 0 : 0x20000042 => Type::HEX_GOTREL_32_6_X,
1533 0 : 0x20000043 => Type::HEX_GOTREL_16_X,
1534 0 : 0x20000044 => Type::HEX_GOTREL_11_X,
1535 0 : 0x20000045 => Type::HEX_GOT_32_6_X,
1536 0 : 0x20000046 => Type::HEX_GOT_16_X,
1537 0 : 0x20000047 => Type::HEX_GOT_11_X,
1538 0 : 0x20000048 => Type::HEX_DTPREL_32_6_X,
1539 0 : 0x20000049 => Type::HEX_DTPREL_16_X,
1540 0 : 0x2000004a => Type::HEX_DTPREL_11_X,
1541 0 : 0x2000004b => Type::HEX_GD_GOT_32_6_X,
1542 0 : 0x2000004c => Type::HEX_GD_GOT_16_X,
1543 0 : 0x2000004d => Type::HEX_GD_GOT_11_X,
1544 0 : 0x2000004e => Type::HEX_IE_32_6_X,
1545 0 : 0x2000004f => Type::HEX_IE_16_X,
1546 0 : 0x20000050 => Type::HEX_IE_GOT_32_6_X,
1547 0 : 0x20000051 => Type::HEX_IE_GOT_16_X,
1548 0 : 0x20000052 => Type::HEX_IE_GOT_11_X,
1549 0 : 0x20000053 => Type::HEX_TPREL_32_6_X,
1550 0 : 0x20000054 => Type::HEX_TPREL_16_X,
1551 0 : 0x20000055 => Type::HEX_TPREL_11_X,
1552 0 : 0x20000056 => Type::HEX_LD_PLT_B22_PCREL,
1553 0 : 0x20000057 => Type::HEX_LD_GOT_LO16,
1554 0 : 0x20000058 => Type::HEX_LD_GOT_HI16,
1555 0 : 0x20000059 => Type::HEX_LD_GOT_32,
1556 0 : 0x2000005a => Type::HEX_LD_GOT_16,
1557 0 : 0x2000005b => Type::HEX_LD_GOT_32_6_X,
1558 0 : 0x2000005c => Type::HEX_LD_GOT_16_X,
1559 0 : 0x2000005d => Type::HEX_LD_GOT_11_X,
1560 0 : 0x28000000 => Type::X86_NONE,
1561 0 : 0x28000001 => Type::X86_32,
1562 0 : 0x28000002 => Type::X86_PC32,
1563 0 : 0x28000003 => Type::X86_GOT32,
1564 0 : 0x28000004 => Type::X86_PLT32,
1565 0 : 0x28000005 => Type::X86_COPY,
1566 0 : 0x28000006 => Type::X86_GLOB_DAT,
1567 0 : 0x28000007 => Type::X86_JUMP_SLOT,
1568 0 : 0x28000008 => Type::X86_RELATIVE,
1569 0 : 0x28000009 => Type::X86_GOTOFF,
1570 0 : 0x2800000a => Type::X86_GOTPC,
1571 0 : 0x2800000b => Type::X86_32PLT,
1572 0 : 0x2800000e => Type::X86_TLS_TPOFF,
1573 0 : 0x2800000f => Type::X86_TLS_IE,
1574 0 : 0x28000010 => Type::X86_TLS_GOTIE,
1575 0 : 0x28000011 => Type::X86_TLS_LE,
1576 0 : 0x28000012 => Type::X86_TLS_GD,
1577 0 : 0x28000013 => Type::X86_TLS_LDM,
1578 0 : 0x28000014 => Type::X86_16,
1579 0 : 0x28000015 => Type::X86_PC16,
1580 0 : 0x28000016 => Type::X86_8,
1581 0 : 0x28000017 => Type::X86_PC8,
1582 0 : 0x28000018 => Type::X86_TLS_GD_32,
1583 0 : 0x28000019 => Type::X86_TLS_GD_PUSH,
1584 0 : 0x2800001a => Type::X86_TLS_GD_CALL,
1585 0 : 0x2800001b => Type::X86_TLS_GD_POP,
1586 0 : 0x2800001c => Type::X86_TLS_LDM_32,
1587 0 : 0x2800001d => Type::X86_TLS_LDM_PUSH,
1588 0 : 0x2800001e => Type::X86_TLS_LDM_CALL,
1589 0 : 0x2800001f => Type::X86_TLS_LDM_POP,
1590 0 : 0x28000020 => Type::X86_TLS_LDO_32,
1591 0 : 0x28000021 => Type::X86_TLS_IE_32,
1592 0 : 0x28000022 => Type::X86_TLS_LE_32,
1593 0 : 0x28000023 => Type::X86_TLS_DTPMOD32,
1594 0 : 0x28000024 => Type::X86_TLS_DTPOFF32,
1595 0 : 0x28000025 => Type::X86_TLS_TPOFF32,
1596 0 : 0x28000027 => Type::X86_TLS_GOTDESC,
1597 0 : 0x28000028 => Type::X86_TLS_DESC_CALL,
1598 0 : 0x28000029 => Type::X86_TLS_DESC,
1599 0 : 0x2800002a => Type::X86_IRELATIVE,
1600 0 : 0x30000000 => Type::LARCH_NONE,
1601 0 : 0x30000001 => Type::LARCH_32,
1602 48 : 0x30000002 => Type::LARCH_64,
1603 0 : 0x30000003 => Type::LARCH_RELATIVE,
1604 0 : 0x30000004 => Type::LARCH_COPY,
1605 0 : 0x30000005 => Type::LARCH_JUMP_SLOT,
1606 0 : 0x30000006 => Type::LARCH_TLS_DTPMOD32,
1607 0 : 0x30000007 => Type::LARCH_TLS_DTPMOD64,
1608 0 : 0x30000008 => Type::LARCH_TLS_DTPREL32,
1609 0 : 0x30000009 => Type::LARCH_TLS_DTPREL64,
1610 0 : 0x3000000a => Type::LARCH_TLS_TPREL32,
1611 0 : 0x3000000b => Type::LARCH_TLS_TPREL64,
1612 0 : 0x3000000c => Type::LARCH_IRELATIVE,
1613 0 : 0x30000014 => Type::LARCH_MARK_LA,
1614 0 : 0x30000015 => Type::LARCH_MARK_PCREL,
1615 0 : 0x30000016 => Type::LARCH_SOP_PUSH_PCREL,
1616 0 : 0x30000017 => Type::LARCH_SOP_PUSH_ABSOLUTE,
1617 0 : 0x30000018 => Type::LARCH_SOP_PUSH_DUP,
1618 0 : 0x30000019 => Type::LARCH_SOP_PUSH_GPREL,
1619 0 : 0x3000001a => Type::LARCH_SOP_PUSH_TLS_TPREL,
1620 0 : 0x3000001b => Type::LARCH_SOP_PUSH_TLS_GOT,
1621 0 : 0x3000001c => Type::LARCH_SOP_PUSH_TLS_GD,
1622 0 : 0x3000001d => Type::LARCH_SOP_PUSH_PLT_PCREL,
1623 0 : 0x3000001e => Type::LARCH_SOP_ASSERT,
1624 0 : 0x3000001f => Type::LARCH_SOP_NOT,
1625 0 : 0x30000020 => Type::LARCH_SOP_SUB,
1626 0 : 0x30000021 => Type::LARCH_SOP_SL,
1627 0 : 0x30000022 => Type::LARCH_SOP_SR,
1628 0 : 0x30000023 => Type::LARCH_SOP_ADD,
1629 0 : 0x30000024 => Type::LARCH_SOP_AND,
1630 0 : 0x30000025 => Type::LARCH_SOP_IF_ELSE,
1631 0 : 0x30000026 => Type::LARCH_SOP_POP_32_S_10_5,
1632 0 : 0x30000027 => Type::LARCH_SOP_POP_32_U_10_12,
1633 0 : 0x30000028 => Type::LARCH_SOP_POP_32_S_10_12,
1634 0 : 0x30000029 => Type::LARCH_SOP_POP_32_S_10_16,
1635 0 : 0x3000002a => Type::LARCH_SOP_POP_32_S_10_16_S2,
1636 0 : 0x3000002b => Type::LARCH_SOP_POP_32_S_5_20,
1637 0 : 0x3000002c => Type::LARCH_SOP_POP_32_S_0_5_10_16_S2,
1638 0 : 0x3000002d => Type::LARCH_SOP_POP_32_S_0_10_10_16_S2,
1639 0 : 0x3000002e => Type::LARCH_SOP_POP_32_U,
1640 0 : 0x3000002f => Type::LARCH_ADD8,
1641 0 : 0x30000030 => Type::LARCH_ADD16,
1642 0 : 0x30000031 => Type::LARCH_ADD24,
1643 0 : 0x30000032 => Type::LARCH_ADD32,
1644 0 : 0x30000033 => Type::LARCH_ADD64,
1645 0 : 0x30000034 => Type::LARCH_SUB8,
1646 0 : 0x30000035 => Type::LARCH_SUB16,
1647 0 : 0x30000036 => Type::LARCH_SUB24,
1648 0 : 0x30000037 => Type::LARCH_SUB32,
1649 0 : 0x30000038 => Type::LARCH_SUB64,
1650 0 : 0x30000039 => Type::LARCH_GNU_VTINHERIT,
1651 0 : 0x3000003a => Type::LARCH_GNU_VTENTRY,
1652 0 : 0x30000040 => Type::LARCH_B16,
1653 0 : 0x30000041 => Type::LARCH_B21,
1654 480 : 0x30000042 => Type::LARCH_B26,
1655 0 : 0x30000043 => Type::LARCH_ABS_HI20,
1656 0 : 0x30000044 => Type::LARCH_ABS_LO12,
1657 0 : 0x30000045 => Type::LARCH_ABS64_LO20,
1658 0 : 0x30000046 => Type::LARCH_ABS64_HI12,
1659 144 : 0x30000047 => Type::LARCH_PCALA_HI20,
1660 144 : 0x30000048 => Type::LARCH_PCALA_LO12,
1661 0 : 0x30000049 => Type::LARCH_PCALA64_LO20,
1662 0 : 0x3000004a => Type::LARCH_PCALA64_HI12,
1663 72 : 0x3000004b => Type::LARCH_GOT_PC_HI20,
1664 72 : 0x3000004c => Type::LARCH_GOT_PC_LO12,
1665 0 : 0x3000004d => Type::LARCH_GOT64_PC_LO20,
1666 0 : 0x3000004e => Type::LARCH_GOT64_PC_HI12,
1667 0 : 0x3000004f => Type::LARCH_GOT_HI20,
1668 0 : 0x30000050 => Type::LARCH_GOT_LO12,
1669 0 : 0x30000051 => Type::LARCH_GOT64_LO20,
1670 0 : 0x30000052 => Type::LARCH_GOT64_HI12,
1671 0 : 0x30000053 => Type::LARCH_TLS_LE_HI20,
1672 0 : 0x30000054 => Type::LARCH_TLS_LE_LO12,
1673 0 : 0x30000055 => Type::LARCH_TLS_LE64_LO20,
1674 0 : 0x30000056 => Type::LARCH_TLS_LE64_HI12,
1675 0 : 0x30000057 => Type::LARCH_TLS_IE_PC_HI20,
1676 0 : 0x30000058 => Type::LARCH_TLS_IE_PC_LO12,
1677 0 : 0x30000059 => Type::LARCH_TLS_IE64_PC_LO20,
1678 0 : 0x3000005a => Type::LARCH_TLS_IE64_PC_HI12,
1679 0 : 0x3000005b => Type::LARCH_TLS_IE_HI20,
1680 0 : 0x3000005c => Type::LARCH_TLS_IE_LO12,
1681 0 : 0x3000005d => Type::LARCH_TLS_IE64_LO20,
1682 0 : 0x3000005e => Type::LARCH_TLS_IE64_HI12,
1683 0 : 0x3000005f => Type::LARCH_TLS_LD_PC_HI20,
1684 0 : 0x30000060 => Type::LARCH_TLS_LD_HI20,
1685 0 : 0x30000061 => Type::LARCH_TLS_GD_PC_HI20,
1686 0 : 0x30000062 => Type::LARCH_TLS_GD_HI20,
1687 120 : 0x30000063 => Type::LARCH_32_PCREL,
1688 0 : 0x30000064 => Type::LARCH_RELAX,
1689 0 : 0x30000066 => Type::LARCH_ALIGN,
1690 0 : 0x30000067 => Type::LARCH_PCREL20_S2,
1691 0 : 0x30000069 => Type::LARCH_ADD6,
1692 0 : 0x3000006a => Type::LARCH_SUB6,
1693 0 : 0x3000006b => Type::LARCH_ADD_ULEB128,
1694 0 : 0x3000006c => Type::LARCH_SUB_ULEB128,
1695 0 : 0x3000006d => Type::LARCH_64_PCREL,
1696 0 : 0x3000006e => Type::LARCH_CALL36,
1697 0 : 0x3000000d => Type::LARCH_TLS_DESC32,
1698 0 : 0x3000000e => Type::LARCH_TLS_DESC64,
1699 0 : 0x3000006f => Type::LARCH_TLS_DESC_PC_HI20,
1700 0 : 0x30000070 => Type::LARCH_TLS_DESC_PC_LO12,
1701 0 : 0x30000071 => Type::LARCH_TLS_DESC64_PC_LO20,
1702 0 : 0x30000072 => Type::LARCH_TLS_DESC64_PC_HI12,
1703 0 : 0x30000073 => Type::LARCH_TLS_DESC_HI20,
1704 0 : 0x30000074 => Type::LARCH_TLS_DESC_LO12,
1705 0 : 0x30000075 => Type::LARCH_TLS_DESC64_LO20,
1706 0 : 0x30000076 => Type::LARCH_TLS_DESC64_HI12,
1707 0 : 0x30000077 => Type::LARCH_TLS_DESC_LD,
1708 0 : 0x30000078 => Type::LARCH_TLS_DESC_CALL,
1709 0 : 0x30000079 => Type::LARCH_TLS_LE_HI20_R,
1710 0 : 0x3000007a => Type::LARCH_TLS_LE_ADD_R,
1711 0 : 0x3000007b => Type::LARCH_TLS_LE_LO12_R,
1712 0 : 0x3000007c => Type::LARCH_TLS_LD_PCREL20_S2,
1713 0 : 0x3000007d => Type::LARCH_TLS_GD_PCREL20_S2,
1714 0 : 0x3000007e => Type::LARCH_TLS_DESC_PCREL20_S2,
1715 24 : 0x38000000 => Type::MIPS_NONE,
1716 0 : 0x38000001 => Type::MIPS_16,
1717 0 : 0x38000002 => Type::MIPS_32,
1718 9096 : 0x38000003 => Type::MIPS_REL32,
1719 0 : 0x38000004 => Type::MIPS_26,
1720 0 : 0x38000005 => Type::MIPS_HI16,
1721 0 : 0x38000006 => Type::MIPS_LO16,
1722 0 : 0x38000007 => Type::MIPS_GPREL16,
1723 0 : 0x38000008 => Type::MIPS_LITERAL,
1724 0 : 0x38000009 => Type::MIPS_GOT16,
1725 0 : 0x3800000a => Type::MIPS_PC16,
1726 0 : 0x3800000b => Type::MIPS_CALL16,
1727 0 : 0x3800000c => Type::MIPS_GPREL32,
1728 0 : 0x3800000d => Type::MIPS_UNUSED1,
1729 0 : 0x3800000e => Type::MIPS_UNUSED2,
1730 0 : 0x3800000f => Type::MIPS_UNUSED3,
1731 0 : 0x38000010 => Type::MIPS_SHIFT5,
1732 0 : 0x38000011 => Type::MIPS_SHIFT6,
1733 0 : 0x38000012 => Type::MIPS_64,
1734 0 : 0x38000013 => Type::MIPS_GOT_DISP,
1735 0 : 0x38000014 => Type::MIPS_GOT_PAGE,
1736 0 : 0x38000015 => Type::MIPS_GOT_OFST,
1737 0 : 0x38000016 => Type::MIPS_GOT_HI16,
1738 0 : 0x38000017 => Type::MIPS_GOT_LO16,
1739 0 : 0x38000018 => Type::MIPS_SUB,
1740 0 : 0x38000019 => Type::MIPS_INSERT_A,
1741 0 : 0x3800001a => Type::MIPS_INSERT_B,
1742 0 : 0x3800001b => Type::MIPS_DELETE,
1743 0 : 0x3800001c => Type::MIPS_HIGHER,
1744 0 : 0x3800001d => Type::MIPS_HIGHEST,
1745 0 : 0x3800001e => Type::MIPS_CALL_HI16,
1746 0 : 0x3800001f => Type::MIPS_CALL_LO16,
1747 0 : 0x38000020 => Type::MIPS_SCN_DISP,
1748 0 : 0x38000021 => Type::MIPS_REL16,
1749 0 : 0x38000022 => Type::MIPS_ADD_IMMEDIATE,
1750 0 : 0x38000023 => Type::MIPS_PJUMP,
1751 0 : 0x38000024 => Type::MIPS_RELGOT,
1752 0 : 0x38000025 => Type::MIPS_JALR,
1753 0 : 0x38000026 => Type::MIPS_TLS_DTPMOD32,
1754 0 : 0x38000027 => Type::MIPS_TLS_DTPREL32,
1755 0 : 0x38000028 => Type::MIPS_TLS_DTPMOD64,
1756 0 : 0x38000029 => Type::MIPS_TLS_DTPREL64,
1757 0 : 0x3800002a => Type::MIPS_TLS_GD,
1758 0 : 0x3800002b => Type::MIPS_TLS_LDM,
1759 0 : 0x3800002c => Type::MIPS_TLS_DTPREL_HI16,
1760 0 : 0x3800002d => Type::MIPS_TLS_DTPREL_LO16,
1761 0 : 0x3800002e => Type::MIPS_TLS_GOTTPREL,
1762 0 : 0x3800002f => Type::MIPS_TLS_TPREL32,
1763 0 : 0x38000030 => Type::MIPS_TLS_TPREL64,
1764 0 : 0x38000031 => Type::MIPS_TLS_TPREL_HI16,
1765 0 : 0x38000032 => Type::MIPS_TLS_TPREL_LO16,
1766 0 : 0x38000033 => Type::MIPS_GLOB_DAT,
1767 0 : 0x3800003c => Type::MIPS_PC21_S2,
1768 0 : 0x3800003d => Type::MIPS_PC26_S2,
1769 0 : 0x3800003e => Type::MIPS_PC18_S3,
1770 0 : 0x3800003f => Type::MIPS_PC19_S2,
1771 0 : 0x38000040 => Type::MIPS_PCHI16,
1772 0 : 0x38000041 => Type::MIPS_PCLO16,
1773 0 : 0x38000064 => Type::MIPS16_26,
1774 0 : 0x38000065 => Type::MIPS16_GPREL,
1775 0 : 0x38000066 => Type::MIPS16_GOT16,
1776 0 : 0x38000067 => Type::MIPS16_CALL16,
1777 0 : 0x38000068 => Type::MIPS16_HI16,
1778 0 : 0x38000069 => Type::MIPS16_LO16,
1779 0 : 0x3800006a => Type::MIPS16_TLS_GD,
1780 0 : 0x3800006b => Type::MIPS16_TLS_LDM,
1781 0 : 0x3800006c => Type::MIPS16_TLS_DTPREL_HI16,
1782 0 : 0x3800006d => Type::MIPS16_TLS_DTPREL_LO16,
1783 0 : 0x3800006e => Type::MIPS16_TLS_GOTTPREL,
1784 0 : 0x3800006f => Type::MIPS16_TLS_TPREL_HI16,
1785 0 : 0x38000070 => Type::MIPS16_TLS_TPREL_LO16,
1786 0 : 0x3800007e => Type::MIPS_COPY,
1787 24 : 0x3800007f => Type::MIPS_JUMP_SLOT,
1788 0 : 0x38000085 => Type::MICROMIPS_26_S1,
1789 0 : 0x38000086 => Type::MICROMIPS_HI16,
1790 0 : 0x38000087 => Type::MICROMIPS_LO16,
1791 0 : 0x38000088 => Type::MICROMIPS_GPREL16,
1792 0 : 0x38000089 => Type::MICROMIPS_LITERAL,
1793 0 : 0x3800008a => Type::MICROMIPS_GOT16,
1794 0 : 0x3800008b => Type::MICROMIPS_PC7_S1,
1795 0 : 0x3800008c => Type::MICROMIPS_PC10_S1,
1796 0 : 0x3800008d => Type::MICROMIPS_PC16_S1,
1797 0 : 0x3800008e => Type::MICROMIPS_CALL16,
1798 0 : 0x38000091 => Type::MICROMIPS_GOT_DISP,
1799 0 : 0x38000092 => Type::MICROMIPS_GOT_PAGE,
1800 0 : 0x38000093 => Type::MICROMIPS_GOT_OFST,
1801 0 : 0x38000094 => Type::MICROMIPS_GOT_HI16,
1802 0 : 0x38000095 => Type::MICROMIPS_GOT_LO16,
1803 0 : 0x38000096 => Type::MICROMIPS_SUB,
1804 0 : 0x38000097 => Type::MICROMIPS_HIGHER,
1805 0 : 0x38000098 => Type::MICROMIPS_HIGHEST,
1806 0 : 0x38000099 => Type::MICROMIPS_CALL_HI16,
1807 0 : 0x3800009a => Type::MICROMIPS_CALL_LO16,
1808 0 : 0x3800009b => Type::MICROMIPS_SCN_DISP,
1809 0 : 0x3800009c => Type::MICROMIPS_JALR,
1810 0 : 0x3800009d => Type::MICROMIPS_HI0_LO16,
1811 0 : 0x380000a2 => Type::MICROMIPS_TLS_GD,
1812 0 : 0x380000a3 => Type::MICROMIPS_TLS_LDM,
1813 0 : 0x380000a4 => Type::MICROMIPS_TLS_DTPREL_HI16,
1814 0 : 0x380000a5 => Type::MICROMIPS_TLS_DTPREL_LO16,
1815 0 : 0x380000a6 => Type::MICROMIPS_TLS_GOTTPREL,
1816 0 : 0x380000a9 => Type::MICROMIPS_TLS_TPREL_HI16,
1817 0 : 0x380000aa => Type::MICROMIPS_TLS_TPREL_LO16,
1818 0 : 0x380000ac => Type::MICROMIPS_GPREL7_S2,
1819 0 : 0x380000ad => Type::MICROMIPS_PC23_S2,
1820 0 : 0x380000ae => Type::MICROMIPS_PC21_S2,
1821 0 : 0x380000af => Type::MICROMIPS_PC26_S2,
1822 0 : 0x380000b0 => Type::MICROMIPS_PC18_S3,
1823 0 : 0x380000b1 => Type::MICROMIPS_PC19_S2,
1824 0 : 0x380000da => Type::MIPS_NUM,
1825 0 : 0x380000f8 => Type::MIPS_PC32,
1826 0 : 0x380000f9 => Type::MIPS_EH,
1827 0 : 0x40000000 => Type::PPC_NONE,
1828 0 : 0x40000001 => Type::PPC_ADDR32,
1829 0 : 0x40000002 => Type::PPC_ADDR24,
1830 0 : 0x40000003 => Type::PPC_ADDR16,
1831 0 : 0x40000004 => Type::PPC_ADDR16_LO,
1832 0 : 0x40000005 => Type::PPC_ADDR16_HI,
1833 0 : 0x40000006 => Type::PPC_ADDR16_HA,
1834 0 : 0x40000007 => Type::PPC_ADDR14,
1835 0 : 0x40000008 => Type::PPC_ADDR14_BRTAKEN,
1836 0 : 0x40000009 => Type::PPC_ADDR14_BRNTAKEN,
1837 0 : 0x4000000a => Type::PPC_REL24,
1838 0 : 0x4000000b => Type::PPC_REL14,
1839 0 : 0x4000000c => Type::PPC_REL14_BRTAKEN,
1840 0 : 0x4000000d => Type::PPC_REL14_BRNTAKEN,
1841 0 : 0x4000000e => Type::PPC_GOT16,
1842 0 : 0x4000000f => Type::PPC_GOT16_LO,
1843 0 : 0x40000010 => Type::PPC_GOT16_HI,
1844 0 : 0x40000011 => Type::PPC_GOT16_HA,
1845 0 : 0x40000012 => Type::PPC_PLTREL24,
1846 0 : 0x40000015 => Type::PPC_JMP_SLOT,
1847 0 : 0x40000016 => Type::PPC_RELATIVE,
1848 0 : 0x40000017 => Type::PPC_LOCAL24PC,
1849 0 : 0x4000001a => Type::PPC_REL32,
1850 0 : 0x40000043 => Type::PPC_TLS,
1851 0 : 0x40000044 => Type::PPC_DTPMOD32,
1852 0 : 0x40000045 => Type::PPC_TPREL16,
1853 0 : 0x40000046 => Type::PPC_TPREL16_LO,
1854 0 : 0x40000047 => Type::PPC_TPREL16_HI,
1855 0 : 0x40000048 => Type::PPC_TPREL16_HA,
1856 0 : 0x40000049 => Type::PPC_TPREL32,
1857 0 : 0x4000004a => Type::PPC_DTPREL16,
1858 0 : 0x4000004b => Type::PPC_DTPREL16_LO,
1859 0 : 0x4000004c => Type::PPC_DTPREL16_HI,
1860 0 : 0x4000004d => Type::PPC_DTPREL16_HA,
1861 0 : 0x4000004e => Type::PPC_DTPREL32,
1862 0 : 0x4000004f => Type::PPC_GOT_TLSGD16,
1863 0 : 0x40000050 => Type::PPC_GOT_TLSGD16_LO,
1864 0 : 0x40000051 => Type::PPC_GOT_TLSGD16_HI,
1865 0 : 0x40000052 => Type::PPC_GOT_TLSGD16_HA,
1866 0 : 0x40000053 => Type::PPC_GOT_TLSLD16,
1867 0 : 0x40000054 => Type::PPC_GOT_TLSLD16_LO,
1868 0 : 0x40000055 => Type::PPC_GOT_TLSLD16_HI,
1869 0 : 0x40000056 => Type::PPC_GOT_TLSLD16_HA,
1870 0 : 0x40000057 => Type::PPC_GOT_TPREL16,
1871 0 : 0x40000058 => Type::PPC_GOT_TPREL16_LO,
1872 0 : 0x40000059 => Type::PPC_GOT_TPREL16_HI,
1873 0 : 0x4000005a => Type::PPC_GOT_TPREL16_HA,
1874 0 : 0x4000005b => Type::PPC_GOT_DTPREL16,
1875 0 : 0x4000005c => Type::PPC_GOT_DTPREL16_LO,
1876 0 : 0x4000005d => Type::PPC_GOT_DTPREL16_HI,
1877 0 : 0x4000005e => Type::PPC_GOT_DTPREL16_HA,
1878 0 : 0x4000005f => Type::PPC_TLSGD,
1879 0 : 0x40000060 => Type::PPC_TLSLD,
1880 0 : 0x400000f9 => Type::PPC_REL16,
1881 0 : 0x400000fa => Type::PPC_REL16_LO,
1882 0 : 0x400000fb => Type::PPC_REL16_HI,
1883 0 : 0x400000fc => Type::PPC_REL16_HA,
1884 0 : 0x48000000 => Type::PPC64_NONE,
1885 0 : 0x48000001 => Type::PPC64_ADDR32,
1886 0 : 0x48000002 => Type::PPC64_ADDR24,
1887 0 : 0x48000003 => Type::PPC64_ADDR16,
1888 0 : 0x48000004 => Type::PPC64_ADDR16_LO,
1889 0 : 0x48000005 => Type::PPC64_ADDR16_HI,
1890 0 : 0x48000006 => Type::PPC64_ADDR16_HA,
1891 0 : 0x48000007 => Type::PPC64_ADDR14,
1892 0 : 0x48000008 => Type::PPC64_ADDR14_BRTAKEN,
1893 0 : 0x48000009 => Type::PPC64_ADDR14_BRNTAKEN,
1894 0 : 0x4800000a => Type::PPC64_REL24,
1895 0 : 0x4800000b => Type::PPC64_REL14,
1896 0 : 0x4800000c => Type::PPC64_REL14_BRTAKEN,
1897 0 : 0x4800000d => Type::PPC64_REL14_BRNTAKEN,
1898 0 : 0x4800000e => Type::PPC64_GOT16,
1899 0 : 0x4800000f => Type::PPC64_GOT16_LO,
1900 0 : 0x48000010 => Type::PPC64_GOT16_HI,
1901 0 : 0x48000011 => Type::PPC64_GOT16_HA,
1902 0 : 0x48000015 => Type::PPC64_JMP_SLOT,
1903 0 : 0x48000016 => Type::PPC64_RELATIVE,
1904 0 : 0x4800001a => Type::PPC64_REL32,
1905 0 : 0x48000026 => Type::PPC64_ADDR64,
1906 0 : 0x48000027 => Type::PPC64_ADDR16_HIGHER,
1907 0 : 0x48000028 => Type::PPC64_ADDR16_HIGHERA,
1908 0 : 0x48000029 => Type::PPC64_ADDR16_HIGHEST,
1909 0 : 0x4800002a => Type::PPC64_ADDR16_HIGHESTA,
1910 0 : 0x4800002c => Type::PPC64_REL64,
1911 0 : 0x4800002f => Type::PPC64_TOC16,
1912 0 : 0x48000030 => Type::PPC64_TOC16_LO,
1913 0 : 0x48000031 => Type::PPC64_TOC16_HI,
1914 0 : 0x48000032 => Type::PPC64_TOC16_HA,
1915 0 : 0x48000033 => Type::PPC64_TOC,
1916 0 : 0x48000038 => Type::PPC64_ADDR16_DS,
1917 0 : 0x48000039 => Type::PPC64_ADDR16_LO_DS,
1918 0 : 0x4800003a => Type::PPC64_GOT16_DS,
1919 0 : 0x4800003b => Type::PPC64_GOT16_LO_DS,
1920 0 : 0x4800003f => Type::PPC64_TOC16_DS,
1921 0 : 0x48000040 => Type::PPC64_TOC16_LO_DS,
1922 0 : 0x48000043 => Type::PPC64_TLS,
1923 0 : 0x48000044 => Type::PPC64_DTPMOD64,
1924 0 : 0x48000045 => Type::PPC64_TPREL16,
1925 0 : 0x48000046 => Type::PPC64_TPREL16_LO,
1926 0 : 0x48000047 => Type::PPC64_TPREL16_HI,
1927 0 : 0x48000048 => Type::PPC64_TPREL16_HA,
1928 0 : 0x48000049 => Type::PPC64_TPREL64,
1929 0 : 0x4800004a => Type::PPC64_DTPREL16,
1930 0 : 0x4800004b => Type::PPC64_DTPREL16_LO,
1931 0 : 0x4800004c => Type::PPC64_DTPREL16_HI,
1932 0 : 0x4800004d => Type::PPC64_DTPREL16_HA,
1933 0 : 0x4800004e => Type::PPC64_DTPREL64,
1934 0 : 0x4800004f => Type::PPC64_GOT_TLSGD16,
1935 0 : 0x48000050 => Type::PPC64_GOT_TLSGD16_LO,
1936 0 : 0x48000051 => Type::PPC64_GOT_TLSGD16_HI,
1937 0 : 0x48000052 => Type::PPC64_GOT_TLSGD16_HA,
1938 0 : 0x48000053 => Type::PPC64_GOT_TLSLD16,
1939 0 : 0x48000054 => Type::PPC64_GOT_TLSLD16_LO,
1940 0 : 0x48000055 => Type::PPC64_GOT_TLSLD16_HI,
1941 0 : 0x48000056 => Type::PPC64_GOT_TLSLD16_HA,
1942 0 : 0x48000057 => Type::PPC64_GOT_TPREL16_DS,
1943 0 : 0x48000058 => Type::PPC64_GOT_TPREL16_LO_DS,
1944 0 : 0x48000059 => Type::PPC64_GOT_TPREL16_HI,
1945 0 : 0x4800005a => Type::PPC64_GOT_TPREL16_HA,
1946 0 : 0x4800005b => Type::PPC64_GOT_DTPREL16_DS,
1947 0 : 0x4800005c => Type::PPC64_GOT_DTPREL16_LO_DS,
1948 0 : 0x4800005d => Type::PPC64_GOT_DTPREL16_HI,
1949 0 : 0x4800005e => Type::PPC64_GOT_DTPREL16_HA,
1950 0 : 0x4800005f => Type::PPC64_TPREL16_DS,
1951 0 : 0x48000060 => Type::PPC64_TPREL16_LO_DS,
1952 0 : 0x48000061 => Type::PPC64_TPREL16_HIGHER,
1953 0 : 0x48000062 => Type::PPC64_TPREL16_HIGHERA,
1954 0 : 0x48000063 => Type::PPC64_TPREL16_HIGHEST,
1955 0 : 0x48000064 => Type::PPC64_TPREL16_HIGHESTA,
1956 0 : 0x48000065 => Type::PPC64_DTPREL16_DS,
1957 0 : 0x48000066 => Type::PPC64_DTPREL16_LO_DS,
1958 0 : 0x48000067 => Type::PPC64_DTPREL16_HIGHER,
1959 0 : 0x48000068 => Type::PPC64_DTPREL16_HIGHERA,
1960 0 : 0x48000069 => Type::PPC64_DTPREL16_HIGHEST,
1961 0 : 0x4800006a => Type::PPC64_DTPREL16_HIGHESTA,
1962 0 : 0x4800006b => Type::PPC64_TLSGD,
1963 0 : 0x4800006c => Type::PPC64_TLSLD,
1964 0 : 0x480000f9 => Type::PPC64_REL16,
1965 0 : 0x480000fa => Type::PPC64_REL16_LO,
1966 0 : 0x480000fb => Type::PPC64_REL16_HI,
1967 0 : 0x480000fc => Type::PPC64_REL16_HA,
1968 0 : 0x50000000 => Type::SPARC_NONE,
1969 0 : 0x50000001 => Type::SPARC_8,
1970 0 : 0x50000002 => Type::SPARC_16,
1971 0 : 0x50000003 => Type::SPARC_32,
1972 0 : 0x50000004 => Type::SPARC_DISP8,
1973 0 : 0x50000005 => Type::SPARC_DISP16,
1974 0 : 0x50000006 => Type::SPARC_DISP32,
1975 0 : 0x50000007 => Type::SPARC_WDISP30,
1976 0 : 0x50000008 => Type::SPARC_WDISP22,
1977 0 : 0x50000009 => Type::SPARC_HI22,
1978 0 : 0x5000000a => Type::SPARC_22,
1979 0 : 0x5000000b => Type::SPARC_13,
1980 0 : 0x5000000c => Type::SPARC_LO10,
1981 0 : 0x5000000d => Type::SPARC_GOT10,
1982 0 : 0x5000000e => Type::SPARC_GOT13,
1983 0 : 0x5000000f => Type::SPARC_GOT22,
1984 0 : 0x50000010 => Type::SPARC_PC10,
1985 0 : 0x50000011 => Type::SPARC_PC22,
1986 0 : 0x50000012 => Type::SPARC_WPLT30,
1987 0 : 0x50000013 => Type::SPARC_COPY,
1988 0 : 0x50000014 => Type::SPARC_GLOB_DAT,
1989 0 : 0x50000015 => Type::SPARC_JMP_SLOT,
1990 0 : 0x50000016 => Type::SPARC_RELATIVE,
1991 0 : 0x50000017 => Type::SPARC_UA32,
1992 0 : 0x50000018 => Type::SPARC_PLT32,
1993 0 : 0x50000019 => Type::SPARC_HIPLT22,
1994 0 : 0x5000001a => Type::SPARC_LOPLT10,
1995 0 : 0x5000001b => Type::SPARC_PCPLT32,
1996 0 : 0x5000001c => Type::SPARC_PCPLT22,
1997 0 : 0x5000001d => Type::SPARC_PCPLT10,
1998 0 : 0x5000001e => Type::SPARC_10,
1999 0 : 0x5000001f => Type::SPARC_11,
2000 0 : 0x50000020 => Type::SPARC_64,
2001 0 : 0x50000021 => Type::SPARC_OLO10,
2002 0 : 0x50000022 => Type::SPARC_HH22,
2003 0 : 0x50000023 => Type::SPARC_HM10,
2004 0 : 0x50000024 => Type::SPARC_LM22,
2005 0 : 0x50000025 => Type::SPARC_PC_HH22,
2006 0 : 0x50000026 => Type::SPARC_PC_HM10,
2007 0 : 0x50000027 => Type::SPARC_PC_LM22,
2008 0 : 0x50000028 => Type::SPARC_WDISP16,
2009 0 : 0x50000029 => Type::SPARC_WDISP19,
2010 0 : 0x5000002b => Type::SPARC_7,
2011 0 : 0x5000002c => Type::SPARC_5,
2012 0 : 0x5000002d => Type::SPARC_6,
2013 0 : 0x5000002e => Type::SPARC_DISP64,
2014 0 : 0x5000002f => Type::SPARC_PLT64,
2015 0 : 0x50000030 => Type::SPARC_HIX22,
2016 0 : 0x50000031 => Type::SPARC_LOX10,
2017 0 : 0x50000032 => Type::SPARC_H44,
2018 0 : 0x50000033 => Type::SPARC_M44,
2019 0 : 0x50000034 => Type::SPARC_L44,
2020 0 : 0x50000035 => Type::SPARC_REGISTER,
2021 0 : 0x50000036 => Type::SPARC_UA64,
2022 0 : 0x50000037 => Type::SPARC_UA16,
2023 0 : 0x50000038 => Type::SPARC_TLS_GD_HI22,
2024 0 : 0x50000039 => Type::SPARC_TLS_GD_LO10,
2025 0 : 0x5000003a => Type::SPARC_TLS_GD_ADD,
2026 0 : 0x5000003b => Type::SPARC_TLS_GD_CALL,
2027 0 : 0x5000003c => Type::SPARC_TLS_LDM_HI22,
2028 0 : 0x5000003d => Type::SPARC_TLS_LDM_LO10,
2029 0 : 0x5000003e => Type::SPARC_TLS_LDM_ADD,
2030 0 : 0x5000003f => Type::SPARC_TLS_LDM_CALL,
2031 0 : 0x50000040 => Type::SPARC_TLS_LDO_HIX22,
2032 0 : 0x50000041 => Type::SPARC_TLS_LDO_LOX10,
2033 0 : 0x50000042 => Type::SPARC_TLS_LDO_ADD,
2034 0 : 0x50000043 => Type::SPARC_TLS_IE_HI22,
2035 0 : 0x50000044 => Type::SPARC_TLS_IE_LO10,
2036 0 : 0x50000045 => Type::SPARC_TLS_IE_LD,
2037 0 : 0x50000046 => Type::SPARC_TLS_IE_LDX,
2038 0 : 0x50000047 => Type::SPARC_TLS_IE_ADD,
2039 0 : 0x50000048 => Type::SPARC_TLS_LE_HIX22,
2040 0 : 0x50000049 => Type::SPARC_TLS_LE_LOX10,
2041 0 : 0x5000004a => Type::SPARC_TLS_DTPMOD32,
2042 0 : 0x5000004b => Type::SPARC_TLS_DTPMOD64,
2043 0 : 0x5000004c => Type::SPARC_TLS_DTPOFF32,
2044 0 : 0x5000004d => Type::SPARC_TLS_DTPOFF64,
2045 0 : 0x5000004e => Type::SPARC_TLS_TPOFF32,
2046 0 : 0x5000004f => Type::SPARC_TLS_TPOFF64,
2047 0 : 0x50000050 => Type::SPARC_GOTDATA_HIX22,
2048 0 : 0x50000051 => Type::SPARC_GOTDATA_LOX10,
2049 0 : 0x50000052 => Type::SPARC_GOTDATA_OP_HIX22,
2050 0 : 0x50000053 => Type::SPARC_GOTDATA_OP_LOX10,
2051 0 : 0x50000054 => Type::SPARC_GOTDATA_OP,
2052 0 : 0x58000000 => Type::SYSZ_NONE,
2053 0 : 0x58000001 => Type::SYSZ_8,
2054 0 : 0x58000002 => Type::SYSZ_12,
2055 0 : 0x58000003 => Type::SYSZ_16,
2056 0 : 0x58000004 => Type::SYSZ_32,
2057 0 : 0x58000005 => Type::SYSZ_PC32,
2058 0 : 0x58000006 => Type::SYSZ_GOT12,
2059 0 : 0x58000007 => Type::SYSZ_GOT32,
2060 0 : 0x58000008 => Type::SYSZ_PLT32,
2061 0 : 0x58000009 => Type::SYSZ_COPY,
2062 0 : 0x5800000a => Type::SYSZ_GLOB_DAT,
2063 0 : 0x5800000b => Type::SYSZ_JMP_SLOT,
2064 0 : 0x5800000c => Type::SYSZ_RELATIVE,
2065 0 : 0x5800000d => Type::SYSZ_GOTOFF,
2066 0 : 0x5800000e => Type::SYSZ_GOTPC,
2067 0 : 0x5800000f => Type::SYSZ_GOT16,
2068 0 : 0x58000010 => Type::SYSZ_PC16,
2069 0 : 0x58000011 => Type::SYSZ_PC16DBL,
2070 0 : 0x58000012 => Type::SYSZ_PLT16DBL,
2071 0 : 0x58000013 => Type::SYSZ_PC32DBL,
2072 0 : 0x58000014 => Type::SYSZ_PLT32DBL,
2073 0 : 0x58000015 => Type::SYSZ_GOTPCDBL,
2074 0 : 0x58000016 => Type::SYSZ_64,
2075 0 : 0x58000017 => Type::SYSZ_PC64,
2076 0 : 0x58000018 => Type::SYSZ_GOT64,
2077 0 : 0x58000019 => Type::SYSZ_PLT64,
2078 0 : 0x5800001a => Type::SYSZ_GOTENT,
2079 0 : 0x5800001b => Type::SYSZ_GOTOFF16,
2080 0 : 0x5800001c => Type::SYSZ_GOTOFF64,
2081 0 : 0x5800001d => Type::SYSZ_GOTPLT12,
2082 0 : 0x5800001e => Type::SYSZ_GOTPLT16,
2083 0 : 0x5800001f => Type::SYSZ_GOTPLT32,
2084 0 : 0x58000020 => Type::SYSZ_GOTPLT64,
2085 0 : 0x58000021 => Type::SYSZ_GOTPLTENT,
2086 0 : 0x58000022 => Type::SYSZ_PLTOFF16,
2087 0 : 0x58000023 => Type::SYSZ_PLTOFF32,
2088 0 : 0x58000024 => Type::SYSZ_PLTOFF64,
2089 0 : 0x58000025 => Type::SYSZ_TLS_LOAD,
2090 0 : 0x58000026 => Type::SYSZ_TLS_GDCALL,
2091 0 : 0x58000027 => Type::SYSZ_TLS_LDCALL,
2092 0 : 0x58000028 => Type::SYSZ_TLS_GD32,
2093 0 : 0x58000029 => Type::SYSZ_TLS_GD64,
2094 0 : 0x5800002a => Type::SYSZ_TLS_GOTIE12,
2095 0 : 0x5800002b => Type::SYSZ_TLS_GOTIE32,
2096 0 : 0x5800002c => Type::SYSZ_TLS_GOTIE64,
2097 0 : 0x5800002d => Type::SYSZ_TLS_LDM32,
2098 0 : 0x5800002e => Type::SYSZ_TLS_LDM64,
2099 0 : 0x5800002f => Type::SYSZ_TLS_IE32,
2100 0 : 0x58000030 => Type::SYSZ_TLS_IE64,
2101 0 : 0x58000031 => Type::SYSZ_TLS_IEENT,
2102 0 : 0x58000032 => Type::SYSZ_TLS_LE32,
2103 0 : 0x58000033 => Type::SYSZ_TLS_LE64,
2104 0 : 0x58000034 => Type::SYSZ_TLS_LDO32,
2105 0 : 0x58000035 => Type::SYSZ_TLS_LDO64,
2106 0 : 0x58000036 => Type::SYSZ_TLS_DTPMOD,
2107 0 : 0x58000037 => Type::SYSZ_TLS_DTPOFF,
2108 0 : 0x58000038 => Type::SYSZ_TLS_TPOFF,
2109 0 : 0x58000039 => Type::SYSZ_20,
2110 0 : 0x5800003a => Type::SYSZ_GOT20,
2111 0 : 0x5800003b => Type::SYSZ_GOTPLT20,
2112 0 : 0x5800003c => Type::SYSZ_TLS_GOTIE20,
2113 0 : 0x5800003d => Type::SYSZ_IRELATIVE,
2114 0 : 0x5800003e => Type::SYSZ_PC12DBL,
2115 0 : 0x5800003f => Type::SYSZ_PLT12DBL,
2116 0 : 0x58000040 => Type::SYSZ_PC24DBL,
2117 0 : 0x58000041 => Type::SYSZ_PLT24DBL,
2118 0 : 0x60000000 => Type::RISCV_NONE,
2119 0 : 0x60000001 => Type::RISCV_32,
2120 0 : 0x60000002 => Type::RISCV_64,
2121 0 : 0x60000003 => Type::RISCV_RELATIVE,
2122 0 : 0x60000004 => Type::RISCV_COPY,
2123 0 : 0x60000005 => Type::RISCV_JUMP_SLOT,
2124 0 : 0x60000006 => Type::RISCV_TLS_DTPMOD32,
2125 0 : 0x60000007 => Type::RISCV_TLS_DTPMOD64,
2126 0 : 0x60000008 => Type::RISCV_TLS_DTPREL32,
2127 0 : 0x60000009 => Type::RISCV_TLS_DTPREL64,
2128 0 : 0x6000000a => Type::RISCV_TLS_TPREL32,
2129 0 : 0x6000000b => Type::RISCV_TLS_TPREL64,
2130 0 : 0x6000000c => Type::RISCV_TLSDESC,
2131 0 : 0x60000010 => Type::RISCV_BRANCH,
2132 0 : 0x60000011 => Type::RISCV_JAL,
2133 0 : 0x60000012 => Type::RISCV_CALL,
2134 0 : 0x60000013 => Type::RISCV_CALL_PLT,
2135 0 : 0x60000014 => Type::RISCV_GOT_HI20,
2136 0 : 0x60000015 => Type::RISCV_TLS_GOT_HI20,
2137 0 : 0x60000016 => Type::RISCV_TLS_GD_HI20,
2138 0 : 0x60000017 => Type::RISCV_PCREL_HI20,
2139 0 : 0x60000018 => Type::RISCV_PCREL_LO12_I,
2140 0 : 0x60000019 => Type::RISCV_PCREL_LO12_S,
2141 0 : 0x6000001a => Type::RISCV_HI20,
2142 0 : 0x6000001b => Type::RISCV_LO12_I,
2143 0 : 0x6000001c => Type::RISCV_LO12_S,
2144 0 : 0x6000001d => Type::RISCV_TPREL_HI20,
2145 0 : 0x6000001e => Type::RISCV_TPREL_LO12_I,
2146 0 : 0x6000001f => Type::RISCV_TPREL_LO12_S,
2147 0 : 0x60000020 => Type::RISCV_TPREL_ADD,
2148 0 : 0x60000021 => Type::RISCV_ADD8,
2149 0 : 0x60000022 => Type::RISCV_ADD16,
2150 0 : 0x60000023 => Type::RISCV_ADD32,
2151 0 : 0x60000024 => Type::RISCV_ADD64,
2152 0 : 0x60000025 => Type::RISCV_SUB8,
2153 0 : 0x60000026 => Type::RISCV_SUB16,
2154 0 : 0x60000027 => Type::RISCV_SUB32,
2155 0 : 0x60000028 => Type::RISCV_SUB64,
2156 0 : 0x60000029 => Type::RISCV_GOT32_PCREL,
2157 0 : 0x6000002b => Type::RISCV_ALIGN,
2158 0 : 0x6000002c => Type::RISCV_RVC_BRANCH,
2159 0 : 0x6000002d => Type::RISCV_RVC_JUMP,
2160 0 : 0x6000002e => Type::RISCV_RVC_LUI,
2161 0 : 0x60000033 => Type::RISCV_RELAX,
2162 0 : 0x60000034 => Type::RISCV_SUB6,
2163 0 : 0x60000035 => Type::RISCV_SET6,
2164 0 : 0x60000036 => Type::RISCV_SET8,
2165 0 : 0x60000037 => Type::RISCV_SET16,
2166 0 : 0x60000038 => Type::RISCV_SET32,
2167 0 : 0x60000039 => Type::RISCV_32_PCREL,
2168 0 : 0x6000003a => Type::RISCV_IRELATIVE,
2169 0 : 0x6000003b => Type::RISCV_PLT32,
2170 0 : 0x6000003c => Type::RISCV_SET_ULEB128,
2171 0 : 0x6000003d => Type::RISCV_SUB_ULEB128,
2172 0 : 0x6000003e => Type::RISCV_TLSDESC_HI20,
2173 0 : 0x6000003f => Type::RISCV_TLSDESC_LOAD_LO12,
2174 0 : 0x60000040 => Type::RISCV_TLSDESC_ADD_LO12,
2175 0 : 0x60000041 => Type::RISCV_TLSDESC_CALL,
2176 0 : 0x68000000 => Type::BPF_NONE,
2177 0 : 0x68000001 => Type::BPF_64_64,
2178 0 : 0x68000002 => Type::BPF_64_ABS64,
2179 0 : 0x68000003 => Type::BPF_64_ABS32,
2180 0 : 0x68000004 => Type::BPF_64_NODYLD32,
2181 0 : 0x6800000a => Type::BPF_64_32,
2182 0 : 0x70000000 => Type::SH_NONE,
2183 0 : 0x70000001 => Type::SH_DIR32,
2184 0 : 0x70000002 => Type::SH_REL32,
2185 0 : 0x70000003 => Type::SH_DIR8WPN,
2186 0 : 0x70000004 => Type::SH_IND12W,
2187 0 : 0x70000005 => Type::SH_DIR8WPL,
2188 0 : 0x70000006 => Type::SH_DIR8WPZ,
2189 0 : 0x70000007 => Type::SH_DIR8BP,
2190 0 : 0x70000008 => Type::SH_DIR8W,
2191 0 : 0x70000009 => Type::SH_DIR8L,
2192 0 : 0x7000000a => Type::SH_LOOP_START,
2193 0 : 0x7000000b => Type::SH_LOOP_END,
2194 0 : 0x70000016 => Type::SH_GNU_VTINHERIT,
2195 0 : 0x70000017 => Type::SH_GNU_VTENTRY,
2196 0 : 0x70000018 => Type::SH_SWITCH8,
2197 0 : 0x70000019 => Type::SH_SWITCH16,
2198 0 : 0x7000001a => Type::SH_SWITCH32,
2199 0 : 0x7000001b => Type::SH_USES,
2200 0 : 0x7000001c => Type::SH_COUNT,
2201 0 : 0x7000001d => Type::SH_ALIGN,
2202 0 : 0x7000001e => Type::SH_CODE,
2203 0 : 0x7000001f => Type::SH_DATA,
2204 0 : 0x70000020 => Type::SH_LABEL,
2205 0 : 0x70000021 => Type::SH_DIR16,
2206 0 : 0x70000022 => Type::SH_DIR8,
2207 0 : 0x70000023 => Type::SH_DIR8UL,
2208 0 : 0x70000024 => Type::SH_DIR8UW,
2209 0 : 0x70000025 => Type::SH_DIR8U,
2210 0 : 0x70000026 => Type::SH_DIR8SW,
2211 0 : 0x70000027 => Type::SH_DIR8S,
2212 0 : 0x70000028 => Type::SH_DIR4UL,
2213 0 : 0x70000029 => Type::SH_DIR4UW,
2214 0 : 0x7000002a => Type::SH_DIR4U,
2215 0 : 0x7000002b => Type::SH_PSHA,
2216 0 : 0x7000002c => Type::SH_PSHL,
2217 0 : 0x7000002d => Type::SH_DIR5U,
2218 0 : 0x7000002e => Type::SH_DIR6U,
2219 0 : 0x7000002f => Type::SH_DIR6S,
2220 0 : 0x70000030 => Type::SH_DIR10S,
2221 0 : 0x70000031 => Type::SH_DIR10SW,
2222 0 : 0x70000032 => Type::SH_DIR10SL,
2223 0 : 0x70000033 => Type::SH_DIR10SQ,
2224 0 : 0x70000035 => Type::SH_DIR16S,
2225 0 : 0x70000090 => Type::SH_TLS_GD_32,
2226 0 : 0x70000091 => Type::SH_TLS_LD_32,
2227 0 : 0x70000092 => Type::SH_TLS_LDO_32,
2228 0 : 0x70000093 => Type::SH_TLS_IE_32,
2229 0 : 0x70000094 => Type::SH_TLS_LE_32,
2230 0 : 0x70000095 => Type::SH_TLS_DTPMOD32,
2231 0 : 0x70000096 => Type::SH_TLS_DTPOFF32,
2232 0 : 0x70000097 => Type::SH_TLS_TPOFF32,
2233 0 : 0x700000a0 => Type::SH_GOT32,
2234 0 : 0x700000a1 => Type::SH_PLT32,
2235 0 : 0x700000a2 => Type::SH_COPY,
2236 0 : 0x700000a3 => Type::SH_GLOB_DAT,
2237 0 : 0x700000a4 => Type::SH_JMP_SLOT,
2238 0 : 0x700000a5 => Type::SH_RELATIVE,
2239 0 : 0x700000a6 => Type::SH_GOTOFF,
2240 0 : 0x700000a7 => Type::SH_GOTPC,
2241 0 : 0x700000a8 => Type::SH_GOTPLT32,
2242 0 : 0x700000a9 => Type::SH_GOT_LOW16,
2243 0 : 0x700000aa => Type::SH_GOT_MEDLOW16,
2244 0 : 0x700000ab => Type::SH_GOT_MEDHI16,
2245 0 : 0x700000ac => Type::SH_GOT_HI16,
2246 0 : 0x700000ad => Type::SH_GOTPLT_LOW16,
2247 0 : 0x700000ae => Type::SH_GOTPLT_MEDLOW16,
2248 0 : 0x700000af => Type::SH_GOTPLT_MEDHI16,
2249 0 : 0x700000b0 => Type::SH_GOTPLT_HI16,
2250 0 : 0x700000b1 => Type::SH_PLT_LOW16,
2251 0 : 0x700000b2 => Type::SH_PLT_MEDLOW16,
2252 0 : 0x700000b3 => Type::SH_PLT_MEDHI16,
2253 0 : 0x700000b4 => Type::SH_PLT_HI16,
2254 0 : 0x700000b5 => Type::SH_GOTOFF_LOW16,
2255 0 : 0x700000b6 => Type::SH_GOTOFF_MEDLOW16,
2256 0 : 0x700000b7 => Type::SH_GOTOFF_MEDHI16,
2257 0 : 0x700000b8 => Type::SH_GOTOFF_HI16,
2258 0 : 0x700000b9 => Type::SH_GOTPC_LOW16,
2259 0 : 0x700000ba => Type::SH_GOTPC_MEDLOW16,
2260 0 : 0x700000bb => Type::SH_GOTPC_MEDHI16,
2261 0 : 0x700000bc => Type::SH_GOTPC_HI16,
2262 0 : 0x700000bd => Type::SH_GOT10BY4,
2263 0 : 0x700000be => Type::SH_GOTPLT10BY4,
2264 0 : 0x700000bf => Type::SH_GOT10BY8,
2265 0 : 0x700000c0 => Type::SH_GOTPLT10BY8,
2266 0 : 0x700000c1 => Type::SH_COPY64,
2267 0 : 0x700000c2 => Type::SH_GLOB_DAT64,
2268 0 : 0x700000c3 => Type::SH_JMP_SLOT64,
2269 0 : 0x700000c4 => Type::SH_RELATIVE64,
2270 0 : 0x700000c9 => Type::SH_GOT20,
2271 0 : 0x700000ca => Type::SH_GOTOFF20,
2272 0 : 0x700000cb => Type::SH_GOTFUNCDESC,
2273 0 : 0x700000cc => Type::SH_GOTFUNCDESC20,
2274 0 : 0x700000cd => Type::SH_GOTOFFFUNCDESC,
2275 0 : 0x700000ce => Type::SH_GOTOFFFUNCDESC20,
2276 0 : 0x700000cf => Type::SH_FUNCDESC,
2277 0 : 0x700000d0 => Type::SH_FUNCDESC_VALUE,
2278 0 : 0x700000f2 => Type::SH_SHMEDIA_CODE,
2279 0 : 0x700000f3 => Type::SH_PT_16,
2280 0 : 0x700000f4 => Type::SH_IMMS16,
2281 0 : 0x700000f5 => Type::SH_IMMU16,
2282 0 : 0x700000f6 => Type::SH_IMM_LOW16,
2283 0 : 0x700000f7 => Type::SH_IMM_LOW16_PCREL,
2284 0 : 0x700000f8 => Type::SH_IMM_MEDLOW16,
2285 0 : 0x700000f9 => Type::SH_IMM_MEDLOW16_PCREL,
2286 0 : 0x700000fa => Type::SH_IMM_MEDHI16,
2287 0 : 0x700000fb => Type::SH_IMM_MEDHI16_PCREL,
2288 0 : 0x700000fc => Type::SH_IMM_HI16,
2289 0 : 0x700000fd => Type::SH_IMM_HI16_PCREL,
2290 0 : 0x700000fe => Type::SH_64,
2291 0 : 0x700000ff => Type::SH_64_PCREL,
2292 0 : _ => Type::UNKNOWN(value),
2293 :
2294 : }
2295 19440 : }
2296 : }
2297 : impl From<Type> for u32 {
2298 0 : fn from(value: Type) -> u32 {
2299 0 : match value {
2300 0 : Type::X86_64_NONE => 0x08000000,
2301 0 : Type::X86_64_64 => 0x08000001,
2302 0 : Type::X86_64_PC32 => 0x08000002,
2303 0 : Type::X86_64_GOT32 => 0x08000003,
2304 0 : Type::X86_64_PLT32 => 0x08000004,
2305 0 : Type::X86_64_COPY => 0x08000005,
2306 0 : Type::X86_64_GLOB_DAT => 0x08000006,
2307 0 : Type::X86_64_JUMP_SLOT => 0x08000007,
2308 0 : Type::X86_64_RELATIVE => 0x08000008,
2309 0 : Type::X86_64_GOTPCREL => 0x08000009,
2310 0 : Type::X86_64_32 => 0x0800000a,
2311 0 : Type::X86_64_32S => 0x0800000b,
2312 0 : Type::X86_64_16 => 0x0800000c,
2313 0 : Type::X86_64_PC16 => 0x0800000d,
2314 0 : Type::X86_64_8 => 0x0800000e,
2315 0 : Type::X86_64_PC8 => 0x0800000f,
2316 0 : Type::X86_64_DTPMOD64 => 0x08000010,
2317 0 : Type::X86_64_DTPOFF64 => 0x08000011,
2318 0 : Type::X86_64_TPOFF64 => 0x08000012,
2319 0 : Type::X86_64_TLSGD => 0x08000013,
2320 0 : Type::X86_64_TLSLD => 0x08000014,
2321 0 : Type::X86_64_DTPOFF32 => 0x08000015,
2322 0 : Type::X86_64_GOTTPOFF => 0x08000016,
2323 0 : Type::X86_64_TPOFF32 => 0x08000017,
2324 0 : Type::X86_64_PC64 => 0x08000018,
2325 0 : Type::X86_64_GOTOFF64 => 0x08000019,
2326 0 : Type::X86_64_GOTPC32 => 0x0800001a,
2327 0 : Type::X86_64_GOT64 => 0x0800001b,
2328 0 : Type::X86_64_GOTPCREL64 => 0x0800001c,
2329 0 : Type::X86_64_GOTPC64 => 0x0800001d,
2330 0 : Type::X86_64_GOTPLT64 => 0x0800001e,
2331 0 : Type::X86_64_PLTOFF64 => 0x0800001f,
2332 0 : Type::X86_64_SIZE32 => 0x08000020,
2333 0 : Type::X86_64_SIZE64 => 0x08000021,
2334 0 : Type::X86_64_GOTPC32_TLSDESC => 0x08000022,
2335 0 : Type::X86_64_TLSDESC_CALL => 0x08000023,
2336 0 : Type::X86_64_TLSDESC => 0x08000024,
2337 0 : Type::X86_64_IRELATIVE => 0x08000025,
2338 0 : Type::X86_64_RELATIVE64 => 0x08000026,
2339 0 : Type::X86_64_PC32_BND => 0x08000027,
2340 0 : Type::X86_64_PLT32_BND => 0x08000028,
2341 0 : Type::X86_64_GOTPCRELX => 0x08000029,
2342 0 : Type::X86_64_REX_GOTPCRELX => 0x0800002a,
2343 0 : Type::AARCH64_NONE => 0x10000000,
2344 0 : Type::AARCH64_ABS64 => 0x10000101,
2345 0 : Type::AARCH64_ABS32 => 0x10000102,
2346 0 : Type::AARCH64_ABS16 => 0x10000103,
2347 0 : Type::AARCH64_PREL64 => 0x10000104,
2348 0 : Type::AARCH64_PREL32 => 0x10000105,
2349 0 : Type::AARCH64_PREL16 => 0x10000106,
2350 0 : Type::AARCH64_MOVW_UABS_G0 => 0x10000107,
2351 0 : Type::AARCH64_MOVW_UABS_G0_NC => 0x10000108,
2352 0 : Type::AARCH64_MOVW_UABS_G1 => 0x10000109,
2353 0 : Type::AARCH64_MOVW_UABS_G1_NC => 0x1000010a,
2354 0 : Type::AARCH64_MOVW_UABS_G2 => 0x1000010b,
2355 0 : Type::AARCH64_MOVW_UABS_G2_NC => 0x1000010c,
2356 0 : Type::AARCH64_MOVW_UABS_G3 => 0x1000010d,
2357 0 : Type::AARCH64_MOVW_SABS_G0 => 0x1000010e,
2358 0 : Type::AARCH64_MOVW_SABS_G1 => 0x1000010f,
2359 0 : Type::AARCH64_MOVW_SABS_G2 => 0x10000110,
2360 0 : Type::AARCH64_LD_PREL_LO19 => 0x10000111,
2361 0 : Type::AARCH64_ADR_PREL_LO21 => 0x10000112,
2362 0 : Type::AARCH64_ADR_PREL_PG_HI21 => 0x10000113,
2363 0 : Type::AARCH64_ADR_PREL_PG_HI21_NC => 0x10000114,
2364 0 : Type::AARCH64_ADD_ABS_LO12_NC => 0x10000115,
2365 0 : Type::AARCH64_LDST8_ABS_LO12_NC => 0x10000116,
2366 0 : Type::AARCH64_TSTBR14 => 0x10000117,
2367 0 : Type::AARCH64_CONDBR19 => 0x10000118,
2368 0 : Type::AARCH64_JUMP26 => 0x1000011a,
2369 0 : Type::AARCH64_CALL26 => 0x1000011b,
2370 0 : Type::AARCH64_LDST16_ABS_LO12_NC => 0x1000011c,
2371 0 : Type::AARCH64_LDST32_ABS_LO12_NC => 0x1000011d,
2372 0 : Type::AARCH64_LDST64_ABS_LO12_NC => 0x1000011e,
2373 0 : Type::AARCH64_MOVW_PREL_G0 => 0x1000011f,
2374 0 : Type::AARCH64_MOVW_PREL_G0_NC => 0x10000120,
2375 0 : Type::AARCH64_MOVW_PREL_G1 => 0x10000121,
2376 0 : Type::AARCH64_MOVW_PREL_G1_NC => 0x10000122,
2377 0 : Type::AARCH64_MOVW_PREL_G2 => 0x10000123,
2378 0 : Type::AARCH64_MOVW_PREL_G2_NC => 0x10000124,
2379 0 : Type::AARCH64_MOVW_PREL_G3 => 0x10000125,
2380 0 : Type::AARCH64_LDST128_ABS_LO12_NC => 0x1000012b,
2381 0 : Type::AARCH64_MOVW_GOTOFF_G0 => 0x1000012c,
2382 0 : Type::AARCH64_MOVW_GOTOFF_G0_NC => 0x1000012d,
2383 0 : Type::AARCH64_MOVW_GOTOFF_G1 => 0x1000012e,
2384 0 : Type::AARCH64_MOVW_GOTOFF_G1_NC => 0x1000012f,
2385 0 : Type::AARCH64_MOVW_GOTOFF_G2 => 0x10000130,
2386 0 : Type::AARCH64_MOVW_GOTOFF_G2_NC => 0x10000131,
2387 0 : Type::AARCH64_MOVW_GOTOFF_G3 => 0x10000132,
2388 0 : Type::AARCH64_GOTREL64 => 0x10000133,
2389 0 : Type::AARCH64_GOTREL32 => 0x10000134,
2390 0 : Type::AARCH64_GOT_LD_PREL19 => 0x10000135,
2391 0 : Type::AARCH64_LD64_GOTOFF_LO15 => 0x10000136,
2392 0 : Type::AARCH64_ADR_GOT_PAGE => 0x10000137,
2393 0 : Type::AARCH64_LD64_GOT_LO12_NC => 0x10000138,
2394 0 : Type::AARCH64_LD64_GOTPAGE_LO15 => 0x10000139,
2395 0 : Type::AARCH64_TLSGD_ADR_PREL21 => 0x10000200,
2396 0 : Type::AARCH64_TLSGD_ADR_PAGE21 => 0x10000201,
2397 0 : Type::AARCH64_TLSGD_ADD_LO12_NC => 0x10000202,
2398 0 : Type::AARCH64_TLSGD_MOVW_G1 => 0x10000203,
2399 0 : Type::AARCH64_TLSGD_MOVW_G0_NC => 0x10000204,
2400 0 : Type::AARCH64_TLSLD_ADR_PREL21 => 0x10000205,
2401 0 : Type::AARCH64_TLSLD_ADR_PAGE21 => 0x10000206,
2402 0 : Type::AARCH64_TLSLD_ADD_LO12_NC => 0x10000207,
2403 0 : Type::AARCH64_TLSLD_MOVW_G1 => 0x10000208,
2404 0 : Type::AARCH64_TLSLD_MOVW_G0_NC => 0x10000209,
2405 0 : Type::AARCH64_TLSLD_LD_PREL19 => 0x1000020a,
2406 0 : Type::AARCH64_TLSLD_MOVW_DTPREL_G2 => 0x1000020b,
2407 0 : Type::AARCH64_TLSLD_MOVW_DTPREL_G1 => 0x1000020c,
2408 0 : Type::AARCH64_TLSLD_MOVW_DTPREL_G1_NC => 0x1000020d,
2409 0 : Type::AARCH64_TLSLD_MOVW_DTPREL_G0 => 0x1000020e,
2410 0 : Type::AARCH64_TLSLD_MOVW_DTPREL_G0_NC => 0x1000020f,
2411 0 : Type::AARCH64_TLSLD_ADD_DTPREL_HI12 => 0x10000210,
2412 0 : Type::AARCH64_TLSLD_ADD_DTPREL_LO12 => 0x10000211,
2413 0 : Type::AARCH64_TLSLD_ADD_DTPREL_LO12_NC => 0x10000212,
2414 0 : Type::AARCH64_TLSLD_LDST8_DTPREL_LO12 => 0x10000213,
2415 0 : Type::AARCH64_TLSLD_LDST8_DTPREL_LO12_NC => 0x10000214,
2416 0 : Type::AARCH64_TLSLD_LDST16_DTPREL_LO12 => 0x10000215,
2417 0 : Type::AARCH64_TLSLD_LDST16_DTPREL_LO12_NC => 0x10000216,
2418 0 : Type::AARCH64_TLSLD_LDST32_DTPREL_LO12 => 0x10000217,
2419 0 : Type::AARCH64_TLSLD_LDST32_DTPREL_LO12_NC => 0x10000218,
2420 0 : Type::AARCH64_TLSLD_LDST64_DTPREL_LO12 => 0x10000219,
2421 0 : Type::AARCH64_TLSLD_LDST64_DTPREL_LO12_NC => 0x1000021a,
2422 0 : Type::AARCH64_TLSIE_MOVW_GOTTPREL_G1 => 0x1000021b,
2423 0 : Type::AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC => 0x1000021c,
2424 0 : Type::AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 => 0x1000021d,
2425 0 : Type::AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC => 0x1000021e,
2426 0 : Type::AARCH64_TLSIE_LD_GOTTPREL_PREL19 => 0x1000021f,
2427 0 : Type::AARCH64_TLSLE_MOVW_TPREL_G2 => 0x10000220,
2428 0 : Type::AARCH64_TLSLE_MOVW_TPREL_G1 => 0x10000221,
2429 0 : Type::AARCH64_TLSLE_MOVW_TPREL_G1_NC => 0x10000222,
2430 0 : Type::AARCH64_TLSLE_MOVW_TPREL_G0 => 0x10000223,
2431 0 : Type::AARCH64_TLSLE_MOVW_TPREL_G0_NC => 0x10000224,
2432 0 : Type::AARCH64_TLSLE_ADD_TPREL_HI12 => 0x10000225,
2433 0 : Type::AARCH64_TLSLE_ADD_TPREL_LO12 => 0x10000226,
2434 0 : Type::AARCH64_TLSLE_ADD_TPREL_LO12_NC => 0x10000227,
2435 0 : Type::AARCH64_TLSLE_LDST8_TPREL_LO12 => 0x10000228,
2436 0 : Type::AARCH64_TLSLE_LDST8_TPREL_LO12_NC => 0x10000229,
2437 0 : Type::AARCH64_TLSLE_LDST16_TPREL_LO12 => 0x1000022a,
2438 0 : Type::AARCH64_TLSLE_LDST16_TPREL_LO12_NC => 0x1000022b,
2439 0 : Type::AARCH64_TLSLE_LDST32_TPREL_LO12 => 0x1000022c,
2440 0 : Type::AARCH64_TLSLE_LDST32_TPREL_LO12_NC => 0x1000022d,
2441 0 : Type::AARCH64_TLSLE_LDST64_TPREL_LO12 => 0x1000022e,
2442 0 : Type::AARCH64_TLSLE_LDST64_TPREL_LO12_NC => 0x1000022f,
2443 0 : Type::AARCH64_TLSDESC_LD_PREL19 => 0x10000230,
2444 0 : Type::AARCH64_TLSDESC_ADR_PREL21 => 0x10000231,
2445 0 : Type::AARCH64_TLSDESC_ADR_PAGE21 => 0x10000232,
2446 0 : Type::AARCH64_TLSDESC_LD64_LO12_NC => 0x10000233,
2447 0 : Type::AARCH64_TLSDESC_ADD_LO12_NC => 0x10000234,
2448 0 : Type::AARCH64_TLSDESC_OFF_G1 => 0x10000235,
2449 0 : Type::AARCH64_TLSDESC_OFF_G0_NC => 0x10000236,
2450 0 : Type::AARCH64_TLSDESC_LDR => 0x10000237,
2451 0 : Type::AARCH64_TLSDESC_ADD => 0x10000238,
2452 0 : Type::AARCH64_TLSDESC_CALL => 0x10000239,
2453 0 : Type::AARCH64_TLSLE_LDST128_TPREL_LO12 => 0x1000023a,
2454 0 : Type::AARCH64_TLSLE_LDST128_TPREL_LO12_NC => 0x1000023b,
2455 0 : Type::AARCH64_TLSLD_LDST128_DTPREL_LO12 => 0x1000023c,
2456 0 : Type::AARCH64_TLSLD_LDST128_DTPREL_LO12_NC => 0x1000023d,
2457 0 : Type::AARCH64_COPY => 0x10000400,
2458 0 : Type::AARCH64_GLOB_DAT => 0x10000401,
2459 0 : Type::AARCH64_JUMP_SLOT => 0x10000402,
2460 0 : Type::AARCH64_RELATIVE => 0x10000403,
2461 0 : Type::AARCH64_TLS_DTPREL64 => 0x10000404,
2462 0 : Type::AARCH64_TLS_DTPMOD64 => 0x10000405,
2463 0 : Type::AARCH64_TLS_TPREL64 => 0x10000406,
2464 0 : Type::AARCH64_TLSDESC => 0x10000407,
2465 0 : Type::AARCH64_IRELATIVE => 0x10000408,
2466 0 : Type::ARM_NONE => 0x18000000,
2467 0 : Type::ARM_PC24 => 0x18000001,
2468 0 : Type::ARM_ABS32 => 0x18000002,
2469 0 : Type::ARM_REL32 => 0x18000003,
2470 0 : Type::ARM_LDR_PC_G0 => 0x18000004,
2471 0 : Type::ARM_ABS16 => 0x18000005,
2472 0 : Type::ARM_ABS12 => 0x18000006,
2473 0 : Type::ARM_THM_ABS5 => 0x18000007,
2474 0 : Type::ARM_ABS8 => 0x18000008,
2475 0 : Type::ARM_SBREL32 => 0x18000009,
2476 0 : Type::ARM_THM_CALL => 0x1800000a,
2477 0 : Type::ARM_THM_PC8 => 0x1800000b,
2478 0 : Type::ARM_BREL_ADJ => 0x1800000c,
2479 0 : Type::ARM_TLS_DESC => 0x1800000d,
2480 0 : Type::ARM_THM_SWI8 => 0x1800000e,
2481 0 : Type::ARM_XPC25 => 0x1800000f,
2482 0 : Type::ARM_THM_XPC22 => 0x18000010,
2483 0 : Type::ARM_TLS_DTPMOD32 => 0x18000011,
2484 0 : Type::ARM_TLS_DTPOFF32 => 0x18000012,
2485 0 : Type::ARM_TLS_TPOFF32 => 0x18000013,
2486 0 : Type::ARM_COPY => 0x18000014,
2487 0 : Type::ARM_GLOB_DAT => 0x18000015,
2488 0 : Type::ARM_JUMP_SLOT => 0x18000016,
2489 0 : Type::ARM_RELATIVE => 0x18000017,
2490 0 : Type::ARM_GOTOFF32 => 0x18000018,
2491 0 : Type::ARM_BASE_PREL => 0x18000019,
2492 0 : Type::ARM_GOT_BREL => 0x1800001a,
2493 0 : Type::ARM_PLT32 => 0x1800001b,
2494 0 : Type::ARM_CALL => 0x1800001c,
2495 0 : Type::ARM_JUMP24 => 0x1800001d,
2496 0 : Type::ARM_THM_JUMP24 => 0x1800001e,
2497 0 : Type::ARM_BASE_ABS => 0x1800001f,
2498 0 : Type::ARM_ALU_PCREL_7_0 => 0x18000020,
2499 0 : Type::ARM_ALU_PCREL_15_8 => 0x18000021,
2500 0 : Type::ARM_ALU_PCREL_23_15 => 0x18000022,
2501 0 : Type::ARM_LDR_SBREL_11_0_NC => 0x18000023,
2502 0 : Type::ARM_ALU_SBREL_19_12_NC => 0x18000024,
2503 0 : Type::ARM_ALU_SBREL_27_20_CK => 0x18000025,
2504 0 : Type::ARM_TARGET1 => 0x18000026,
2505 0 : Type::ARM_SBREL31 => 0x18000027,
2506 0 : Type::ARM_V4BX => 0x18000028,
2507 0 : Type::ARM_TARGET2 => 0x18000029,
2508 0 : Type::ARM_PREL31 => 0x1800002a,
2509 0 : Type::ARM_MOVW_ABS_NC => 0x1800002b,
2510 0 : Type::ARM_MOVT_ABS => 0x1800002c,
2511 0 : Type::ARM_MOVW_PREL_NC => 0x1800002d,
2512 0 : Type::ARM_MOVT_PREL => 0x1800002e,
2513 0 : Type::ARM_THM_MOVW_ABS_NC => 0x1800002f,
2514 0 : Type::ARM_THM_MOVT_ABS => 0x18000030,
2515 0 : Type::ARM_THM_MOVW_PREL_NC => 0x18000031,
2516 0 : Type::ARM_THM_MOVT_PREL => 0x18000032,
2517 0 : Type::ARM_THM_JUMP19 => 0x18000033,
2518 0 : Type::ARM_THM_JUMP6 => 0x18000034,
2519 0 : Type::ARM_THM_ALU_PREL_11_0 => 0x18000035,
2520 0 : Type::ARM_THM_PC12 => 0x18000036,
2521 0 : Type::ARM_ABS32_NOI => 0x18000037,
2522 0 : Type::ARM_REL32_NOI => 0x18000038,
2523 0 : Type::ARM_ALU_PC_G0_NC => 0x18000039,
2524 0 : Type::ARM_ALU_PC_G0 => 0x1800003a,
2525 0 : Type::ARM_ALU_PC_G1_NC => 0x1800003b,
2526 0 : Type::ARM_ALU_PC_G1 => 0x1800003c,
2527 0 : Type::ARM_ALU_PC_G2 => 0x1800003d,
2528 0 : Type::ARM_LDR_PC_G1 => 0x1800003e,
2529 0 : Type::ARM_LDR_PC_G2 => 0x1800003f,
2530 0 : Type::ARM_LDRS_PC_G0 => 0x18000040,
2531 0 : Type::ARM_LDRS_PC_G1 => 0x18000041,
2532 0 : Type::ARM_LDRS_PC_G2 => 0x18000042,
2533 0 : Type::ARM_LDC_PC_G0 => 0x18000043,
2534 0 : Type::ARM_LDC_PC_G1 => 0x18000044,
2535 0 : Type::ARM_LDC_PC_G2 => 0x18000045,
2536 0 : Type::ARM_ALU_SB_G0_NC => 0x18000046,
2537 0 : Type::ARM_ALU_SB_G0 => 0x18000047,
2538 0 : Type::ARM_ALU_SB_G1_NC => 0x18000048,
2539 0 : Type::ARM_ALU_SB_G1 => 0x18000049,
2540 0 : Type::ARM_ALU_SB_G2 => 0x1800004a,
2541 0 : Type::ARM_LDR_SB_G0 => 0x1800004b,
2542 0 : Type::ARM_LDR_SB_G1 => 0x1800004c,
2543 0 : Type::ARM_LDR_SB_G2 => 0x1800004d,
2544 0 : Type::ARM_LDRS_SB_G0 => 0x1800004e,
2545 0 : Type::ARM_LDRS_SB_G1 => 0x1800004f,
2546 0 : Type::ARM_LDRS_SB_G2 => 0x18000050,
2547 0 : Type::ARM_LDC_SB_G0 => 0x18000051,
2548 0 : Type::ARM_LDC_SB_G1 => 0x18000052,
2549 0 : Type::ARM_LDC_SB_G2 => 0x18000053,
2550 0 : Type::ARM_MOVW_BREL_NC => 0x18000054,
2551 0 : Type::ARM_MOVT_BREL => 0x18000055,
2552 0 : Type::ARM_MOVW_BREL => 0x18000056,
2553 0 : Type::ARM_THM_MOVW_BREL_NC => 0x18000057,
2554 0 : Type::ARM_THM_MOVT_BREL => 0x18000058,
2555 0 : Type::ARM_THM_MOVW_BREL => 0x18000059,
2556 0 : Type::ARM_TLS_GOTDESC => 0x1800005a,
2557 0 : Type::ARM_TLS_CALL => 0x1800005b,
2558 0 : Type::ARM_TLS_DESCSEQ => 0x1800005c,
2559 0 : Type::ARM_THM_TLS_CALL => 0x1800005d,
2560 0 : Type::ARM_PLT32_ABS => 0x1800005e,
2561 0 : Type::ARM_GOT_ABS => 0x1800005f,
2562 0 : Type::ARM_GOT_PREL => 0x18000060,
2563 0 : Type::ARM_GOT_BREL12 => 0x18000061,
2564 0 : Type::ARM_GOTOFF12 => 0x18000062,
2565 0 : Type::ARM_GOTRELAX => 0x18000063,
2566 0 : Type::ARM_GNU_VTENTRY => 0x18000064,
2567 0 : Type::ARM_GNU_VTINHERIT => 0x18000065,
2568 0 : Type::ARM_THM_JUMP11 => 0x18000066,
2569 0 : Type::ARM_THM_JUMP8 => 0x18000067,
2570 0 : Type::ARM_TLS_GD32 => 0x18000068,
2571 0 : Type::ARM_TLS_LDM32 => 0x18000069,
2572 0 : Type::ARM_TLS_LDO32 => 0x1800006a,
2573 0 : Type::ARM_TLS_IE32 => 0x1800006b,
2574 0 : Type::ARM_TLS_LE32 => 0x1800006c,
2575 0 : Type::ARM_TLS_LDO12 => 0x1800006d,
2576 0 : Type::ARM_TLS_LE12 => 0x1800006e,
2577 0 : Type::ARM_TLS_IE12GP => 0x1800006f,
2578 0 : Type::ARM_PRIVATE_0 => 0x18000070,
2579 0 : Type::ARM_PRIVATE_1 => 0x18000071,
2580 0 : Type::ARM_PRIVATE_2 => 0x18000072,
2581 0 : Type::ARM_PRIVATE_3 => 0x18000073,
2582 0 : Type::ARM_PRIVATE_4 => 0x18000074,
2583 0 : Type::ARM_PRIVATE_5 => 0x18000075,
2584 0 : Type::ARM_PRIVATE_6 => 0x18000076,
2585 0 : Type::ARM_PRIVATE_7 => 0x18000077,
2586 0 : Type::ARM_PRIVATE_8 => 0x18000078,
2587 0 : Type::ARM_PRIVATE_9 => 0x18000079,
2588 0 : Type::ARM_PRIVATE_10 => 0x1800007a,
2589 0 : Type::ARM_PRIVATE_11 => 0x1800007b,
2590 0 : Type::ARM_PRIVATE_12 => 0x1800007c,
2591 0 : Type::ARM_PRIVATE_13 => 0x1800007d,
2592 0 : Type::ARM_PRIVATE_14 => 0x1800007e,
2593 0 : Type::ARM_PRIVATE_15 => 0x1800007f,
2594 0 : Type::ARM_ME_TOO => 0x18000080,
2595 0 : Type::ARM_THM_TLS_DESCSEQ16 => 0x18000081,
2596 0 : Type::ARM_THM_TLS_DESCSEQ32 => 0x18000082,
2597 0 : Type::ARM_IRELATIVE => 0x180000a0,
2598 0 : Type::ARM_RXPC25 => 0x180000f9,
2599 0 : Type::ARM_RSBREL32 => 0x180000fa,
2600 0 : Type::ARM_THM_RPC22 => 0x180000fb,
2601 0 : Type::ARM_RREL32 => 0x180000fc,
2602 0 : Type::ARM_RPC24 => 0x180000fd,
2603 0 : Type::ARM_RBASE => 0x180000fe,
2604 0 : Type::HEX_NONE => 0x20000000,
2605 0 : Type::HEX_B22_PCREL => 0x20000001,
2606 0 : Type::HEX_B15_PCREL => 0x20000002,
2607 0 : Type::HEX_B7_PCREL => 0x20000003,
2608 0 : Type::HEX_LO16 => 0x20000004,
2609 0 : Type::HEX_HI16 => 0x20000005,
2610 0 : Type::HEX_32 => 0x20000006,
2611 0 : Type::HEX_16 => 0x20000007,
2612 0 : Type::HEX_8 => 0x20000008,
2613 0 : Type::HEX_GPREL16_0 => 0x20000009,
2614 0 : Type::HEX_GPREL16_1 => 0x2000000a,
2615 0 : Type::HEX_GPREL16_2 => 0x2000000b,
2616 0 : Type::HEX_GPREL16_3 => 0x2000000c,
2617 0 : Type::HEX_HL16 => 0x2000000d,
2618 0 : Type::HEX_B13_PCREL => 0x2000000e,
2619 0 : Type::HEX_B9_PCREL => 0x2000000f,
2620 0 : Type::HEX_B32_PCREL_X => 0x20000010,
2621 0 : Type::HEX_32_6_X => 0x20000011,
2622 0 : Type::HEX_B22_PCREL_X => 0x20000012,
2623 0 : Type::HEX_B15_PCREL_X => 0x20000013,
2624 0 : Type::HEX_B13_PCREL_X => 0x20000014,
2625 0 : Type::HEX_B9_PCREL_X => 0x20000015,
2626 0 : Type::HEX_B7_PCREL_X => 0x20000016,
2627 0 : Type::HEX_16_X => 0x20000017,
2628 0 : Type::HEX_12_X => 0x20000018,
2629 0 : Type::HEX_11_X => 0x20000019,
2630 0 : Type::HEX_10_X => 0x2000001a,
2631 0 : Type::HEX_9_X => 0x2000001b,
2632 0 : Type::HEX_8_X => 0x2000001c,
2633 0 : Type::HEX_7_X => 0x2000001d,
2634 0 : Type::HEX_6_X => 0x2000001e,
2635 0 : Type::HEX_32_PCREL => 0x2000001f,
2636 0 : Type::HEX_COPY => 0x20000020,
2637 0 : Type::HEX_GLOB_DAT => 0x20000021,
2638 0 : Type::HEX_JMP_SLOT => 0x20000022,
2639 0 : Type::HEX_RELATIVE => 0x20000023,
2640 0 : Type::HEX_PLT_B22_PCREL => 0x20000024,
2641 0 : Type::HEX_GOTREL_LO16 => 0x20000025,
2642 0 : Type::HEX_GOTREL_HI16 => 0x20000026,
2643 0 : Type::HEX_GOTREL_32 => 0x20000027,
2644 0 : Type::HEX_GOT_LO16 => 0x20000028,
2645 0 : Type::HEX_GOT_HI16 => 0x20000029,
2646 0 : Type::HEX_GOT_32 => 0x2000002a,
2647 0 : Type::HEX_GOT_16 => 0x2000002b,
2648 0 : Type::HEX_DTPMOD_32 => 0x2000002c,
2649 0 : Type::HEX_DTPREL_LO16 => 0x2000002d,
2650 0 : Type::HEX_DTPREL_HI16 => 0x2000002e,
2651 0 : Type::HEX_DTPREL_32 => 0x2000002f,
2652 0 : Type::HEX_DTPREL_16 => 0x20000030,
2653 0 : Type::HEX_GD_PLT_B22_PCREL => 0x20000031,
2654 0 : Type::HEX_GD_GOT_LO16 => 0x20000032,
2655 0 : Type::HEX_GD_GOT_HI16 => 0x20000033,
2656 0 : Type::HEX_GD_GOT_32 => 0x20000034,
2657 0 : Type::HEX_GD_GOT_16 => 0x20000035,
2658 0 : Type::HEX_IE_LO16 => 0x20000036,
2659 0 : Type::HEX_IE_HI16 => 0x20000037,
2660 0 : Type::HEX_IE_32 => 0x20000038,
2661 0 : Type::HEX_IE_GOT_LO16 => 0x20000039,
2662 0 : Type::HEX_IE_GOT_HI16 => 0x2000003a,
2663 0 : Type::HEX_IE_GOT_32 => 0x2000003b,
2664 0 : Type::HEX_IE_GOT_16 => 0x2000003c,
2665 0 : Type::HEX_TPREL_LO16 => 0x2000003d,
2666 0 : Type::HEX_TPREL_HI16 => 0x2000003e,
2667 0 : Type::HEX_TPREL_32 => 0x2000003f,
2668 0 : Type::HEX_TPREL_16 => 0x20000040,
2669 0 : Type::HEX_6_PCREL_X => 0x20000041,
2670 0 : Type::HEX_GOTREL_32_6_X => 0x20000042,
2671 0 : Type::HEX_GOTREL_16_X => 0x20000043,
2672 0 : Type::HEX_GOTREL_11_X => 0x20000044,
2673 0 : Type::HEX_GOT_32_6_X => 0x20000045,
2674 0 : Type::HEX_GOT_16_X => 0x20000046,
2675 0 : Type::HEX_GOT_11_X => 0x20000047,
2676 0 : Type::HEX_DTPREL_32_6_X => 0x20000048,
2677 0 : Type::HEX_DTPREL_16_X => 0x20000049,
2678 0 : Type::HEX_DTPREL_11_X => 0x2000004a,
2679 0 : Type::HEX_GD_GOT_32_6_X => 0x2000004b,
2680 0 : Type::HEX_GD_GOT_16_X => 0x2000004c,
2681 0 : Type::HEX_GD_GOT_11_X => 0x2000004d,
2682 0 : Type::HEX_IE_32_6_X => 0x2000004e,
2683 0 : Type::HEX_IE_16_X => 0x2000004f,
2684 0 : Type::HEX_IE_GOT_32_6_X => 0x20000050,
2685 0 : Type::HEX_IE_GOT_16_X => 0x20000051,
2686 0 : Type::HEX_IE_GOT_11_X => 0x20000052,
2687 0 : Type::HEX_TPREL_32_6_X => 0x20000053,
2688 0 : Type::HEX_TPREL_16_X => 0x20000054,
2689 0 : Type::HEX_TPREL_11_X => 0x20000055,
2690 0 : Type::HEX_LD_PLT_B22_PCREL => 0x20000056,
2691 0 : Type::HEX_LD_GOT_LO16 => 0x20000057,
2692 0 : Type::HEX_LD_GOT_HI16 => 0x20000058,
2693 0 : Type::HEX_LD_GOT_32 => 0x20000059,
2694 0 : Type::HEX_LD_GOT_16 => 0x2000005a,
2695 0 : Type::HEX_LD_GOT_32_6_X => 0x2000005b,
2696 0 : Type::HEX_LD_GOT_16_X => 0x2000005c,
2697 0 : Type::HEX_LD_GOT_11_X => 0x2000005d,
2698 0 : Type::X86_NONE => 0x28000000,
2699 0 : Type::X86_32 => 0x28000001,
2700 0 : Type::X86_PC32 => 0x28000002,
2701 0 : Type::X86_GOT32 => 0x28000003,
2702 0 : Type::X86_PLT32 => 0x28000004,
2703 0 : Type::X86_COPY => 0x28000005,
2704 0 : Type::X86_GLOB_DAT => 0x28000006,
2705 0 : Type::X86_JUMP_SLOT => 0x28000007,
2706 0 : Type::X86_RELATIVE => 0x28000008,
2707 0 : Type::X86_GOTOFF => 0x28000009,
2708 0 : Type::X86_GOTPC => 0x2800000a,
2709 0 : Type::X86_32PLT => 0x2800000b,
2710 0 : Type::X86_TLS_TPOFF => 0x2800000e,
2711 0 : Type::X86_TLS_IE => 0x2800000f,
2712 0 : Type::X86_TLS_GOTIE => 0x28000010,
2713 0 : Type::X86_TLS_LE => 0x28000011,
2714 0 : Type::X86_TLS_GD => 0x28000012,
2715 0 : Type::X86_TLS_LDM => 0x28000013,
2716 0 : Type::X86_16 => 0x28000014,
2717 0 : Type::X86_PC16 => 0x28000015,
2718 0 : Type::X86_8 => 0x28000016,
2719 0 : Type::X86_PC8 => 0x28000017,
2720 0 : Type::X86_TLS_GD_32 => 0x28000018,
2721 0 : Type::X86_TLS_GD_PUSH => 0x28000019,
2722 0 : Type::X86_TLS_GD_CALL => 0x2800001a,
2723 0 : Type::X86_TLS_GD_POP => 0x2800001b,
2724 0 : Type::X86_TLS_LDM_32 => 0x2800001c,
2725 0 : Type::X86_TLS_LDM_PUSH => 0x2800001d,
2726 0 : Type::X86_TLS_LDM_CALL => 0x2800001e,
2727 0 : Type::X86_TLS_LDM_POP => 0x2800001f,
2728 0 : Type::X86_TLS_LDO_32 => 0x28000020,
2729 0 : Type::X86_TLS_IE_32 => 0x28000021,
2730 0 : Type::X86_TLS_LE_32 => 0x28000022,
2731 0 : Type::X86_TLS_DTPMOD32 => 0x28000023,
2732 0 : Type::X86_TLS_DTPOFF32 => 0x28000024,
2733 0 : Type::X86_TLS_TPOFF32 => 0x28000025,
2734 0 : Type::X86_TLS_GOTDESC => 0x28000027,
2735 0 : Type::X86_TLS_DESC_CALL => 0x28000028,
2736 0 : Type::X86_TLS_DESC => 0x28000029,
2737 0 : Type::X86_IRELATIVE => 0x2800002a,
2738 0 : Type::LARCH_NONE => 0x30000000,
2739 0 : Type::LARCH_32 => 0x30000001,
2740 0 : Type::LARCH_64 => 0x30000002,
2741 0 : Type::LARCH_RELATIVE => 0x30000003,
2742 0 : Type::LARCH_COPY => 0x30000004,
2743 0 : Type::LARCH_JUMP_SLOT => 0x30000005,
2744 0 : Type::LARCH_TLS_DTPMOD32 => 0x30000006,
2745 0 : Type::LARCH_TLS_DTPMOD64 => 0x30000007,
2746 0 : Type::LARCH_TLS_DTPREL32 => 0x30000008,
2747 0 : Type::LARCH_TLS_DTPREL64 => 0x30000009,
2748 0 : Type::LARCH_TLS_TPREL32 => 0x3000000a,
2749 0 : Type::LARCH_TLS_TPREL64 => 0x3000000b,
2750 0 : Type::LARCH_IRELATIVE => 0x3000000c,
2751 0 : Type::LARCH_MARK_LA => 0x30000014,
2752 0 : Type::LARCH_MARK_PCREL => 0x30000015,
2753 0 : Type::LARCH_SOP_PUSH_PCREL => 0x30000016,
2754 0 : Type::LARCH_SOP_PUSH_ABSOLUTE => 0x30000017,
2755 0 : Type::LARCH_SOP_PUSH_DUP => 0x30000018,
2756 0 : Type::LARCH_SOP_PUSH_GPREL => 0x30000019,
2757 0 : Type::LARCH_SOP_PUSH_TLS_TPREL => 0x3000001a,
2758 0 : Type::LARCH_SOP_PUSH_TLS_GOT => 0x3000001b,
2759 0 : Type::LARCH_SOP_PUSH_TLS_GD => 0x3000001c,
2760 0 : Type::LARCH_SOP_PUSH_PLT_PCREL => 0x3000001d,
2761 0 : Type::LARCH_SOP_ASSERT => 0x3000001e,
2762 0 : Type::LARCH_SOP_NOT => 0x3000001f,
2763 0 : Type::LARCH_SOP_SUB => 0x30000020,
2764 0 : Type::LARCH_SOP_SL => 0x30000021,
2765 0 : Type::LARCH_SOP_SR => 0x30000022,
2766 0 : Type::LARCH_SOP_ADD => 0x30000023,
2767 0 : Type::LARCH_SOP_AND => 0x30000024,
2768 0 : Type::LARCH_SOP_IF_ELSE => 0x30000025,
2769 0 : Type::LARCH_SOP_POP_32_S_10_5 => 0x30000026,
2770 0 : Type::LARCH_SOP_POP_32_U_10_12 => 0x30000027,
2771 0 : Type::LARCH_SOP_POP_32_S_10_12 => 0x30000028,
2772 0 : Type::LARCH_SOP_POP_32_S_10_16 => 0x30000029,
2773 0 : Type::LARCH_SOP_POP_32_S_10_16_S2 => 0x3000002a,
2774 0 : Type::LARCH_SOP_POP_32_S_5_20 => 0x3000002b,
2775 0 : Type::LARCH_SOP_POP_32_S_0_5_10_16_S2 => 0x3000002c,
2776 0 : Type::LARCH_SOP_POP_32_S_0_10_10_16_S2 => 0x3000002d,
2777 0 : Type::LARCH_SOP_POP_32_U => 0x3000002e,
2778 0 : Type::LARCH_ADD8 => 0x3000002f,
2779 0 : Type::LARCH_ADD16 => 0x30000030,
2780 0 : Type::LARCH_ADD24 => 0x30000031,
2781 0 : Type::LARCH_ADD32 => 0x30000032,
2782 0 : Type::LARCH_ADD64 => 0x30000033,
2783 0 : Type::LARCH_SUB8 => 0x30000034,
2784 0 : Type::LARCH_SUB16 => 0x30000035,
2785 0 : Type::LARCH_SUB24 => 0x30000036,
2786 0 : Type::LARCH_SUB32 => 0x30000037,
2787 0 : Type::LARCH_SUB64 => 0x30000038,
2788 0 : Type::LARCH_GNU_VTINHERIT => 0x30000039,
2789 0 : Type::LARCH_GNU_VTENTRY => 0x3000003a,
2790 0 : Type::LARCH_B16 => 0x30000040,
2791 0 : Type::LARCH_B21 => 0x30000041,
2792 0 : Type::LARCH_B26 => 0x30000042,
2793 0 : Type::LARCH_ABS_HI20 => 0x30000043,
2794 0 : Type::LARCH_ABS_LO12 => 0x30000044,
2795 0 : Type::LARCH_ABS64_LO20 => 0x30000045,
2796 0 : Type::LARCH_ABS64_HI12 => 0x30000046,
2797 0 : Type::LARCH_PCALA_HI20 => 0x30000047,
2798 0 : Type::LARCH_PCALA_LO12 => 0x30000048,
2799 0 : Type::LARCH_PCALA64_LO20 => 0x30000049,
2800 0 : Type::LARCH_PCALA64_HI12 => 0x3000004a,
2801 0 : Type::LARCH_GOT_PC_HI20 => 0x3000004b,
2802 0 : Type::LARCH_GOT_PC_LO12 => 0x3000004c,
2803 0 : Type::LARCH_GOT64_PC_LO20 => 0x3000004d,
2804 0 : Type::LARCH_GOT64_PC_HI12 => 0x3000004e,
2805 0 : Type::LARCH_GOT_HI20 => 0x3000004f,
2806 0 : Type::LARCH_GOT_LO12 => 0x30000050,
2807 0 : Type::LARCH_GOT64_LO20 => 0x30000051,
2808 0 : Type::LARCH_GOT64_HI12 => 0x30000052,
2809 0 : Type::LARCH_TLS_LE_HI20 => 0x30000053,
2810 0 : Type::LARCH_TLS_LE_LO12 => 0x30000054,
2811 0 : Type::LARCH_TLS_LE64_LO20 => 0x30000055,
2812 0 : Type::LARCH_TLS_LE64_HI12 => 0x30000056,
2813 0 : Type::LARCH_TLS_IE_PC_HI20 => 0x30000057,
2814 0 : Type::LARCH_TLS_IE_PC_LO12 => 0x30000058,
2815 0 : Type::LARCH_TLS_IE64_PC_LO20 => 0x30000059,
2816 0 : Type::LARCH_TLS_IE64_PC_HI12 => 0x3000005a,
2817 0 : Type::LARCH_TLS_IE_HI20 => 0x3000005b,
2818 0 : Type::LARCH_TLS_IE_LO12 => 0x3000005c,
2819 0 : Type::LARCH_TLS_IE64_LO20 => 0x3000005d,
2820 0 : Type::LARCH_TLS_IE64_HI12 => 0x3000005e,
2821 0 : Type::LARCH_TLS_LD_PC_HI20 => 0x3000005f,
2822 0 : Type::LARCH_TLS_LD_HI20 => 0x30000060,
2823 0 : Type::LARCH_TLS_GD_PC_HI20 => 0x30000061,
2824 0 : Type::LARCH_TLS_GD_HI20 => 0x30000062,
2825 0 : Type::LARCH_32_PCREL => 0x30000063,
2826 0 : Type::LARCH_RELAX => 0x30000064,
2827 0 : Type::LARCH_ALIGN => 0x30000066,
2828 0 : Type::LARCH_PCREL20_S2 => 0x30000067,
2829 0 : Type::LARCH_ADD6 => 0x30000069,
2830 0 : Type::LARCH_SUB6 => 0x3000006a,
2831 0 : Type::LARCH_ADD_ULEB128 => 0x3000006b,
2832 0 : Type::LARCH_SUB_ULEB128 => 0x3000006c,
2833 0 : Type::LARCH_64_PCREL => 0x3000006d,
2834 0 : Type::LARCH_CALL36 => 0x3000006e,
2835 0 : Type::LARCH_TLS_DESC32 => 0x3000000d,
2836 0 : Type::LARCH_TLS_DESC64 => 0x3000000e,
2837 0 : Type::LARCH_TLS_DESC_PC_HI20 => 0x3000006f,
2838 0 : Type::LARCH_TLS_DESC_PC_LO12 => 0x30000070,
2839 0 : Type::LARCH_TLS_DESC64_PC_LO20 => 0x30000071,
2840 0 : Type::LARCH_TLS_DESC64_PC_HI12 => 0x30000072,
2841 0 : Type::LARCH_TLS_DESC_HI20 => 0x30000073,
2842 0 : Type::LARCH_TLS_DESC_LO12 => 0x30000074,
2843 0 : Type::LARCH_TLS_DESC64_LO20 => 0x30000075,
2844 0 : Type::LARCH_TLS_DESC64_HI12 => 0x30000076,
2845 0 : Type::LARCH_TLS_DESC_LD => 0x30000077,
2846 0 : Type::LARCH_TLS_DESC_CALL => 0x30000078,
2847 0 : Type::LARCH_TLS_LE_HI20_R => 0x30000079,
2848 0 : Type::LARCH_TLS_LE_ADD_R => 0x3000007a,
2849 0 : Type::LARCH_TLS_LE_LO12_R => 0x3000007b,
2850 0 : Type::LARCH_TLS_LD_PCREL20_S2 => 0x3000007c,
2851 0 : Type::LARCH_TLS_GD_PCREL20_S2 => 0x3000007d,
2852 0 : Type::LARCH_TLS_DESC_PCREL20_S2 => 0x3000007e,
2853 0 : Type::MIPS_NONE => 0x38000000,
2854 0 : Type::MIPS_16 => 0x38000001,
2855 0 : Type::MIPS_32 => 0x38000002,
2856 0 : Type::MIPS_REL32 => 0x38000003,
2857 0 : Type::MIPS_26 => 0x38000004,
2858 0 : Type::MIPS_HI16 => 0x38000005,
2859 0 : Type::MIPS_LO16 => 0x38000006,
2860 0 : Type::MIPS_GPREL16 => 0x38000007,
2861 0 : Type::MIPS_LITERAL => 0x38000008,
2862 0 : Type::MIPS_GOT16 => 0x38000009,
2863 0 : Type::MIPS_PC16 => 0x3800000a,
2864 0 : Type::MIPS_CALL16 => 0x3800000b,
2865 0 : Type::MIPS_GPREL32 => 0x3800000c,
2866 0 : Type::MIPS_UNUSED1 => 0x3800000d,
2867 0 : Type::MIPS_UNUSED2 => 0x3800000e,
2868 0 : Type::MIPS_UNUSED3 => 0x3800000f,
2869 0 : Type::MIPS_SHIFT5 => 0x38000010,
2870 0 : Type::MIPS_SHIFT6 => 0x38000011,
2871 0 : Type::MIPS_64 => 0x38000012,
2872 0 : Type::MIPS_GOT_DISP => 0x38000013,
2873 0 : Type::MIPS_GOT_PAGE => 0x38000014,
2874 0 : Type::MIPS_GOT_OFST => 0x38000015,
2875 0 : Type::MIPS_GOT_HI16 => 0x38000016,
2876 0 : Type::MIPS_GOT_LO16 => 0x38000017,
2877 0 : Type::MIPS_SUB => 0x38000018,
2878 0 : Type::MIPS_INSERT_A => 0x38000019,
2879 0 : Type::MIPS_INSERT_B => 0x3800001a,
2880 0 : Type::MIPS_DELETE => 0x3800001b,
2881 0 : Type::MIPS_HIGHER => 0x3800001c,
2882 0 : Type::MIPS_HIGHEST => 0x3800001d,
2883 0 : Type::MIPS_CALL_HI16 => 0x3800001e,
2884 0 : Type::MIPS_CALL_LO16 => 0x3800001f,
2885 0 : Type::MIPS_SCN_DISP => 0x38000020,
2886 0 : Type::MIPS_REL16 => 0x38000021,
2887 0 : Type::MIPS_ADD_IMMEDIATE => 0x38000022,
2888 0 : Type::MIPS_PJUMP => 0x38000023,
2889 0 : Type::MIPS_RELGOT => 0x38000024,
2890 0 : Type::MIPS_JALR => 0x38000025,
2891 0 : Type::MIPS_TLS_DTPMOD32 => 0x38000026,
2892 0 : Type::MIPS_TLS_DTPREL32 => 0x38000027,
2893 0 : Type::MIPS_TLS_DTPMOD64 => 0x38000028,
2894 0 : Type::MIPS_TLS_DTPREL64 => 0x38000029,
2895 0 : Type::MIPS_TLS_GD => 0x3800002a,
2896 0 : Type::MIPS_TLS_LDM => 0x3800002b,
2897 0 : Type::MIPS_TLS_DTPREL_HI16 => 0x3800002c,
2898 0 : Type::MIPS_TLS_DTPREL_LO16 => 0x3800002d,
2899 0 : Type::MIPS_TLS_GOTTPREL => 0x3800002e,
2900 0 : Type::MIPS_TLS_TPREL32 => 0x3800002f,
2901 0 : Type::MIPS_TLS_TPREL64 => 0x38000030,
2902 0 : Type::MIPS_TLS_TPREL_HI16 => 0x38000031,
2903 0 : Type::MIPS_TLS_TPREL_LO16 => 0x38000032,
2904 0 : Type::MIPS_GLOB_DAT => 0x38000033,
2905 0 : Type::MIPS_PC21_S2 => 0x3800003c,
2906 0 : Type::MIPS_PC26_S2 => 0x3800003d,
2907 0 : Type::MIPS_PC18_S3 => 0x3800003e,
2908 0 : Type::MIPS_PC19_S2 => 0x3800003f,
2909 0 : Type::MIPS_PCHI16 => 0x38000040,
2910 0 : Type::MIPS_PCLO16 => 0x38000041,
2911 0 : Type::MIPS16_26 => 0x38000064,
2912 0 : Type::MIPS16_GPREL => 0x38000065,
2913 0 : Type::MIPS16_GOT16 => 0x38000066,
2914 0 : Type::MIPS16_CALL16 => 0x38000067,
2915 0 : Type::MIPS16_HI16 => 0x38000068,
2916 0 : Type::MIPS16_LO16 => 0x38000069,
2917 0 : Type::MIPS16_TLS_GD => 0x3800006a,
2918 0 : Type::MIPS16_TLS_LDM => 0x3800006b,
2919 0 : Type::MIPS16_TLS_DTPREL_HI16 => 0x3800006c,
2920 0 : Type::MIPS16_TLS_DTPREL_LO16 => 0x3800006d,
2921 0 : Type::MIPS16_TLS_GOTTPREL => 0x3800006e,
2922 0 : Type::MIPS16_TLS_TPREL_HI16 => 0x3800006f,
2923 0 : Type::MIPS16_TLS_TPREL_LO16 => 0x38000070,
2924 0 : Type::MIPS_COPY => 0x3800007e,
2925 0 : Type::MIPS_JUMP_SLOT => 0x3800007f,
2926 0 : Type::MICROMIPS_26_S1 => 0x38000085,
2927 0 : Type::MICROMIPS_HI16 => 0x38000086,
2928 0 : Type::MICROMIPS_LO16 => 0x38000087,
2929 0 : Type::MICROMIPS_GPREL16 => 0x38000088,
2930 0 : Type::MICROMIPS_LITERAL => 0x38000089,
2931 0 : Type::MICROMIPS_GOT16 => 0x3800008a,
2932 0 : Type::MICROMIPS_PC7_S1 => 0x3800008b,
2933 0 : Type::MICROMIPS_PC10_S1 => 0x3800008c,
2934 0 : Type::MICROMIPS_PC16_S1 => 0x3800008d,
2935 0 : Type::MICROMIPS_CALL16 => 0x3800008e,
2936 0 : Type::MICROMIPS_GOT_DISP => 0x38000091,
2937 0 : Type::MICROMIPS_GOT_PAGE => 0x38000092,
2938 0 : Type::MICROMIPS_GOT_OFST => 0x38000093,
2939 0 : Type::MICROMIPS_GOT_HI16 => 0x38000094,
2940 0 : Type::MICROMIPS_GOT_LO16 => 0x38000095,
2941 0 : Type::MICROMIPS_SUB => 0x38000096,
2942 0 : Type::MICROMIPS_HIGHER => 0x38000097,
2943 0 : Type::MICROMIPS_HIGHEST => 0x38000098,
2944 0 : Type::MICROMIPS_CALL_HI16 => 0x38000099,
2945 0 : Type::MICROMIPS_CALL_LO16 => 0x3800009a,
2946 0 : Type::MICROMIPS_SCN_DISP => 0x3800009b,
2947 0 : Type::MICROMIPS_JALR => 0x3800009c,
2948 0 : Type::MICROMIPS_HI0_LO16 => 0x3800009d,
2949 0 : Type::MICROMIPS_TLS_GD => 0x380000a2,
2950 0 : Type::MICROMIPS_TLS_LDM => 0x380000a3,
2951 0 : Type::MICROMIPS_TLS_DTPREL_HI16 => 0x380000a4,
2952 0 : Type::MICROMIPS_TLS_DTPREL_LO16 => 0x380000a5,
2953 0 : Type::MICROMIPS_TLS_GOTTPREL => 0x380000a6,
2954 0 : Type::MICROMIPS_TLS_TPREL_HI16 => 0x380000a9,
2955 0 : Type::MICROMIPS_TLS_TPREL_LO16 => 0x380000aa,
2956 0 : Type::MICROMIPS_GPREL7_S2 => 0x380000ac,
2957 0 : Type::MICROMIPS_PC23_S2 => 0x380000ad,
2958 0 : Type::MICROMIPS_PC21_S2 => 0x380000ae,
2959 0 : Type::MICROMIPS_PC26_S2 => 0x380000af,
2960 0 : Type::MICROMIPS_PC18_S3 => 0x380000b0,
2961 0 : Type::MICROMIPS_PC19_S2 => 0x380000b1,
2962 0 : Type::MIPS_NUM => 0x380000da,
2963 0 : Type::MIPS_PC32 => 0x380000f8,
2964 0 : Type::MIPS_EH => 0x380000f9,
2965 0 : Type::PPC_NONE => 0x40000000,
2966 0 : Type::PPC_ADDR32 => 0x40000001,
2967 0 : Type::PPC_ADDR24 => 0x40000002,
2968 0 : Type::PPC_ADDR16 => 0x40000003,
2969 0 : Type::PPC_ADDR16_LO => 0x40000004,
2970 0 : Type::PPC_ADDR16_HI => 0x40000005,
2971 0 : Type::PPC_ADDR16_HA => 0x40000006,
2972 0 : Type::PPC_ADDR14 => 0x40000007,
2973 0 : Type::PPC_ADDR14_BRTAKEN => 0x40000008,
2974 0 : Type::PPC_ADDR14_BRNTAKEN => 0x40000009,
2975 0 : Type::PPC_REL24 => 0x4000000a,
2976 0 : Type::PPC_REL14 => 0x4000000b,
2977 0 : Type::PPC_REL14_BRTAKEN => 0x4000000c,
2978 0 : Type::PPC_REL14_BRNTAKEN => 0x4000000d,
2979 0 : Type::PPC_GOT16 => 0x4000000e,
2980 0 : Type::PPC_GOT16_LO => 0x4000000f,
2981 0 : Type::PPC_GOT16_HI => 0x40000010,
2982 0 : Type::PPC_GOT16_HA => 0x40000011,
2983 0 : Type::PPC_PLTREL24 => 0x40000012,
2984 0 : Type::PPC_JMP_SLOT => 0x40000015,
2985 0 : Type::PPC_RELATIVE => 0x40000016,
2986 0 : Type::PPC_LOCAL24PC => 0x40000017,
2987 0 : Type::PPC_REL32 => 0x4000001a,
2988 0 : Type::PPC_TLS => 0x40000043,
2989 0 : Type::PPC_DTPMOD32 => 0x40000044,
2990 0 : Type::PPC_TPREL16 => 0x40000045,
2991 0 : Type::PPC_TPREL16_LO => 0x40000046,
2992 0 : Type::PPC_TPREL16_HI => 0x40000047,
2993 0 : Type::PPC_TPREL16_HA => 0x40000048,
2994 0 : Type::PPC_TPREL32 => 0x40000049,
2995 0 : Type::PPC_DTPREL16 => 0x4000004a,
2996 0 : Type::PPC_DTPREL16_LO => 0x4000004b,
2997 0 : Type::PPC_DTPREL16_HI => 0x4000004c,
2998 0 : Type::PPC_DTPREL16_HA => 0x4000004d,
2999 0 : Type::PPC_DTPREL32 => 0x4000004e,
3000 0 : Type::PPC_GOT_TLSGD16 => 0x4000004f,
3001 0 : Type::PPC_GOT_TLSGD16_LO => 0x40000050,
3002 0 : Type::PPC_GOT_TLSGD16_HI => 0x40000051,
3003 0 : Type::PPC_GOT_TLSGD16_HA => 0x40000052,
3004 0 : Type::PPC_GOT_TLSLD16 => 0x40000053,
3005 0 : Type::PPC_GOT_TLSLD16_LO => 0x40000054,
3006 0 : Type::PPC_GOT_TLSLD16_HI => 0x40000055,
3007 0 : Type::PPC_GOT_TLSLD16_HA => 0x40000056,
3008 0 : Type::PPC_GOT_TPREL16 => 0x40000057,
3009 0 : Type::PPC_GOT_TPREL16_LO => 0x40000058,
3010 0 : Type::PPC_GOT_TPREL16_HI => 0x40000059,
3011 0 : Type::PPC_GOT_TPREL16_HA => 0x4000005a,
3012 0 : Type::PPC_GOT_DTPREL16 => 0x4000005b,
3013 0 : Type::PPC_GOT_DTPREL16_LO => 0x4000005c,
3014 0 : Type::PPC_GOT_DTPREL16_HI => 0x4000005d,
3015 0 : Type::PPC_GOT_DTPREL16_HA => 0x4000005e,
3016 0 : Type::PPC_TLSGD => 0x4000005f,
3017 0 : Type::PPC_TLSLD => 0x40000060,
3018 0 : Type::PPC_REL16 => 0x400000f9,
3019 0 : Type::PPC_REL16_LO => 0x400000fa,
3020 0 : Type::PPC_REL16_HI => 0x400000fb,
3021 0 : Type::PPC_REL16_HA => 0x400000fc,
3022 0 : Type::PPC64_NONE => 0x48000000,
3023 0 : Type::PPC64_ADDR32 => 0x48000001,
3024 0 : Type::PPC64_ADDR24 => 0x48000002,
3025 0 : Type::PPC64_ADDR16 => 0x48000003,
3026 0 : Type::PPC64_ADDR16_LO => 0x48000004,
3027 0 : Type::PPC64_ADDR16_HI => 0x48000005,
3028 0 : Type::PPC64_ADDR16_HA => 0x48000006,
3029 0 : Type::PPC64_ADDR14 => 0x48000007,
3030 0 : Type::PPC64_ADDR14_BRTAKEN => 0x48000008,
3031 0 : Type::PPC64_ADDR14_BRNTAKEN => 0x48000009,
3032 0 : Type::PPC64_REL24 => 0x4800000a,
3033 0 : Type::PPC64_REL14 => 0x4800000b,
3034 0 : Type::PPC64_REL14_BRTAKEN => 0x4800000c,
3035 0 : Type::PPC64_REL14_BRNTAKEN => 0x4800000d,
3036 0 : Type::PPC64_GOT16 => 0x4800000e,
3037 0 : Type::PPC64_GOT16_LO => 0x4800000f,
3038 0 : Type::PPC64_GOT16_HI => 0x48000010,
3039 0 : Type::PPC64_GOT16_HA => 0x48000011,
3040 0 : Type::PPC64_JMP_SLOT => 0x48000015,
3041 0 : Type::PPC64_RELATIVE => 0x48000016,
3042 0 : Type::PPC64_REL32 => 0x4800001a,
3043 0 : Type::PPC64_ADDR64 => 0x48000026,
3044 0 : Type::PPC64_ADDR16_HIGHER => 0x48000027,
3045 0 : Type::PPC64_ADDR16_HIGHERA => 0x48000028,
3046 0 : Type::PPC64_ADDR16_HIGHEST => 0x48000029,
3047 0 : Type::PPC64_ADDR16_HIGHESTA => 0x4800002a,
3048 0 : Type::PPC64_REL64 => 0x4800002c,
3049 0 : Type::PPC64_TOC16 => 0x4800002f,
3050 0 : Type::PPC64_TOC16_LO => 0x48000030,
3051 0 : Type::PPC64_TOC16_HI => 0x48000031,
3052 0 : Type::PPC64_TOC16_HA => 0x48000032,
3053 0 : Type::PPC64_TOC => 0x48000033,
3054 0 : Type::PPC64_ADDR16_DS => 0x48000038,
3055 0 : Type::PPC64_ADDR16_LO_DS => 0x48000039,
3056 0 : Type::PPC64_GOT16_DS => 0x4800003a,
3057 0 : Type::PPC64_GOT16_LO_DS => 0x4800003b,
3058 0 : Type::PPC64_TOC16_DS => 0x4800003f,
3059 0 : Type::PPC64_TOC16_LO_DS => 0x48000040,
3060 0 : Type::PPC64_TLS => 0x48000043,
3061 0 : Type::PPC64_DTPMOD64 => 0x48000044,
3062 0 : Type::PPC64_TPREL16 => 0x48000045,
3063 0 : Type::PPC64_TPREL16_LO => 0x48000046,
3064 0 : Type::PPC64_TPREL16_HI => 0x48000047,
3065 0 : Type::PPC64_TPREL16_HA => 0x48000048,
3066 0 : Type::PPC64_TPREL64 => 0x48000049,
3067 0 : Type::PPC64_DTPREL16 => 0x4800004a,
3068 0 : Type::PPC64_DTPREL16_LO => 0x4800004b,
3069 0 : Type::PPC64_DTPREL16_HI => 0x4800004c,
3070 0 : Type::PPC64_DTPREL16_HA => 0x4800004d,
3071 0 : Type::PPC64_DTPREL64 => 0x4800004e,
3072 0 : Type::PPC64_GOT_TLSGD16 => 0x4800004f,
3073 0 : Type::PPC64_GOT_TLSGD16_LO => 0x48000050,
3074 0 : Type::PPC64_GOT_TLSGD16_HI => 0x48000051,
3075 0 : Type::PPC64_GOT_TLSGD16_HA => 0x48000052,
3076 0 : Type::PPC64_GOT_TLSLD16 => 0x48000053,
3077 0 : Type::PPC64_GOT_TLSLD16_LO => 0x48000054,
3078 0 : Type::PPC64_GOT_TLSLD16_HI => 0x48000055,
3079 0 : Type::PPC64_GOT_TLSLD16_HA => 0x48000056,
3080 0 : Type::PPC64_GOT_TPREL16_DS => 0x48000057,
3081 0 : Type::PPC64_GOT_TPREL16_LO_DS => 0x48000058,
3082 0 : Type::PPC64_GOT_TPREL16_HI => 0x48000059,
3083 0 : Type::PPC64_GOT_TPREL16_HA => 0x4800005a,
3084 0 : Type::PPC64_GOT_DTPREL16_DS => 0x4800005b,
3085 0 : Type::PPC64_GOT_DTPREL16_LO_DS => 0x4800005c,
3086 0 : Type::PPC64_GOT_DTPREL16_HI => 0x4800005d,
3087 0 : Type::PPC64_GOT_DTPREL16_HA => 0x4800005e,
3088 0 : Type::PPC64_TPREL16_DS => 0x4800005f,
3089 0 : Type::PPC64_TPREL16_LO_DS => 0x48000060,
3090 0 : Type::PPC64_TPREL16_HIGHER => 0x48000061,
3091 0 : Type::PPC64_TPREL16_HIGHERA => 0x48000062,
3092 0 : Type::PPC64_TPREL16_HIGHEST => 0x48000063,
3093 0 : Type::PPC64_TPREL16_HIGHESTA => 0x48000064,
3094 0 : Type::PPC64_DTPREL16_DS => 0x48000065,
3095 0 : Type::PPC64_DTPREL16_LO_DS => 0x48000066,
3096 0 : Type::PPC64_DTPREL16_HIGHER => 0x48000067,
3097 0 : Type::PPC64_DTPREL16_HIGHERA => 0x48000068,
3098 0 : Type::PPC64_DTPREL16_HIGHEST => 0x48000069,
3099 0 : Type::PPC64_DTPREL16_HIGHESTA => 0x4800006a,
3100 0 : Type::PPC64_TLSGD => 0x4800006b,
3101 0 : Type::PPC64_TLSLD => 0x4800006c,
3102 0 : Type::PPC64_REL16 => 0x480000f9,
3103 0 : Type::PPC64_REL16_LO => 0x480000fa,
3104 0 : Type::PPC64_REL16_HI => 0x480000fb,
3105 0 : Type::PPC64_REL16_HA => 0x480000fc,
3106 0 : Type::SPARC_NONE => 0x50000000,
3107 0 : Type::SPARC_8 => 0x50000001,
3108 0 : Type::SPARC_16 => 0x50000002,
3109 0 : Type::SPARC_32 => 0x50000003,
3110 0 : Type::SPARC_DISP8 => 0x50000004,
3111 0 : Type::SPARC_DISP16 => 0x50000005,
3112 0 : Type::SPARC_DISP32 => 0x50000006,
3113 0 : Type::SPARC_WDISP30 => 0x50000007,
3114 0 : Type::SPARC_WDISP22 => 0x50000008,
3115 0 : Type::SPARC_HI22 => 0x50000009,
3116 0 : Type::SPARC_22 => 0x5000000a,
3117 0 : Type::SPARC_13 => 0x5000000b,
3118 0 : Type::SPARC_LO10 => 0x5000000c,
3119 0 : Type::SPARC_GOT10 => 0x5000000d,
3120 0 : Type::SPARC_GOT13 => 0x5000000e,
3121 0 : Type::SPARC_GOT22 => 0x5000000f,
3122 0 : Type::SPARC_PC10 => 0x50000010,
3123 0 : Type::SPARC_PC22 => 0x50000011,
3124 0 : Type::SPARC_WPLT30 => 0x50000012,
3125 0 : Type::SPARC_COPY => 0x50000013,
3126 0 : Type::SPARC_GLOB_DAT => 0x50000014,
3127 0 : Type::SPARC_JMP_SLOT => 0x50000015,
3128 0 : Type::SPARC_RELATIVE => 0x50000016,
3129 0 : Type::SPARC_UA32 => 0x50000017,
3130 0 : Type::SPARC_PLT32 => 0x50000018,
3131 0 : Type::SPARC_HIPLT22 => 0x50000019,
3132 0 : Type::SPARC_LOPLT10 => 0x5000001a,
3133 0 : Type::SPARC_PCPLT32 => 0x5000001b,
3134 0 : Type::SPARC_PCPLT22 => 0x5000001c,
3135 0 : Type::SPARC_PCPLT10 => 0x5000001d,
3136 0 : Type::SPARC_10 => 0x5000001e,
3137 0 : Type::SPARC_11 => 0x5000001f,
3138 0 : Type::SPARC_64 => 0x50000020,
3139 0 : Type::SPARC_OLO10 => 0x50000021,
3140 0 : Type::SPARC_HH22 => 0x50000022,
3141 0 : Type::SPARC_HM10 => 0x50000023,
3142 0 : Type::SPARC_LM22 => 0x50000024,
3143 0 : Type::SPARC_PC_HH22 => 0x50000025,
3144 0 : Type::SPARC_PC_HM10 => 0x50000026,
3145 0 : Type::SPARC_PC_LM22 => 0x50000027,
3146 0 : Type::SPARC_WDISP16 => 0x50000028,
3147 0 : Type::SPARC_WDISP19 => 0x50000029,
3148 0 : Type::SPARC_7 => 0x5000002b,
3149 0 : Type::SPARC_5 => 0x5000002c,
3150 0 : Type::SPARC_6 => 0x5000002d,
3151 0 : Type::SPARC_DISP64 => 0x5000002e,
3152 0 : Type::SPARC_PLT64 => 0x5000002f,
3153 0 : Type::SPARC_HIX22 => 0x50000030,
3154 0 : Type::SPARC_LOX10 => 0x50000031,
3155 0 : Type::SPARC_H44 => 0x50000032,
3156 0 : Type::SPARC_M44 => 0x50000033,
3157 0 : Type::SPARC_L44 => 0x50000034,
3158 0 : Type::SPARC_REGISTER => 0x50000035,
3159 0 : Type::SPARC_UA64 => 0x50000036,
3160 0 : Type::SPARC_UA16 => 0x50000037,
3161 0 : Type::SPARC_TLS_GD_HI22 => 0x50000038,
3162 0 : Type::SPARC_TLS_GD_LO10 => 0x50000039,
3163 0 : Type::SPARC_TLS_GD_ADD => 0x5000003a,
3164 0 : Type::SPARC_TLS_GD_CALL => 0x5000003b,
3165 0 : Type::SPARC_TLS_LDM_HI22 => 0x5000003c,
3166 0 : Type::SPARC_TLS_LDM_LO10 => 0x5000003d,
3167 0 : Type::SPARC_TLS_LDM_ADD => 0x5000003e,
3168 0 : Type::SPARC_TLS_LDM_CALL => 0x5000003f,
3169 0 : Type::SPARC_TLS_LDO_HIX22 => 0x50000040,
3170 0 : Type::SPARC_TLS_LDO_LOX10 => 0x50000041,
3171 0 : Type::SPARC_TLS_LDO_ADD => 0x50000042,
3172 0 : Type::SPARC_TLS_IE_HI22 => 0x50000043,
3173 0 : Type::SPARC_TLS_IE_LO10 => 0x50000044,
3174 0 : Type::SPARC_TLS_IE_LD => 0x50000045,
3175 0 : Type::SPARC_TLS_IE_LDX => 0x50000046,
3176 0 : Type::SPARC_TLS_IE_ADD => 0x50000047,
3177 0 : Type::SPARC_TLS_LE_HIX22 => 0x50000048,
3178 0 : Type::SPARC_TLS_LE_LOX10 => 0x50000049,
3179 0 : Type::SPARC_TLS_DTPMOD32 => 0x5000004a,
3180 0 : Type::SPARC_TLS_DTPMOD64 => 0x5000004b,
3181 0 : Type::SPARC_TLS_DTPOFF32 => 0x5000004c,
3182 0 : Type::SPARC_TLS_DTPOFF64 => 0x5000004d,
3183 0 : Type::SPARC_TLS_TPOFF32 => 0x5000004e,
3184 0 : Type::SPARC_TLS_TPOFF64 => 0x5000004f,
3185 0 : Type::SPARC_GOTDATA_HIX22 => 0x50000050,
3186 0 : Type::SPARC_GOTDATA_LOX10 => 0x50000051,
3187 0 : Type::SPARC_GOTDATA_OP_HIX22 => 0x50000052,
3188 0 : Type::SPARC_GOTDATA_OP_LOX10 => 0x50000053,
3189 0 : Type::SPARC_GOTDATA_OP => 0x50000054,
3190 0 : Type::SYSZ_NONE => 0x58000000,
3191 0 : Type::SYSZ_8 => 0x58000001,
3192 0 : Type::SYSZ_12 => 0x58000002,
3193 0 : Type::SYSZ_16 => 0x58000003,
3194 0 : Type::SYSZ_32 => 0x58000004,
3195 0 : Type::SYSZ_PC32 => 0x58000005,
3196 0 : Type::SYSZ_GOT12 => 0x58000006,
3197 0 : Type::SYSZ_GOT32 => 0x58000007,
3198 0 : Type::SYSZ_PLT32 => 0x58000008,
3199 0 : Type::SYSZ_COPY => 0x58000009,
3200 0 : Type::SYSZ_GLOB_DAT => 0x5800000a,
3201 0 : Type::SYSZ_JMP_SLOT => 0x5800000b,
3202 0 : Type::SYSZ_RELATIVE => 0x5800000c,
3203 0 : Type::SYSZ_GOTOFF => 0x5800000d,
3204 0 : Type::SYSZ_GOTPC => 0x5800000e,
3205 0 : Type::SYSZ_GOT16 => 0x5800000f,
3206 0 : Type::SYSZ_PC16 => 0x58000010,
3207 0 : Type::SYSZ_PC16DBL => 0x58000011,
3208 0 : Type::SYSZ_PLT16DBL => 0x58000012,
3209 0 : Type::SYSZ_PC32DBL => 0x58000013,
3210 0 : Type::SYSZ_PLT32DBL => 0x58000014,
3211 0 : Type::SYSZ_GOTPCDBL => 0x58000015,
3212 0 : Type::SYSZ_64 => 0x58000016,
3213 0 : Type::SYSZ_PC64 => 0x58000017,
3214 0 : Type::SYSZ_GOT64 => 0x58000018,
3215 0 : Type::SYSZ_PLT64 => 0x58000019,
3216 0 : Type::SYSZ_GOTENT => 0x5800001a,
3217 0 : Type::SYSZ_GOTOFF16 => 0x5800001b,
3218 0 : Type::SYSZ_GOTOFF64 => 0x5800001c,
3219 0 : Type::SYSZ_GOTPLT12 => 0x5800001d,
3220 0 : Type::SYSZ_GOTPLT16 => 0x5800001e,
3221 0 : Type::SYSZ_GOTPLT32 => 0x5800001f,
3222 0 : Type::SYSZ_GOTPLT64 => 0x58000020,
3223 0 : Type::SYSZ_GOTPLTENT => 0x58000021,
3224 0 : Type::SYSZ_PLTOFF16 => 0x58000022,
3225 0 : Type::SYSZ_PLTOFF32 => 0x58000023,
3226 0 : Type::SYSZ_PLTOFF64 => 0x58000024,
3227 0 : Type::SYSZ_TLS_LOAD => 0x58000025,
3228 0 : Type::SYSZ_TLS_GDCALL => 0x58000026,
3229 0 : Type::SYSZ_TLS_LDCALL => 0x58000027,
3230 0 : Type::SYSZ_TLS_GD32 => 0x58000028,
3231 0 : Type::SYSZ_TLS_GD64 => 0x58000029,
3232 0 : Type::SYSZ_TLS_GOTIE12 => 0x5800002a,
3233 0 : Type::SYSZ_TLS_GOTIE32 => 0x5800002b,
3234 0 : Type::SYSZ_TLS_GOTIE64 => 0x5800002c,
3235 0 : Type::SYSZ_TLS_LDM32 => 0x5800002d,
3236 0 : Type::SYSZ_TLS_LDM64 => 0x5800002e,
3237 0 : Type::SYSZ_TLS_IE32 => 0x5800002f,
3238 0 : Type::SYSZ_TLS_IE64 => 0x58000030,
3239 0 : Type::SYSZ_TLS_IEENT => 0x58000031,
3240 0 : Type::SYSZ_TLS_LE32 => 0x58000032,
3241 0 : Type::SYSZ_TLS_LE64 => 0x58000033,
3242 0 : Type::SYSZ_TLS_LDO32 => 0x58000034,
3243 0 : Type::SYSZ_TLS_LDO64 => 0x58000035,
3244 0 : Type::SYSZ_TLS_DTPMOD => 0x58000036,
3245 0 : Type::SYSZ_TLS_DTPOFF => 0x58000037,
3246 0 : Type::SYSZ_TLS_TPOFF => 0x58000038,
3247 0 : Type::SYSZ_20 => 0x58000039,
3248 0 : Type::SYSZ_GOT20 => 0x5800003a,
3249 0 : Type::SYSZ_GOTPLT20 => 0x5800003b,
3250 0 : Type::SYSZ_TLS_GOTIE20 => 0x5800003c,
3251 0 : Type::SYSZ_IRELATIVE => 0x5800003d,
3252 0 : Type::SYSZ_PC12DBL => 0x5800003e,
3253 0 : Type::SYSZ_PLT12DBL => 0x5800003f,
3254 0 : Type::SYSZ_PC24DBL => 0x58000040,
3255 0 : Type::SYSZ_PLT24DBL => 0x58000041,
3256 0 : Type::RISCV_NONE => 0x60000000,
3257 0 : Type::RISCV_32 => 0x60000001,
3258 0 : Type::RISCV_64 => 0x60000002,
3259 0 : Type::RISCV_RELATIVE => 0x60000003,
3260 0 : Type::RISCV_COPY => 0x60000004,
3261 0 : Type::RISCV_JUMP_SLOT => 0x60000005,
3262 0 : Type::RISCV_TLS_DTPMOD32 => 0x60000006,
3263 0 : Type::RISCV_TLS_DTPMOD64 => 0x60000007,
3264 0 : Type::RISCV_TLS_DTPREL32 => 0x60000008,
3265 0 : Type::RISCV_TLS_DTPREL64 => 0x60000009,
3266 0 : Type::RISCV_TLS_TPREL32 => 0x6000000a,
3267 0 : Type::RISCV_TLS_TPREL64 => 0x6000000b,
3268 0 : Type::RISCV_TLSDESC => 0x6000000c,
3269 0 : Type::RISCV_BRANCH => 0x60000010,
3270 0 : Type::RISCV_JAL => 0x60000011,
3271 0 : Type::RISCV_CALL => 0x60000012,
3272 0 : Type::RISCV_CALL_PLT => 0x60000013,
3273 0 : Type::RISCV_GOT_HI20 => 0x60000014,
3274 0 : Type::RISCV_TLS_GOT_HI20 => 0x60000015,
3275 0 : Type::RISCV_TLS_GD_HI20 => 0x60000016,
3276 0 : Type::RISCV_PCREL_HI20 => 0x60000017,
3277 0 : Type::RISCV_PCREL_LO12_I => 0x60000018,
3278 0 : Type::RISCV_PCREL_LO12_S => 0x60000019,
3279 0 : Type::RISCV_HI20 => 0x6000001a,
3280 0 : Type::RISCV_LO12_I => 0x6000001b,
3281 0 : Type::RISCV_LO12_S => 0x6000001c,
3282 0 : Type::RISCV_TPREL_HI20 => 0x6000001d,
3283 0 : Type::RISCV_TPREL_LO12_I => 0x6000001e,
3284 0 : Type::RISCV_TPREL_LO12_S => 0x6000001f,
3285 0 : Type::RISCV_TPREL_ADD => 0x60000020,
3286 0 : Type::RISCV_ADD8 => 0x60000021,
3287 0 : Type::RISCV_ADD16 => 0x60000022,
3288 0 : Type::RISCV_ADD32 => 0x60000023,
3289 0 : Type::RISCV_ADD64 => 0x60000024,
3290 0 : Type::RISCV_SUB8 => 0x60000025,
3291 0 : Type::RISCV_SUB16 => 0x60000026,
3292 0 : Type::RISCV_SUB32 => 0x60000027,
3293 0 : Type::RISCV_SUB64 => 0x60000028,
3294 0 : Type::RISCV_GOT32_PCREL => 0x60000029,
3295 0 : Type::RISCV_ALIGN => 0x6000002b,
3296 0 : Type::RISCV_RVC_BRANCH => 0x6000002c,
3297 0 : Type::RISCV_RVC_JUMP => 0x6000002d,
3298 0 : Type::RISCV_RVC_LUI => 0x6000002e,
3299 0 : Type::RISCV_RELAX => 0x60000033,
3300 0 : Type::RISCV_SUB6 => 0x60000034,
3301 0 : Type::RISCV_SET6 => 0x60000035,
3302 0 : Type::RISCV_SET8 => 0x60000036,
3303 0 : Type::RISCV_SET16 => 0x60000037,
3304 0 : Type::RISCV_SET32 => 0x60000038,
3305 0 : Type::RISCV_32_PCREL => 0x60000039,
3306 0 : Type::RISCV_IRELATIVE => 0x6000003a,
3307 0 : Type::RISCV_PLT32 => 0x6000003b,
3308 0 : Type::RISCV_SET_ULEB128 => 0x6000003c,
3309 0 : Type::RISCV_SUB_ULEB128 => 0x6000003d,
3310 0 : Type::RISCV_TLSDESC_HI20 => 0x6000003e,
3311 0 : Type::RISCV_TLSDESC_LOAD_LO12 => 0x6000003f,
3312 0 : Type::RISCV_TLSDESC_ADD_LO12 => 0x60000040,
3313 0 : Type::RISCV_TLSDESC_CALL => 0x60000041,
3314 0 : Type::BPF_NONE => 0x68000000,
3315 0 : Type::BPF_64_64 => 0x68000001,
3316 0 : Type::BPF_64_ABS64 => 0x68000002,
3317 0 : Type::BPF_64_ABS32 => 0x68000003,
3318 0 : Type::BPF_64_NODYLD32 => 0x68000004,
3319 0 : Type::BPF_64_32 => 0x6800000a,
3320 0 : Type::SH_NONE => 0x70000000,
3321 0 : Type::SH_DIR32 => 0x70000001,
3322 0 : Type::SH_REL32 => 0x70000002,
3323 0 : Type::SH_DIR8WPN => 0x70000003,
3324 0 : Type::SH_IND12W => 0x70000004,
3325 0 : Type::SH_DIR8WPL => 0x70000005,
3326 0 : Type::SH_DIR8WPZ => 0x70000006,
3327 0 : Type::SH_DIR8BP => 0x70000007,
3328 0 : Type::SH_DIR8W => 0x70000008,
3329 0 : Type::SH_DIR8L => 0x70000009,
3330 0 : Type::SH_LOOP_START => 0x7000000a,
3331 0 : Type::SH_LOOP_END => 0x7000000b,
3332 0 : Type::SH_GNU_VTINHERIT => 0x70000016,
3333 0 : Type::SH_GNU_VTENTRY => 0x70000017,
3334 0 : Type::SH_SWITCH8 => 0x70000018,
3335 0 : Type::SH_SWITCH16 => 0x70000019,
3336 0 : Type::SH_SWITCH32 => 0x7000001a,
3337 0 : Type::SH_USES => 0x7000001b,
3338 0 : Type::SH_COUNT => 0x7000001c,
3339 0 : Type::SH_ALIGN => 0x7000001d,
3340 0 : Type::SH_CODE => 0x7000001e,
3341 0 : Type::SH_DATA => 0x7000001f,
3342 0 : Type::SH_LABEL => 0x70000020,
3343 0 : Type::SH_DIR16 => 0x70000021,
3344 0 : Type::SH_DIR8 => 0x70000022,
3345 0 : Type::SH_DIR8UL => 0x70000023,
3346 0 : Type::SH_DIR8UW => 0x70000024,
3347 0 : Type::SH_DIR8U => 0x70000025,
3348 0 : Type::SH_DIR8SW => 0x70000026,
3349 0 : Type::SH_DIR8S => 0x70000027,
3350 0 : Type::SH_DIR4UL => 0x70000028,
3351 0 : Type::SH_DIR4UW => 0x70000029,
3352 0 : Type::SH_DIR4U => 0x7000002a,
3353 0 : Type::SH_PSHA => 0x7000002b,
3354 0 : Type::SH_PSHL => 0x7000002c,
3355 0 : Type::SH_DIR5U => 0x7000002d,
3356 0 : Type::SH_DIR6U => 0x7000002e,
3357 0 : Type::SH_DIR6S => 0x7000002f,
3358 0 : Type::SH_DIR10S => 0x70000030,
3359 0 : Type::SH_DIR10SW => 0x70000031,
3360 0 : Type::SH_DIR10SL => 0x70000032,
3361 0 : Type::SH_DIR10SQ => 0x70000033,
3362 0 : Type::SH_DIR16S => 0x70000035,
3363 0 : Type::SH_TLS_GD_32 => 0x70000090,
3364 0 : Type::SH_TLS_LD_32 => 0x70000091,
3365 0 : Type::SH_TLS_LDO_32 => 0x70000092,
3366 0 : Type::SH_TLS_IE_32 => 0x70000093,
3367 0 : Type::SH_TLS_LE_32 => 0x70000094,
3368 0 : Type::SH_TLS_DTPMOD32 => 0x70000095,
3369 0 : Type::SH_TLS_DTPOFF32 => 0x70000096,
3370 0 : Type::SH_TLS_TPOFF32 => 0x70000097,
3371 0 : Type::SH_GOT32 => 0x700000a0,
3372 0 : Type::SH_PLT32 => 0x700000a1,
3373 0 : Type::SH_COPY => 0x700000a2,
3374 0 : Type::SH_GLOB_DAT => 0x700000a3,
3375 0 : Type::SH_JMP_SLOT => 0x700000a4,
3376 0 : Type::SH_RELATIVE => 0x700000a5,
3377 0 : Type::SH_GOTOFF => 0x700000a6,
3378 0 : Type::SH_GOTPC => 0x700000a7,
3379 0 : Type::SH_GOTPLT32 => 0x700000a8,
3380 0 : Type::SH_GOT_LOW16 => 0x700000a9,
3381 0 : Type::SH_GOT_MEDLOW16 => 0x700000aa,
3382 0 : Type::SH_GOT_MEDHI16 => 0x700000ab,
3383 0 : Type::SH_GOT_HI16 => 0x700000ac,
3384 0 : Type::SH_GOTPLT_LOW16 => 0x700000ad,
3385 0 : Type::SH_GOTPLT_MEDLOW16 => 0x700000ae,
3386 0 : Type::SH_GOTPLT_MEDHI16 => 0x700000af,
3387 0 : Type::SH_GOTPLT_HI16 => 0x700000b0,
3388 0 : Type::SH_PLT_LOW16 => 0x700000b1,
3389 0 : Type::SH_PLT_MEDLOW16 => 0x700000b2,
3390 0 : Type::SH_PLT_MEDHI16 => 0x700000b3,
3391 0 : Type::SH_PLT_HI16 => 0x700000b4,
3392 0 : Type::SH_GOTOFF_LOW16 => 0x700000b5,
3393 0 : Type::SH_GOTOFF_MEDLOW16 => 0x700000b6,
3394 0 : Type::SH_GOTOFF_MEDHI16 => 0x700000b7,
3395 0 : Type::SH_GOTOFF_HI16 => 0x700000b8,
3396 0 : Type::SH_GOTPC_LOW16 => 0x700000b9,
3397 0 : Type::SH_GOTPC_MEDLOW16 => 0x700000ba,
3398 0 : Type::SH_GOTPC_MEDHI16 => 0x700000bb,
3399 0 : Type::SH_GOTPC_HI16 => 0x700000bc,
3400 0 : Type::SH_GOT10BY4 => 0x700000bd,
3401 0 : Type::SH_GOTPLT10BY4 => 0x700000be,
3402 0 : Type::SH_GOT10BY8 => 0x700000bf,
3403 0 : Type::SH_GOTPLT10BY8 => 0x700000c0,
3404 0 : Type::SH_COPY64 => 0x700000c1,
3405 0 : Type::SH_GLOB_DAT64 => 0x700000c2,
3406 0 : Type::SH_JMP_SLOT64 => 0x700000c3,
3407 0 : Type::SH_RELATIVE64 => 0x700000c4,
3408 0 : Type::SH_GOT20 => 0x700000c9,
3409 0 : Type::SH_GOTOFF20 => 0x700000ca,
3410 0 : Type::SH_GOTFUNCDESC => 0x700000cb,
3411 0 : Type::SH_GOTFUNCDESC20 => 0x700000cc,
3412 0 : Type::SH_GOTOFFFUNCDESC => 0x700000cd,
3413 0 : Type::SH_GOTOFFFUNCDESC20 => 0x700000ce,
3414 0 : Type::SH_FUNCDESC => 0x700000cf,
3415 0 : Type::SH_FUNCDESC_VALUE => 0x700000d0,
3416 0 : Type::SH_SHMEDIA_CODE => 0x700000f2,
3417 0 : Type::SH_PT_16 => 0x700000f3,
3418 0 : Type::SH_IMMS16 => 0x700000f4,
3419 0 : Type::SH_IMMU16 => 0x700000f5,
3420 0 : Type::SH_IMM_LOW16 => 0x700000f6,
3421 0 : Type::SH_IMM_LOW16_PCREL => 0x700000f7,
3422 0 : Type::SH_IMM_MEDLOW16 => 0x700000f8,
3423 0 : Type::SH_IMM_MEDLOW16_PCREL => 0x700000f9,
3424 0 : Type::SH_IMM_MEDHI16 => 0x700000fa,
3425 0 : Type::SH_IMM_MEDHI16_PCREL => 0x700000fb,
3426 0 : Type::SH_IMM_HI16 => 0x700000fc,
3427 0 : Type::SH_IMM_HI16_PCREL => 0x700000fd,
3428 0 : Type::SH_64 => 0x700000fe,
3429 0 : Type::SH_64_PCREL => 0x700000ff,
3430 0 : Type::UNKNOWN(value) => value,
3431 : }
3432 0 : }
3433 : }
3434 :
3435 : #[allow(non_camel_case_types)]
3436 19440 : #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
3437 : /// The *purpose* of a relocation defines how this relocation is used by the
3438 : /// loader.
3439 : pub enum Purpose {
3440 : NONE,
3441 : /// The relocation is associated with the PLT/GOT resolution
3442 : PLTGOT,
3443 : /// The relocation is used for regulard data/code relocation
3444 : DYNAMIC,
3445 : /// The relocation is used in an object file
3446 : OBJECT,
3447 : UNKNOWN(u32),
3448 : }
3449 :
3450 : impl Purpose {
3451 19440 : pub fn from_value(value: u32) -> Self {
3452 19440 : match value {
3453 0 : 0x00000000 => Purpose::NONE,
3454 5256 : 0x00000001 => Purpose::PLTGOT,
3455 13080 : 0x00000002 => Purpose::DYNAMIC,
3456 1104 : 0x00000003 => Purpose::OBJECT,
3457 0 : _ => Purpose::UNKNOWN(value),
3458 :
3459 : }
3460 19440 : }
3461 : }
3462 :
3463 :
3464 : #[allow(non_camel_case_types)]
3465 19440 : #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
3466 : pub enum Encoding {
3467 : /// The relocation is using the regular Elf_Rel structure
3468 : REL,
3469 : /// The relocation is using the regular Elf_Rela structure
3470 : RELA,
3471 : /// The relocation is using the relative relocation format
3472 : RELR,
3473 : /// The relocation is using the packed Android-SLEB128 format
3474 : ANDROID_SLEB,
3475 : UNKNOWN(u32),
3476 : }
3477 :
3478 : impl Encoding {
3479 32520 : pub fn from_value(value: u32) -> Self {
3480 32520 : match value {
3481 18264 : 0x00000001 => Encoding::REL,
3482 14256 : 0x00000002 => Encoding::RELA,
3483 0 : 0x00000003 => Encoding::RELR,
3484 0 : 0x00000004 => Encoding::ANDROID_SLEB,
3485 0 : _ => Encoding::UNKNOWN(value),
3486 :
3487 : }
3488 32520 : }
3489 : }
3490 :
3491 : impl Relocation<'_> {
3492 : /// Additional value that can be involved in the relocation processing
3493 19440 : pub fn addend(&self) -> i64 {
3494 19440 : self.ptr.addend()
3495 19440 : }
3496 :
3497 : /// Type of the relocation
3498 19440 : pub fn get_type(&self) -> Type {
3499 19440 : Type::from(self.ptr.get_type())
3500 19440 : }
3501 :
3502 : /// Check if the relocation uses the explicit [`Relocation::addend`] field
3503 : /// (this is usually the case for 64 bits binaries)
3504 1980 : pub fn is_rela(&self) -> bool {
3505 1980 : self.ptr.is_rela()
3506 1980 : }
3507 :
3508 : /// Check if the relocation uses the implicit addend
3509 : /// (i.e. not present in the ELF structure)
3510 4560 : pub fn is_rel(&self) -> bool {
3511 4560 : self.ptr.is_rel()
3512 4560 : }
3513 :
3514 : /// Relocation info which contains, for instance, the symbol index
3515 19440 : pub fn info(&self) -> u32 {
3516 19440 : self.ptr.info()
3517 19440 : }
3518 :
3519 : /// Target architecture for this relocation
3520 19440 : pub fn architecture(&self) -> u32 {
3521 19440 : self.ptr.architecture()
3522 19440 : }
3523 :
3524 : /// The purpose of the relocation
3525 19440 : pub fn purpose(&self) -> Purpose {
3526 19440 : Purpose::from_value(self.ptr.purpose())
3527 19440 : }
3528 :
3529 : /// The encoding of the relocation
3530 32520 : pub fn encoding(&self) -> Encoding {
3531 32520 : Encoding::from_value(self.ptr.encoding())
3532 32520 : }
3533 :
3534 : /// Symbol associated with the relocation (if any)
3535 19440 : pub fn symbol(&self) -> Option<Symbol> {
3536 19440 : into_optional(self.ptr.symbol())
3537 19440 : }
3538 :
3539 : /// The section in which the relocation is applied (if any)
3540 19440 : pub fn section(&self) -> Option<Section> {
3541 19440 : into_optional(self.ptr.section())
3542 19440 : }
3543 :
3544 : /// The associated symbol table (if any)
3545 19440 : pub fn symbol_table(&self) -> Option<Section> {
3546 19440 : into_optional(self.ptr.symbol_table())
3547 19440 : }
3548 :
3549 : /// Try to resolve the value of the relocation with the provided base address.
3550 : ///
3551 : /// The returned value could be used such as: `*address = resolve_with_base_address(...)`
3552 : ///
3553 : /// See: [`Relocation::resolve`]
3554 0 : pub fn resolve_with_base_address(&self, base_address: u64) -> Result<u64, Error> {
3555 0 : to_result!(ffi::ELF_Relocation::resolve, &self, base_address);
3556 0 : }
3557 :
3558 : /// Try to resolve the value of the relocation.
3559 : /// The returned value could be used such as: `*address = resolve(...)`
3560 : ///
3561 : /// See: [`Relocation::resolve_with_base_address`]
3562 0 : pub fn resolve(&self) -> Result<u64, Error> {
3563 0 : self.resolve_with_base_address(0)
3564 0 : }
3565 : }
3566 :
3567 : impl std::fmt::Debug for Relocation<'_> {
3568 19440 : fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
3569 19440 : let base = self as &dyn generic::Relocation;
3570 19440 : f.debug_struct("Relocation")
3571 19440 : .field("base", &base)
3572 19440 : .field("addend", &self.addend())
3573 19440 : .field("type", &self.get_type())
3574 19440 : .field("info", &self.info())
3575 19440 : .field("architecture", &self.architecture())
3576 19440 : .field("purpose", &self.purpose())
3577 19440 : .field("encoding", &self.encoding())
3578 19440 : .field("symbol", &self.symbol())
3579 19440 : .field("section", &self.section())
3580 19440 : .field("symbol_table", &self.symbol_table())
3581 19440 : .finish()
3582 19440 : }
3583 : }
3584 :
3585 : impl FromFFI<ffi::ELF_Relocation> for Relocation<'_> {
3586 19464 : fn from_ffi(ptr: cxx::UniquePtr<ffi::ELF_Relocation>) -> Self {
3587 19464 : Relocation {
3588 19464 : ptr,
3589 19464 : _owner: PhantomData
3590 19464 : }
3591 19464 : }
3592 : }
3593 :
3594 : impl generic::Relocation for Relocation<'_> {
3595 38880 : fn as_generic(&self) -> &ffi::AbstractRelocation {
3596 38880 : self.ptr.as_ref().unwrap().as_ref()
3597 38880 : }
3598 : }
3599 :
3600 9720 : declare_iterator!(Relocations, Relocation<'a>, ffi::ELF_Relocation, ffi::ELF_Binary, ffi::ELF_Binary_it_relocations);
3601 2628 : declare_iterator!(PltGotRelocations, Relocation<'a>, ffi::ELF_Relocation, ffi::ELF_Binary, ffi::ELF_Binary_it_pltgot_relocations);
3602 6540 : declare_iterator!(DynamicRelocations, Relocation<'a>, ffi::ELF_Relocation, ffi::ELF_Binary, ffi::ELF_Binary_it_dynamic_relocations);
3603 552 : declare_iterator!(ObjectRelocations, Relocation<'a>, ffi::ELF_Relocation, ffi::ELF_Binary, ffi::ELF_Binary_it_object_relocations);
|