1#![allow(missing_docs)]
9#![allow(clippy::identity_op)]
10
11use crate::endian::{Endian, I32, I64, U16, U32, U64};
12use crate::pod::Pod;
13
14#[derive(Debug, Clone, Copy)]
16#[repr(C)]
17pub struct FileHeader32<E: Endian> {
18 pub e_ident: Ident,
20 pub e_type: U16<E>,
22 pub e_machine: U16<E>,
24 pub e_version: U32<E>,
26 pub e_entry: U32<E>,
28 pub e_phoff: U32<E>,
30 pub e_shoff: U32<E>,
32 pub e_flags: U32<E>,
36 pub e_ehsize: U16<E>,
38 pub e_phentsize: U16<E>,
40 pub e_phnum: U16<E>,
45 pub e_shentsize: U16<E>,
47 pub e_shnum: U16<E>,
53 pub e_shstrndx: U16<E>,
58}
59
60#[derive(Debug, Clone, Copy)]
62#[repr(C)]
63pub struct FileHeader64<E: Endian> {
64 pub e_ident: Ident,
66 pub e_type: U16<E>,
68 pub e_machine: U16<E>,
70 pub e_version: U32<E>,
72 pub e_entry: U64<E>,
74 pub e_phoff: U64<E>,
76 pub e_shoff: U64<E>,
78 pub e_flags: U32<E>,
82 pub e_ehsize: U16<E>,
84 pub e_phentsize: U16<E>,
86 pub e_phnum: U16<E>,
91 pub e_shentsize: U16<E>,
93 pub e_shnum: U16<E>,
99 pub e_shstrndx: U16<E>,
104}
105
106#[derive(Debug, Clone, Copy)]
110#[repr(C)]
111pub struct Ident {
112 pub magic: [u8; 4],
114 pub class: u8,
116 pub data: u8,
118 pub version: u8,
120 pub os_abi: u8,
122 pub abi_version: u8,
126 pub padding: [u8; 7],
128}
129
130pub const ELFMAG: [u8; 4] = [0x7f, b'E', b'L', b'F'];
132
133pub const ELFCLASSNONE: u8 = 0;
136pub const ELFCLASS32: u8 = 1;
138pub const ELFCLASS64: u8 = 2;
140
141pub const ELFDATANONE: u8 = 0;
144pub const ELFDATA2LSB: u8 = 1;
146pub const ELFDATA2MSB: u8 = 2;
148
149pub const ELFOSABI_NONE: u8 = 0;
152pub const ELFOSABI_SYSV: u8 = 0;
156pub const ELFOSABI_HPUX: u8 = 1;
158pub const ELFOSABI_NETBSD: u8 = 2;
160pub const ELFOSABI_GNU: u8 = 3;
162pub const ELFOSABI_LINUX: u8 = ELFOSABI_GNU;
166pub const ELFOSABI_HURD: u8 = 4;
168pub const ELFOSABI_SOLARIS: u8 = 6;
170pub const ELFOSABI_AIX: u8 = 7;
172pub const ELFOSABI_IRIX: u8 = 8;
174pub const ELFOSABI_FREEBSD: u8 = 9;
176pub const ELFOSABI_TRU64: u8 = 10;
178pub const ELFOSABI_MODESTO: u8 = 11;
180pub const ELFOSABI_OPENBSD: u8 = 12;
182pub const ELFOSABI_OPENVMS: u8 = 13;
184pub const ELFOSABI_NSK: u8 = 14;
186pub const ELFOSABI_AROS: u8 = 15;
188pub const ELFOSABI_FENIXOS: u8 = 16;
190pub const ELFOSABI_CLOUDABI: u8 = 17;
192pub const ELFOSABI_ARM_AEABI: u8 = 64;
194pub const ELFOSABI_ARM: u8 = 97;
196pub const ELFOSABI_STANDALONE: u8 = 255;
198
199pub const ET_NONE: u16 = 0;
202pub const ET_REL: u16 = 1;
204pub const ET_EXEC: u16 = 2;
206pub const ET_DYN: u16 = 3;
208pub const ET_CORE: u16 = 4;
210pub const ET_LOOS: u16 = 0xfe00;
212pub const ET_HIOS: u16 = 0xfeff;
214pub const ET_LOPROC: u16 = 0xff00;
216pub const ET_HIPROC: u16 = 0xffff;
218
219pub const EM_NONE: u16 = 0;
222pub const EM_M32: u16 = 1;
224pub const EM_SPARC: u16 = 2;
226pub const EM_386: u16 = 3;
228pub const EM_68K: u16 = 4;
230pub const EM_88K: u16 = 5;
232pub const EM_IAMCU: u16 = 6;
234pub const EM_860: u16 = 7;
236pub const EM_MIPS: u16 = 8;
238pub const EM_S370: u16 = 9;
240pub const EM_MIPS_RS3_LE: u16 = 10;
242pub const EM_PARISC: u16 = 15;
244pub const EM_VPP500: u16 = 17;
246pub const EM_SPARC32PLUS: u16 = 18;
248pub const EM_960: u16 = 19;
250pub const EM_PPC: u16 = 20;
252pub const EM_PPC64: u16 = 21;
254pub const EM_S390: u16 = 22;
256pub const EM_SPU: u16 = 23;
258pub const EM_V800: u16 = 36;
260pub const EM_FR20: u16 = 37;
262pub const EM_RH32: u16 = 38;
264pub const EM_RCE: u16 = 39;
266pub const EM_ARM: u16 = 40;
268pub const EM_FAKE_ALPHA: u16 = 41;
270pub const EM_SH: u16 = 42;
272pub const EM_SPARCV9: u16 = 43;
274pub const EM_TRICORE: u16 = 44;
276pub const EM_ARC: u16 = 45;
278pub const EM_H8_300: u16 = 46;
280pub const EM_H8_300H: u16 = 47;
282pub const EM_H8S: u16 = 48;
284pub const EM_H8_500: u16 = 49;
286pub const EM_IA_64: u16 = 50;
288pub const EM_MIPS_X: u16 = 51;
290pub const EM_COLDFIRE: u16 = 52;
292pub const EM_68HC12: u16 = 53;
294pub const EM_MMA: u16 = 54;
296pub const EM_PCP: u16 = 55;
298pub const EM_NCPU: u16 = 56;
300pub const EM_NDR1: u16 = 57;
302pub const EM_STARCORE: u16 = 58;
304pub const EM_ME16: u16 = 59;
306pub const EM_ST100: u16 = 60;
308pub const EM_TINYJ: u16 = 61;
310pub const EM_X86_64: u16 = 62;
312pub const EM_PDSP: u16 = 63;
314pub const EM_PDP10: u16 = 64;
316pub const EM_PDP11: u16 = 65;
318pub const EM_FX66: u16 = 66;
320pub const EM_ST9PLUS: u16 = 67;
322pub const EM_ST7: u16 = 68;
324pub const EM_68HC16: u16 = 69;
326pub const EM_68HC11: u16 = 70;
328pub const EM_68HC08: u16 = 71;
330pub const EM_68HC05: u16 = 72;
332pub const EM_SVX: u16 = 73;
334pub const EM_ST19: u16 = 74;
336pub const EM_VAX: u16 = 75;
338pub const EM_CRIS: u16 = 76;
340pub const EM_JAVELIN: u16 = 77;
342pub const EM_FIREPATH: u16 = 78;
344pub const EM_ZSP: u16 = 79;
346pub const EM_MMIX: u16 = 80;
348pub const EM_HUANY: u16 = 81;
350pub const EM_PRISM: u16 = 82;
352pub const EM_AVR: u16 = 83;
354pub const EM_FR30: u16 = 84;
356pub const EM_D10V: u16 = 85;
358pub const EM_D30V: u16 = 86;
360pub const EM_V850: u16 = 87;
362pub const EM_M32R: u16 = 88;
364pub const EM_MN10300: u16 = 89;
366pub const EM_MN10200: u16 = 90;
368pub const EM_PJ: u16 = 91;
370pub const EM_OPENRISC: u16 = 92;
372pub const EM_ARC_COMPACT: u16 = 93;
374pub const EM_XTENSA: u16 = 94;
376pub const EM_VIDEOCORE: u16 = 95;
378pub const EM_TMM_GPP: u16 = 96;
380pub const EM_NS32K: u16 = 97;
382pub const EM_TPC: u16 = 98;
384pub const EM_SNP1K: u16 = 99;
386pub const EM_ST200: u16 = 100;
388pub const EM_IP2K: u16 = 101;
390pub const EM_MAX: u16 = 102;
392pub const EM_CR: u16 = 103;
394pub const EM_F2MC16: u16 = 104;
396pub const EM_MSP430: u16 = 105;
398pub const EM_BLACKFIN: u16 = 106;
400pub const EM_SE_C33: u16 = 107;
402pub const EM_SEP: u16 = 108;
404pub const EM_ARCA: u16 = 109;
406pub const EM_UNICORE: u16 = 110;
408pub const EM_EXCESS: u16 = 111;
410pub const EM_DXP: u16 = 112;
412pub const EM_ALTERA_NIOS2: u16 = 113;
414pub const EM_CRX: u16 = 114;
416pub const EM_XGATE: u16 = 115;
418pub const EM_C166: u16 = 116;
420pub const EM_M16C: u16 = 117;
422pub const EM_DSPIC30F: u16 = 118;
424pub const EM_CE: u16 = 119;
426pub const EM_M32C: u16 = 120;
428pub const EM_TSK3000: u16 = 131;
430pub const EM_RS08: u16 = 132;
432pub const EM_SHARC: u16 = 133;
434pub const EM_ECOG2: u16 = 134;
436pub const EM_SCORE7: u16 = 135;
438pub const EM_DSP24: u16 = 136;
440pub const EM_VIDEOCORE3: u16 = 137;
442pub const EM_LATTICEMICO32: u16 = 138;
444pub const EM_SE_C17: u16 = 139;
446pub const EM_TI_C6000: u16 = 140;
448pub const EM_TI_C2000: u16 = 141;
450pub const EM_TI_C5500: u16 = 142;
452pub const EM_TI_ARP32: u16 = 143;
454pub const EM_TI_PRU: u16 = 144;
456pub const EM_MMDSP_PLUS: u16 = 160;
458pub const EM_CYPRESS_M8C: u16 = 161;
460pub const EM_R32C: u16 = 162;
462pub const EM_TRIMEDIA: u16 = 163;
464pub const EM_HEXAGON: u16 = 164;
466pub const EM_8051: u16 = 165;
468pub const EM_STXP7X: u16 = 166;
470pub const EM_NDS32: u16 = 167;
472pub const EM_ECOG1X: u16 = 168;
474pub const EM_MAXQ30: u16 = 169;
476pub const EM_XIMO16: u16 = 170;
478pub const EM_MANIK: u16 = 171;
480pub const EM_CRAYNV2: u16 = 172;
482pub const EM_RX: u16 = 173;
484pub const EM_METAG: u16 = 174;
486pub const EM_MCST_ELBRUS: u16 = 175;
488pub const EM_ECOG16: u16 = 176;
490pub const EM_CR16: u16 = 177;
492pub const EM_ETPU: u16 = 178;
494pub const EM_SLE9X: u16 = 179;
496pub const EM_L10M: u16 = 180;
498pub const EM_K10M: u16 = 181;
500pub const EM_AARCH64: u16 = 183;
502pub const EM_AVR32: u16 = 185;
504pub const EM_STM8: u16 = 186;
506pub const EM_TILE64: u16 = 187;
508pub const EM_TILEPRO: u16 = 188;
510pub const EM_MICROBLAZE: u16 = 189;
512pub const EM_CUDA: u16 = 190;
514pub const EM_TILEGX: u16 = 191;
516pub const EM_CLOUDSHIELD: u16 = 192;
518pub const EM_COREA_1ST: u16 = 193;
520pub const EM_COREA_2ND: u16 = 194;
522pub const EM_ARC_COMPACT2: u16 = 195;
524pub const EM_OPEN8: u16 = 196;
526pub const EM_RL78: u16 = 197;
528pub const EM_VIDEOCORE5: u16 = 198;
530pub const EM_78KOR: u16 = 199;
532pub const EM_56800EX: u16 = 200;
534pub const EM_BA1: u16 = 201;
536pub const EM_BA2: u16 = 202;
538pub const EM_XCORE: u16 = 203;
540pub const EM_MCHP_PIC: u16 = 204;
542pub const EM_KM32: u16 = 210;
544pub const EM_KMX32: u16 = 211;
546pub const EM_EMX16: u16 = 212;
548pub const EM_EMX8: u16 = 213;
550pub const EM_KVARC: u16 = 214;
552pub const EM_CDP: u16 = 215;
554pub const EM_COGE: u16 = 216;
556pub const EM_COOL: u16 = 217;
558pub const EM_NORC: u16 = 218;
560pub const EM_CSR_KALIMBA: u16 = 219;
562pub const EM_Z80: u16 = 220;
564pub const EM_VISIUM: u16 = 221;
566pub const EM_FT32: u16 = 222;
568pub const EM_MOXIE: u16 = 223;
570pub const EM_AMDGPU: u16 = 224;
572pub const EM_RISCV: u16 = 243;
574pub const EM_BPF: u16 = 247;
576pub const EM_CSKY: u16 = 252;
578pub const EM_LOONGARCH: u16 = 258;
580pub const EM_SBF: u16 = 263;
582pub const EM_ALPHA: u16 = 0x9026;
584
585pub const EV_NONE: u8 = 0;
588pub const EV_CURRENT: u8 = 1;
590
591#[derive(Debug, Clone, Copy)]
593#[repr(C)]
594pub struct SectionHeader32<E: Endian> {
595 pub sh_name: U32<E>,
599 pub sh_type: U32<E>,
601 pub sh_flags: U32<E>,
603 pub sh_addr: U32<E>,
605 pub sh_offset: U32<E>,
607 pub sh_size: U32<E>,
609 pub sh_link: U32<E>,
613 pub sh_info: U32<E>,
617 pub sh_addralign: U32<E>,
619 pub sh_entsize: U32<E>,
621}
622
623#[derive(Debug, Clone, Copy)]
625#[repr(C)]
626pub struct SectionHeader64<E: Endian> {
627 pub sh_name: U32<E>,
631 pub sh_type: U32<E>,
633 pub sh_flags: U64<E>,
635 pub sh_addr: U64<E>,
637 pub sh_offset: U64<E>,
639 pub sh_size: U64<E>,
641 pub sh_link: U32<E>,
645 pub sh_info: U32<E>,
649 pub sh_addralign: U64<E>,
651 pub sh_entsize: U64<E>,
653}
654
655pub const SHN_UNDEF: u16 = 0;
658pub const SHN_LORESERVE: u16 = 0xff00;
661pub const SHN_LOPROC: u16 = 0xff00;
663pub const SHN_HIPROC: u16 = 0xff1f;
665pub const SHN_LOOS: u16 = 0xff20;
667pub const SHN_HIOS: u16 = 0xff3f;
669pub const SHN_ABS: u16 = 0xfff1;
671pub const SHN_COMMON: u16 = 0xfff2;
673pub const SHN_XINDEX: u16 = 0xffff;
675pub const SHN_HIRESERVE: u16 = 0xffff;
677
678pub const SHT_NULL: u32 = 0;
681pub const SHT_PROGBITS: u32 = 1;
683pub const SHT_SYMTAB: u32 = 2;
685pub const SHT_STRTAB: u32 = 3;
687pub const SHT_RELA: u32 = 4;
689pub const SHT_HASH: u32 = 5;
691pub const SHT_DYNAMIC: u32 = 6;
693pub const SHT_NOTE: u32 = 7;
695pub const SHT_NOBITS: u32 = 8;
697pub const SHT_REL: u32 = 9;
699pub const SHT_SHLIB: u32 = 10;
701pub const SHT_DYNSYM: u32 = 11;
703pub const SHT_INIT_ARRAY: u32 = 14;
705pub const SHT_FINI_ARRAY: u32 = 15;
707pub const SHT_PREINIT_ARRAY: u32 = 16;
709pub const SHT_GROUP: u32 = 17;
711pub const SHT_SYMTAB_SHNDX: u32 = 18;
713pub const SHT_RELR: u32 = 19;
715pub const SHT_CREL: u32 = 0x40000014;
718pub const SHT_LOOS: u32 = 0x6000_0000;
720pub const SHT_ANDROID_REL: u32 = 0x60000001;
722pub const SHT_ANDROID_RELA: u32 = 0x60000002;
724pub const SHT_LLVM_DEPENDENT_LIBRARIES: u32 = 0x6fff4c04;
726pub const SHT_ANDROID_RELR: u32 = 0x6fff_ff00;
728pub const SHT_GNU_SFRAME: u32 = 0x6fff_fff4;
730pub const SHT_GNU_ATTRIBUTES: u32 = 0x6fff_fff5;
732pub const SHT_GNU_HASH: u32 = 0x6fff_fff6;
734pub const SHT_GNU_LIBLIST: u32 = 0x6fff_fff7;
736pub const SHT_CHECKSUM: u32 = 0x6fff_fff8;
738pub const SHT_LOSUNW: u32 = 0x6fff_fffa;
740#[allow(non_upper_case_globals)]
741pub const SHT_SUNW_move: u32 = 0x6fff_fffa;
742pub const SHT_SUNW_COMDAT: u32 = 0x6fff_fffb;
743#[allow(non_upper_case_globals)]
744pub const SHT_SUNW_syminfo: u32 = 0x6fff_fffc;
745#[allow(non_upper_case_globals)]
747pub const SHT_GNU_VERDEF: u32 = 0x6fff_fffd;
748#[allow(non_upper_case_globals)]
750pub const SHT_GNU_VERNEED: u32 = 0x6fff_fffe;
751#[allow(non_upper_case_globals)]
753pub const SHT_GNU_VERSYM: u32 = 0x6fff_ffff;
754pub const SHT_HISUNW: u32 = 0x6fff_ffff;
756pub const SHT_HIOS: u32 = 0x6fff_ffff;
758pub const SHT_LOPROC: u32 = 0x7000_0000;
760pub const SHT_HIPROC: u32 = 0x7fff_ffff;
762pub const SHT_LOUSER: u32 = 0x8000_0000;
764pub const SHT_HIUSER: u32 = 0x8fff_ffff;
766
767pub const SHF_WRITE: u32 = 1 << 0;
770pub const SHF_ALLOC: u32 = 1 << 1;
772pub const SHF_EXECINSTR: u32 = 1 << 2;
774pub const SHF_MERGE: u32 = 1 << 4;
776pub const SHF_STRINGS: u32 = 1 << 5;
778pub const SHF_INFO_LINK: u32 = 1 << 6;
780pub const SHF_LINK_ORDER: u32 = 1 << 7;
782pub const SHF_OS_NONCONFORMING: u32 = 1 << 8;
784pub const SHF_GROUP: u32 = 1 << 9;
786pub const SHF_TLS: u32 = 1 << 10;
788pub const SHF_COMPRESSED: u32 = 1 << 11;
792pub const SHF_MASKOS: u32 = 0x0ff0_0000;
794pub const SHF_GNU_RETAIN: u32 = 1 << 21;
796pub const SHF_GNU_MBIND: u32 = 1 << 24;
798pub const SHF_MASKPROC: u32 = 0xf000_0000;
800pub const SHF_EXCLUDE: u32 = 0x8000_0000;
802
803#[derive(Debug, Default, Clone, Copy)]
810#[repr(C)]
811pub struct CompressionHeader32<E: Endian> {
812 pub ch_type: U32<E>,
814 pub ch_size: U32<E>,
816 pub ch_addralign: U32<E>,
818}
819
820#[derive(Debug, Default, Clone, Copy)]
827#[repr(C)]
828pub struct CompressionHeader64<E: Endian> {
829 pub ch_type: U32<E>,
831 pub ch_reserved: U32<E>,
833 pub ch_size: U64<E>,
835 pub ch_addralign: U64<E>,
837}
838
839pub const ELFCOMPRESS_ZLIB: u32 = 1;
841pub const ELFCOMPRESS_ZSTD: u32 = 2;
843pub const ELFCOMPRESS_LOOS: u32 = 0x6000_0000;
845pub const ELFCOMPRESS_HIOS: u32 = 0x6fff_ffff;
847pub const ELFCOMPRESS_LOPROC: u32 = 0x7000_0000;
849pub const ELFCOMPRESS_HIPROC: u32 = 0x7fff_ffff;
851
852pub const GRP_COMDAT: u32 = 1;
855
856#[derive(Debug, Default, Clone, Copy)]
858#[repr(C)]
859pub struct Sym32<E: Endian> {
860 pub st_name: U32<E>,
864 pub st_value: U32<E>,
866 pub st_size: U32<E>,
868 pub st_info: u8,
872 pub st_other: u8,
876 pub st_shndx: U16<E>,
878}
879
880impl<E: Endian> Sym32<E> {
881 #[inline]
883 pub fn st_bind(&self) -> u8 {
884 self.st_info >> 4
885 }
886
887 #[inline]
889 pub fn st_type(&self) -> u8 {
890 self.st_info & 0xf
891 }
892
893 #[inline]
895 pub fn set_st_info(&mut self, st_bind: u8, st_type: u8) {
896 self.st_info = (st_bind << 4) + (st_type & 0xf);
897 }
898
899 #[inline]
901 pub fn st_visibility(&self) -> u8 {
902 self.st_other & 0x3
903 }
904}
905
906#[derive(Debug, Default, Clone, Copy)]
908#[repr(C)]
909pub struct Sym64<E: Endian> {
910 pub st_name: U32<E>,
914 pub st_info: u8,
918 pub st_other: u8,
922 pub st_shndx: U16<E>,
924 pub st_value: U64<E>,
926 pub st_size: U64<E>,
928}
929
930impl<E: Endian> Sym64<E> {
931 #[inline]
933 pub fn st_bind(&self) -> u8 {
934 self.st_info >> 4
935 }
936
937 #[inline]
939 pub fn st_type(&self) -> u8 {
940 self.st_info & 0xf
941 }
942
943 #[inline]
945 pub fn set_st_info(&mut self, st_bind: u8, st_type: u8) {
946 self.st_info = (st_bind << 4) + (st_type & 0xf);
947 }
948
949 #[inline]
951 pub fn st_visibility(&self) -> u8 {
952 self.st_other & 0x3
953 }
954}
955
956#[derive(Debug, Clone, Copy)]
958#[repr(C)]
959pub struct Syminfo32<E: Endian> {
960 pub si_boundto: U16<E>,
962 pub si_flags: U16<E>,
964}
965
966#[derive(Debug, Clone, Copy)]
968#[repr(C)]
969pub struct Syminfo64<E: Endian> {
970 pub si_boundto: U16<E>,
972 pub si_flags: U16<E>,
974}
975
976pub const SYMINFO_BT_SELF: u16 = 0xffff;
979pub const SYMINFO_BT_PARENT: u16 = 0xfffe;
981pub const SYMINFO_BT_LOWRESERVE: u16 = 0xff00;
983
984pub const SYMINFO_FLG_DIRECT: u16 = 0x0001;
987pub const SYMINFO_FLG_PASSTHRU: u16 = 0x0002;
989pub const SYMINFO_FLG_COPY: u16 = 0x0004;
991pub const SYMINFO_FLG_LAZYLOAD: u16 = 0x0008;
993
994pub const SYMINFO_NONE: u16 = 0;
996pub const SYMINFO_CURRENT: u16 = 1;
997pub const SYMINFO_NUM: u16 = 2;
998
999pub const STB_LOCAL: u8 = 0;
1002pub const STB_GLOBAL: u8 = 1;
1004pub const STB_WEAK: u8 = 2;
1006pub const STB_LOOS: u8 = 10;
1008pub const STB_GNU_UNIQUE: u8 = 10;
1010pub const STB_HIOS: u8 = 12;
1012pub const STB_LOPROC: u8 = 13;
1014pub const STB_HIPROC: u8 = 15;
1016
1017pub const STT_NOTYPE: u8 = 0;
1020pub const STT_OBJECT: u8 = 1;
1022pub const STT_FUNC: u8 = 2;
1024pub const STT_SECTION: u8 = 3;
1026pub const STT_FILE: u8 = 4;
1028pub const STT_COMMON: u8 = 5;
1030pub const STT_TLS: u8 = 6;
1032pub const STT_LOOS: u8 = 10;
1034pub const STT_GNU_IFUNC: u8 = 10;
1036pub const STT_HIOS: u8 = 12;
1038pub const STT_LOPROC: u8 = 13;
1040pub const STT_HIPROC: u8 = 15;
1042
1043pub const STV_DEFAULT: u8 = 0;
1046pub const STV_INTERNAL: u8 = 1;
1048pub const STV_HIDDEN: u8 = 2;
1050pub const STV_PROTECTED: u8 = 3;
1052
1053#[derive(Debug, Clone, Copy)]
1055#[repr(C)]
1056pub struct Rel32<E: Endian> {
1057 pub r_offset: U32<E>,
1059 pub r_info: U32<E>,
1061}
1062
1063impl<E: Endian> Rel32<E> {
1064 #[inline]
1066 pub fn r_sym(&self, endian: E) -> u32 {
1067 self.r_info.get(endian) >> 8
1068 }
1069
1070 #[inline]
1072 pub fn r_type(&self, endian: E) -> u32 {
1073 self.r_info.get(endian) & 0xff
1074 }
1075
1076 pub fn r_info(endian: E, r_sym: u32, r_type: u8) -> U32<E> {
1078 U32::new(endian, (r_sym << 8) | u32::from(r_type))
1079 }
1080
1081 pub fn set_r_info(&mut self, endian: E, r_sym: u32, r_type: u8) {
1083 self.r_info = Self::r_info(endian, r_sym, r_type)
1084 }
1085}
1086
1087#[derive(Debug, Clone, Copy)]
1089#[repr(C)]
1090pub struct Rela32<E: Endian> {
1091 pub r_offset: U32<E>,
1093 pub r_info: U32<E>,
1095 pub r_addend: I32<E>,
1097}
1098
1099impl<E: Endian> Rela32<E> {
1100 #[inline]
1102 pub fn r_sym(&self, endian: E) -> u32 {
1103 self.r_info.get(endian) >> 8
1104 }
1105
1106 #[inline]
1108 pub fn r_type(&self, endian: E) -> u32 {
1109 self.r_info.get(endian) & 0xff
1110 }
1111
1112 pub fn r_info(endian: E, r_sym: u32, r_type: u8) -> U32<E> {
1114 U32::new(endian, (r_sym << 8) | u32::from(r_type))
1115 }
1116
1117 pub fn set_r_info(&mut self, endian: E, r_sym: u32, r_type: u8) {
1119 self.r_info = Self::r_info(endian, r_sym, r_type)
1120 }
1121}
1122
1123impl<E: Endian> From<Rel32<E>> for Rela32<E> {
1124 fn from(rel: Rel32<E>) -> Self {
1125 Rela32 {
1126 r_offset: rel.r_offset,
1127 r_info: rel.r_info,
1128 r_addend: I32::default(),
1129 }
1130 }
1131}
1132
1133#[derive(Debug, Clone, Copy)]
1135#[repr(C)]
1136pub struct Rel64<E: Endian> {
1137 pub r_offset: U64<E>,
1139 pub r_info: U64<E>,
1141}
1142
1143impl<E: Endian> Rel64<E> {
1144 #[inline]
1146 pub fn r_sym(&self, endian: E) -> u32 {
1147 (self.r_info.get(endian) >> 32) as u32
1148 }
1149
1150 #[inline]
1152 pub fn r_type(&self, endian: E) -> u32 {
1153 (self.r_info.get(endian) & 0xffff_ffff) as u32
1154 }
1155
1156 pub fn r_info(endian: E, r_sym: u32, r_type: u32) -> U64<E> {
1158 U64::new(endian, (u64::from(r_sym) << 32) | u64::from(r_type))
1159 }
1160
1161 pub fn set_r_info(&mut self, endian: E, r_sym: u32, r_type: u32) {
1163 self.r_info = Self::r_info(endian, r_sym, r_type)
1164 }
1165}
1166
1167impl<E: Endian> From<Rel64<E>> for Rela64<E> {
1168 fn from(rel: Rel64<E>) -> Self {
1169 Rela64 {
1170 r_offset: rel.r_offset,
1171 r_info: rel.r_info,
1172 r_addend: I64::default(),
1173 }
1174 }
1175}
1176
1177#[derive(Debug, Clone, Copy)]
1179#[repr(C)]
1180pub struct Rela64<E: Endian> {
1181 pub r_offset: U64<E>,
1183 pub r_info: U64<E>,
1185 pub r_addend: I64<E>,
1187}
1188
1189impl<E: Endian> Rela64<E> {
1190 pub(crate) fn get_r_info(&self, endian: E, is_mips64el: bool) -> u64 {
1191 let mut t = self.r_info.get(endian);
1192 if is_mips64el {
1193 t = (t << 32)
1194 | ((t >> 8) & 0xff000000)
1195 | ((t >> 24) & 0x00ff0000)
1196 | ((t >> 40) & 0x0000ff00)
1197 | ((t >> 56) & 0x000000ff);
1198 }
1199 t
1200 }
1201
1202 #[inline]
1204 pub fn r_sym(&self, endian: E, is_mips64el: bool) -> u32 {
1205 (self.get_r_info(endian, is_mips64el) >> 32) as u32
1206 }
1207
1208 #[inline]
1210 pub fn r_type(&self, endian: E, is_mips64el: bool) -> u32 {
1211 (self.get_r_info(endian, is_mips64el) & 0xffff_ffff) as u32
1212 }
1213
1214 pub fn r_info(endian: E, is_mips64el: bool, r_sym: u32, r_type: u32) -> U64<E> {
1216 let mut t = (u64::from(r_sym) << 32) | u64::from(r_type);
1217 if is_mips64el {
1218 t = (t >> 32)
1219 | ((t & 0xff000000) << 8)
1220 | ((t & 0x00ff0000) << 24)
1221 | ((t & 0x0000ff00) << 40)
1222 | ((t & 0x000000ff) << 56);
1223 }
1224 U64::new(endian, t)
1225 }
1226
1227 pub fn set_r_info(&mut self, endian: E, is_mips64el: bool, r_sym: u32, r_type: u32) {
1229 self.r_info = Self::r_info(endian, is_mips64el, r_sym, r_type);
1230 }
1231}
1232
1233#[derive(Debug, Clone, Copy)]
1235#[repr(C)]
1236pub struct Relr32<E: Endian>(pub U32<E>);
1237
1238#[derive(Debug, Clone, Copy)]
1240#[repr(C)]
1241pub struct Relr64<E: Endian>(pub U64<E>);
1242
1243#[derive(Debug, Clone, Copy)]
1245#[repr(C)]
1246pub struct ProgramHeader32<E: Endian> {
1247 pub p_type: U32<E>,
1249 pub p_offset: U32<E>,
1251 pub p_vaddr: U32<E>,
1253 pub p_paddr: U32<E>,
1255 pub p_filesz: U32<E>,
1257 pub p_memsz: U32<E>,
1259 pub p_flags: U32<E>,
1261 pub p_align: U32<E>,
1263}
1264
1265#[derive(Debug, Clone, Copy)]
1267#[repr(C)]
1268pub struct ProgramHeader64<E: Endian> {
1269 pub p_type: U32<E>,
1271 pub p_flags: U32<E>,
1273 pub p_offset: U64<E>,
1275 pub p_vaddr: U64<E>,
1277 pub p_paddr: U64<E>,
1279 pub p_filesz: U64<E>,
1281 pub p_memsz: U64<E>,
1283 pub p_align: U64<E>,
1285}
1286
1287pub const PN_XNUM: u16 = 0xffff;
1292
1293pub const PT_NULL: u32 = 0;
1296pub const PT_LOAD: u32 = 1;
1298pub const PT_DYNAMIC: u32 = 2;
1300pub const PT_INTERP: u32 = 3;
1302pub const PT_NOTE: u32 = 4;
1304pub const PT_SHLIB: u32 = 5;
1306pub const PT_PHDR: u32 = 6;
1308pub const PT_TLS: u32 = 7;
1310pub const PT_LOOS: u32 = 0x6000_0000;
1312pub const PT_GNU_EH_FRAME: u32 = 0x6474_e550;
1314pub const PT_GNU_STACK: u32 = 0x6474_e551;
1316pub const PT_GNU_RELRO: u32 = 0x6474_e552;
1318pub const PT_GNU_PROPERTY: u32 = 0x6474_e553;
1320pub const PT_GNU_SFRAME: u32 = 0x6474_e554;
1322pub const PT_HIOS: u32 = 0x6fff_ffff;
1324pub const PT_LOPROC: u32 = 0x7000_0000;
1326pub const PT_HIPROC: u32 = 0x7fff_ffff;
1328
1329pub const PF_X: u32 = 1 << 0;
1332pub const PF_W: u32 = 1 << 1;
1334pub const PF_R: u32 = 1 << 2;
1336pub const PF_MASKOS: u32 = 0x0ff0_0000;
1338pub const PF_MASKPROC: u32 = 0xf000_0000;
1340
1341pub const ELF_NOTE_CORE: &[u8] = b"CORE";
1343pub const ELF_NOTE_LINUX: &[u8] = b"LINUX";
1347
1348pub const NT_PRSTATUS: u32 = 1;
1352pub const NT_PRFPREG: u32 = 2;
1354pub const NT_FPREGSET: u32 = 2;
1356pub const NT_PRPSINFO: u32 = 3;
1358pub const NT_PRXREG: u32 = 4;
1360pub const NT_TASKSTRUCT: u32 = 4;
1362pub const NT_PLATFORM: u32 = 5;
1364pub const NT_AUXV: u32 = 6;
1366pub const NT_GWINDOWS: u32 = 7;
1368pub const NT_ASRS: u32 = 8;
1370pub const NT_PSTATUS: u32 = 10;
1372pub const NT_PSINFO: u32 = 13;
1374pub const NT_PRCRED: u32 = 14;
1376pub const NT_UTSNAME: u32 = 15;
1378pub const NT_LWPSTATUS: u32 = 16;
1380pub const NT_LWPSINFO: u32 = 17;
1382pub const NT_PRFPXREG: u32 = 20;
1384pub const NT_SIGINFO: u32 = 0x5349_4749;
1386pub const NT_FILE: u32 = 0x4649_4c45;
1388pub const NT_PRXFPREG: u32 = 0x46e6_2b7f;
1390pub const NT_PPC_VMX: u32 = 0x100;
1392pub const NT_PPC_SPE: u32 = 0x101;
1394pub const NT_PPC_VSX: u32 = 0x102;
1396pub const NT_PPC_TAR: u32 = 0x103;
1398pub const NT_PPC_PPR: u32 = 0x104;
1400pub const NT_PPC_DSCR: u32 = 0x105;
1402pub const NT_PPC_EBB: u32 = 0x106;
1404pub const NT_PPC_PMU: u32 = 0x107;
1406pub const NT_PPC_TM_CGPR: u32 = 0x108;
1408pub const NT_PPC_TM_CFPR: u32 = 0x109;
1410pub const NT_PPC_TM_CVMX: u32 = 0x10a;
1412pub const NT_PPC_TM_CVSX: u32 = 0x10b;
1414pub const NT_PPC_TM_SPR: u32 = 0x10c;
1416pub const NT_PPC_TM_CTAR: u32 = 0x10d;
1418pub const NT_PPC_TM_CPPR: u32 = 0x10e;
1420pub const NT_PPC_TM_CDSCR: u32 = 0x10f;
1422pub const NT_PPC_PKEY: u32 = 0x110;
1424pub const NT_386_TLS: u32 = 0x200;
1426pub const NT_386_IOPERM: u32 = 0x201;
1428pub const NT_X86_XSTATE: u32 = 0x202;
1430pub const NT_S390_HIGH_GPRS: u32 = 0x300;
1432pub const NT_S390_TIMER: u32 = 0x301;
1434pub const NT_S390_TODCMP: u32 = 0x302;
1436pub const NT_S390_TODPREG: u32 = 0x303;
1438pub const NT_S390_CTRS: u32 = 0x304;
1440pub const NT_S390_PREFIX: u32 = 0x305;
1442pub const NT_S390_LAST_BREAK: u32 = 0x306;
1444pub const NT_S390_SYSTEM_CALL: u32 = 0x307;
1446pub const NT_S390_TDB: u32 = 0x308;
1448pub const NT_S390_VXRS_LOW: u32 = 0x309;
1450pub const NT_S390_VXRS_HIGH: u32 = 0x30a;
1452pub const NT_S390_GS_CB: u32 = 0x30b;
1454pub const NT_S390_GS_BC: u32 = 0x30c;
1456pub const NT_S390_RI_CB: u32 = 0x30d;
1458pub const NT_ARM_VFP: u32 = 0x400;
1460pub const NT_ARM_TLS: u32 = 0x401;
1462pub const NT_ARM_HW_BREAK: u32 = 0x402;
1464pub const NT_ARM_HW_WATCH: u32 = 0x403;
1466pub const NT_ARM_SYSTEM_CALL: u32 = 0x404;
1468pub const NT_ARM_SVE: u32 = 0x405;
1470pub const NT_VMCOREDD: u32 = 0x700;
1472pub const NT_MIPS_DSP: u32 = 0x800;
1474pub const NT_MIPS_FP_MODE: u32 = 0x801;
1476
1477pub const NT_VERSION: u32 = 1;
1484
1485#[derive(Debug, Clone, Copy)]
1487#[repr(C)]
1488pub struct Dyn32<E: Endian> {
1489 pub d_tag: I32<E>,
1491 pub d_val: U32<E>,
1493}
1494
1495#[derive(Debug, Clone, Copy)]
1497#[repr(C)]
1498pub struct Dyn64<E: Endian> {
1499 pub d_tag: I64<E>,
1501 pub d_val: U64<E>,
1503}
1504
1505pub const DT_NULL: i64 = 0;
1509pub const DT_NEEDED: i64 = 1;
1511pub const DT_PLTRELSZ: i64 = 2;
1513pub const DT_PLTGOT: i64 = 3;
1515pub const DT_HASH: i64 = 4;
1517pub const DT_STRTAB: i64 = 5;
1519pub const DT_SYMTAB: i64 = 6;
1521pub const DT_RELA: i64 = 7;
1523pub const DT_RELASZ: i64 = 8;
1525pub const DT_RELAENT: i64 = 9;
1527pub const DT_STRSZ: i64 = 10;
1529pub const DT_SYMENT: i64 = 11;
1531pub const DT_INIT: i64 = 12;
1533pub const DT_FINI: i64 = 13;
1535pub const DT_SONAME: i64 = 14;
1537pub const DT_RPATH: i64 = 15;
1539pub const DT_SYMBOLIC: i64 = 16;
1541pub const DT_REL: i64 = 17;
1543pub const DT_RELSZ: i64 = 18;
1545pub const DT_RELENT: i64 = 19;
1547pub const DT_PLTREL: i64 = 20;
1549pub const DT_DEBUG: i64 = 21;
1551pub const DT_TEXTREL: i64 = 22;
1553pub const DT_JMPREL: i64 = 23;
1555pub const DT_BIND_NOW: i64 = 24;
1557pub const DT_INIT_ARRAY: i64 = 25;
1559pub const DT_FINI_ARRAY: i64 = 26;
1561pub const DT_INIT_ARRAYSZ: i64 = 27;
1563pub const DT_FINI_ARRAYSZ: i64 = 28;
1565pub const DT_RUNPATH: i64 = 29;
1567pub const DT_FLAGS: i64 = 30;
1569pub const DT_ENCODING: i64 = 32;
1571pub const DT_PREINIT_ARRAY: i64 = 32;
1573pub const DT_PREINIT_ARRAYSZ: i64 = 33;
1575pub const DT_SYMTAB_SHNDX: i64 = 34;
1577pub const DT_RELR: i64 = 36;
1579pub const DT_RELRSZ: i64 = 35;
1581pub const DT_RELRENT: i64 = 37;
1583pub const DT_LOOS: i64 = 0x6000_000d;
1585pub const DT_ANDROID_REL: i64 = 0x6000000f;
1587pub const DT_ANDROID_RELSZ: i64 = 0x60000010;
1589pub const DT_ANDROID_RELA: i64 = 0x60000011;
1591pub const DT_ANDROID_RELASZ: i64 = 0x60000012;
1593pub const DT_ANDROID_RELR: i64 = 0x6fff_e000;
1595pub const DT_ANDROID_RELRSZ: i64 = 0x6fff_e001;
1597pub const DT_ANDROID_RELRENT: i64 = 0x6fff_e003;
1599pub const DT_HIOS: i64 = 0x6fff_f000;
1601pub const DT_LOPROC: i64 = 0x7000_0000;
1603pub const DT_HIPROC: i64 = 0x7fff_ffff;
1605
1606pub const DT_VALRNGLO: i64 = 0x6fff_fd00;
1608pub const DT_GNU_PRELINKED: i64 = 0x6fff_fdf5;
1610pub const DT_GNU_CONFLICTSZ: i64 = 0x6fff_fdf6;
1612pub const DT_GNU_LIBLISTSZ: i64 = 0x6fff_fdf7;
1614pub const DT_CHECKSUM: i64 = 0x6fff_fdf8;
1615pub const DT_PLTPADSZ: i64 = 0x6fff_fdf9;
1616pub const DT_MOVEENT: i64 = 0x6fff_fdfa;
1617pub const DT_MOVESZ: i64 = 0x6fff_fdfb;
1618pub const DT_FEATURE_1: i64 = 0x6fff_fdfc;
1620pub const DT_POSFLAG_1: i64 = 0x6fff_fdfd;
1622pub const DT_SYMINSZ: i64 = 0x6fff_fdfe;
1624pub const DT_SYMINENT: i64 = 0x6fff_fdff;
1626pub const DT_VALRNGHI: i64 = 0x6fff_fdff;
1627
1628pub const DT_ADDRRNGLO: i64 = 0x6fff_fe00;
1633pub const DT_GNU_HASH: i64 = 0x6fff_fef5;
1635pub const DT_TLSDESC_PLT: i64 = 0x6fff_fef6;
1636pub const DT_TLSDESC_GOT: i64 = 0x6fff_fef7;
1637pub const DT_GNU_CONFLICT: i64 = 0x6fff_fef8;
1639pub const DT_GNU_LIBLIST: i64 = 0x6fff_fef9;
1641pub const DT_CONFIG: i64 = 0x6fff_fefa;
1643pub const DT_DEPAUDIT: i64 = 0x6fff_fefb;
1645pub const DT_AUDIT: i64 = 0x6fff_fefc;
1647pub const DT_PLTPAD: i64 = 0x6fff_fefd;
1649pub const DT_MOVETAB: i64 = 0x6fff_fefe;
1651pub const DT_SYMINFO: i64 = 0x6fff_feff;
1653pub const DT_ADDRRNGHI: i64 = 0x6fff_feff;
1654
1655pub const DT_VERSYM: i64 = 0x6fff_fff0;
1658pub const DT_RELACOUNT: i64 = 0x6fff_fff9;
1659pub const DT_RELCOUNT: i64 = 0x6fff_fffa;
1660pub const DT_FLAGS_1: i64 = 0x6fff_fffb;
1662pub const DT_VERDEF: i64 = 0x6fff_fffc;
1664pub const DT_VERDEFNUM: i64 = 0x6fff_fffd;
1666pub const DT_VERNEED: i64 = 0x6fff_fffe;
1668pub const DT_VERNEEDNUM: i64 = 0x6fff_ffff;
1670
1671pub const DT_AUXILIARY: i64 = 0x7fff_fffd;
1674pub const DT_FILTER: i64 = 0x7fff_ffff;
1676
1677pub const DF_ORIGIN: u32 = 0x0000_0001;
1680pub const DF_SYMBOLIC: u32 = 0x0000_0002;
1682pub const DF_TEXTREL: u32 = 0x0000_0004;
1684pub const DF_BIND_NOW: u32 = 0x0000_0008;
1686pub const DF_STATIC_TLS: u32 = 0x0000_0010;
1688
1689pub const DF_1_NOW: u32 = 0x0000_0001;
1692pub const DF_1_GLOBAL: u32 = 0x0000_0002;
1694pub const DF_1_GROUP: u32 = 0x0000_0004;
1696pub const DF_1_NODELETE: u32 = 0x0000_0008;
1698pub const DF_1_LOADFLTR: u32 = 0x0000_0010;
1700pub const DF_1_INITFIRST: u32 = 0x0000_0020;
1702pub const DF_1_NOOPEN: u32 = 0x0000_0040;
1704pub const DF_1_ORIGIN: u32 = 0x0000_0080;
1706pub const DF_1_DIRECT: u32 = 0x0000_0100;
1708pub const DF_1_TRANS: u32 = 0x0000_0200;
1709pub const DF_1_INTERPOSE: u32 = 0x0000_0400;
1711pub const DF_1_NODEFLIB: u32 = 0x0000_0800;
1713pub const DF_1_NODUMP: u32 = 0x0000_1000;
1715pub const DF_1_CONFALT: u32 = 0x0000_2000;
1717pub const DF_1_ENDFILTEE: u32 = 0x0000_4000;
1719pub const DF_1_DISPRELDNE: u32 = 0x0000_8000;
1721pub const DF_1_DISPRELPND: u32 = 0x0001_0000;
1723pub const DF_1_NODIRECT: u32 = 0x0002_0000;
1725pub const DF_1_IGNMULDEF: u32 = 0x0004_0000;
1726pub const DF_1_NOKSYMS: u32 = 0x0008_0000;
1727pub const DF_1_NOHDR: u32 = 0x0010_0000;
1728pub const DF_1_EDITED: u32 = 0x0020_0000;
1730pub const DF_1_NORELOC: u32 = 0x0040_0000;
1731pub const DF_1_SYMINTPOSE: u32 = 0x0080_0000;
1733pub const DF_1_GLOBAUDIT: u32 = 0x0100_0000;
1735pub const DF_1_SINGLETON: u32 = 0x0200_0000;
1737pub const DF_1_STUB: u32 = 0x0400_0000;
1738pub const DF_1_PIE: u32 = 0x0800_0000;
1739
1740#[derive(Debug, Clone, Copy)]
1742#[repr(C)]
1743pub struct Versym<E: Endian>(pub U16<E>);
1744
1745pub const VERSYM_HIDDEN: u16 = 0x8000;
1747pub const VERSYM_VERSION: u16 = 0x7fff;
1749
1750#[derive(Debug, Clone, Copy)]
1752#[repr(C)]
1753pub struct Verdef<E: Endian> {
1754 pub vd_version: U16<E>,
1756 pub vd_flags: U16<E>,
1758 pub vd_ndx: U16<E>,
1760 pub vd_cnt: U16<E>,
1762 pub vd_hash: U32<E>,
1764 pub vd_aux: U32<E>,
1766 pub vd_next: U32<E>,
1768}
1769
1770pub const VER_DEF_NONE: u16 = 0;
1773pub const VER_DEF_CURRENT: u16 = 1;
1775
1776pub const VER_FLG_BASE: u16 = 0x1;
1779pub const VER_FLG_WEAK: u16 = 0x2;
1782
1783pub const VER_NDX_LOCAL: u16 = 0;
1786pub const VER_NDX_GLOBAL: u16 = 1;
1788
1789#[derive(Debug, Clone, Copy)]
1791#[repr(C)]
1792pub struct Verdaux<E: Endian> {
1793 pub vda_name: U32<E>,
1795 pub vda_next: U32<E>,
1797}
1798
1799#[derive(Debug, Clone, Copy)]
1801#[repr(C)]
1802pub struct Verneed<E: Endian> {
1803 pub vn_version: U16<E>,
1805 pub vn_cnt: U16<E>,
1807 pub vn_file: U32<E>,
1809 pub vn_aux: U32<E>,
1811 pub vn_next: U32<E>,
1813}
1814
1815pub const VER_NEED_NONE: u16 = 0;
1818pub const VER_NEED_CURRENT: u16 = 1;
1820
1821#[derive(Debug, Clone, Copy)]
1823#[repr(C)]
1824pub struct Vernaux<E: Endian> {
1825 pub vna_hash: U32<E>,
1827 pub vna_flags: U16<E>,
1829 pub vna_other: U16<E>,
1831 pub vna_name: U32<E>,
1833 pub vna_next: U32<E>,
1835}
1836
1837#[derive(Debug, Clone, Copy)]
1843#[repr(C)]
1844pub struct NoteHeader32<E: Endian> {
1845 pub n_namesz: U32<E>,
1849 pub n_descsz: U32<E>,
1853 pub n_type: U32<E>,
1858}
1859
1860#[derive(Debug, Clone, Copy)]
1862#[repr(C)]
1863pub struct NoteHeader64<E: Endian> {
1864 pub n_namesz: U32<E>,
1868 pub n_descsz: U32<E>,
1872 pub n_type: U32<E>,
1877}
1878
1879pub const ELF_NOTE_SOLARIS: &[u8] = b"SUNW Solaris";
1881
1882pub const NT_SOLARIS_PAGESIZE_HINT: u32 = 1;
1885
1886pub const ELF_NOTE_GNU: &[u8] = b"GNU";
1888
1889pub const ELF_NOTE_GO: &[u8] = b"Go";
1892
1893pub const NT_GNU_ABI_TAG: u32 = 1;
1903
1904pub const ELF_NOTE_OS_LINUX: u32 = 0;
1906pub const ELF_NOTE_OS_GNU: u32 = 1;
1908pub const ELF_NOTE_OS_SOLARIS2: u32 = 2;
1910pub const ELF_NOTE_OS_FREEBSD: u32 = 3;
1912
1913pub const NT_GNU_HWCAP: u32 = 2;
1923
1924pub const NT_GNU_BUILD_ID: u32 = 3;
1928
1929pub const NT_GO_BUILD_ID: u32 = 4;
1934
1935pub const NT_GNU_GOLD_VERSION: u32 = 4;
1937
1938pub const NT_GNU_PROPERTY_TYPE_0: u32 = 5;
1940
1941pub const GNU_PROPERTY_STACK_SIZE: u32 = 1;
1945pub const GNU_PROPERTY_NO_COPY_ON_PROTECTED: u32 = 2;
1947
1948pub const GNU_PROPERTY_UINT32_AND_LO: u32 = 0xb0000000;
1951pub const GNU_PROPERTY_UINT32_AND_HI: u32 = 0xb0007fff;
1952
1953pub const GNU_PROPERTY_UINT32_OR_LO: u32 = 0xb0008000;
1956pub const GNU_PROPERTY_UINT32_OR_HI: u32 = 0xb000ffff;
1957
1958pub const GNU_PROPERTY_1_NEEDED: u32 = GNU_PROPERTY_UINT32_OR_LO;
1960
1961pub const GNU_PROPERTY_1_NEEDED_INDIRECT_EXTERN_ACCESS: u32 = 1 << 0;
1964
1965pub const GNU_PROPERTY_LOPROC: u32 = 0xc0000000;
1967pub const GNU_PROPERTY_HIPROC: u32 = 0xdfffffff;
1969pub const GNU_PROPERTY_LOUSER: u32 = 0xe0000000;
1971pub const GNU_PROPERTY_HIUSER: u32 = 0xffffffff;
1973
1974pub const GNU_PROPERTY_AARCH64_FEATURE_1_AND: u32 = 0xc0000000;
1976pub const GNU_PROPERTY_AARCH64_FEATURE_PAUTH: u32 = 0xc0000001;
1977
1978pub const GNU_PROPERTY_AARCH64_FEATURE_1_BTI: u32 = 1 << 0;
1979pub const GNU_PROPERTY_AARCH64_FEATURE_1_PAC: u32 = 1 << 1;
1980
1981pub const GNU_PROPERTY_X86_UINT32_AND_LO: u32 = 0xc0000002;
1984pub const GNU_PROPERTY_X86_UINT32_AND_HI: u32 = 0xc0007fff;
1985
1986pub const GNU_PROPERTY_X86_UINT32_OR_LO: u32 = 0xc0008000;
1989pub const GNU_PROPERTY_X86_UINT32_OR_HI: u32 = 0xc000ffff;
1990
1991pub const GNU_PROPERTY_X86_UINT32_OR_AND_LO: u32 = 0xc0010000;
1995pub const GNU_PROPERTY_X86_UINT32_OR_AND_HI: u32 = 0xc0017fff;
1996
1997pub const GNU_PROPERTY_X86_ISA_1_USED: u32 = 0xc0010002;
2000pub const GNU_PROPERTY_X86_ISA_1_NEEDED: u32 = 0xc0008002;
2003pub const GNU_PROPERTY_X86_FEATURE_1_AND: u32 = 0xc0000002;
2005
2006pub const GNU_PROPERTY_X86_ISA_1_BASELINE: u32 = 1 << 0;
2009pub const GNU_PROPERTY_X86_ISA_1_V2: u32 = 1 << 1;
2013pub const GNU_PROPERTY_X86_ISA_1_V3: u32 = 1 << 2;
2016pub const GNU_PROPERTY_X86_ISA_1_V4: u32 = 1 << 3;
2019
2020pub const GNU_PROPERTY_X86_FEATURE_1_IBT: u32 = 1 << 0;
2022pub const GNU_PROPERTY_X86_FEATURE_1_SHSTK: u32 = 1 << 1;
2024
2025#[derive(Debug, Clone, Copy)]
2029#[repr(C)]
2030pub struct HashHeader<E: Endian> {
2031 pub bucket_count: U32<E>,
2033 pub chain_count: U32<E>,
2035 }
2040
2041pub fn hash(name: &[u8]) -> u32 {
2045 let mut hash = 0u32;
2046 for byte in name {
2047 hash = hash.wrapping_mul(16).wrapping_add(u32::from(*byte));
2048 hash ^= (hash >> 24) & 0xf0;
2049 }
2050 hash & 0xfff_ffff
2051}
2052
2053#[derive(Debug, Clone, Copy)]
2055#[repr(C)]
2056pub struct GnuHashHeader<E: Endian> {
2057 pub bucket_count: U32<E>,
2059 pub symbol_base: U32<E>,
2061 pub bloom_count: U32<E>,
2065 pub bloom_shift: U32<E>,
2067 }
2074
2075pub fn gnu_hash(name: &[u8]) -> u32 {
2079 let mut hash = 5381u32;
2080 for byte in name {
2081 hash = hash.wrapping_mul(33).wrapping_add(u32::from(*byte));
2082 }
2083 hash
2084}
2085
2086pub const R_68K_NONE: u32 = 0;
2092pub const R_68K_32: u32 = 1;
2094pub const R_68K_16: u32 = 2;
2096pub const R_68K_8: u32 = 3;
2098pub const R_68K_PC32: u32 = 4;
2100pub const R_68K_PC16: u32 = 5;
2102pub const R_68K_PC8: u32 = 6;
2104pub const R_68K_GOT32: u32 = 7;
2106pub const R_68K_GOT16: u32 = 8;
2108pub const R_68K_GOT8: u32 = 9;
2110pub const R_68K_GOT32O: u32 = 10;
2112pub const R_68K_GOT16O: u32 = 11;
2114pub const R_68K_GOT8O: u32 = 12;
2116pub const R_68K_PLT32: u32 = 13;
2118pub const R_68K_PLT16: u32 = 14;
2120pub const R_68K_PLT8: u32 = 15;
2122pub const R_68K_PLT32O: u32 = 16;
2124pub const R_68K_PLT16O: u32 = 17;
2126pub const R_68K_PLT8O: u32 = 18;
2128pub const R_68K_COPY: u32 = 19;
2130pub const R_68K_GLOB_DAT: u32 = 20;
2132pub const R_68K_JMP_SLOT: u32 = 21;
2134pub const R_68K_RELATIVE: u32 = 22;
2136pub const R_68K_TLS_GD32: u32 = 25;
2138pub const R_68K_TLS_GD16: u32 = 26;
2140pub const R_68K_TLS_GD8: u32 = 27;
2142pub const R_68K_TLS_LDM32: u32 = 28;
2144pub const R_68K_TLS_LDM16: u32 = 29;
2146pub const R_68K_TLS_LDM8: u32 = 30;
2148pub const R_68K_TLS_LDO32: u32 = 31;
2150pub const R_68K_TLS_LDO16: u32 = 32;
2152pub const R_68K_TLS_LDO8: u32 = 33;
2154pub const R_68K_TLS_IE32: u32 = 34;
2156pub const R_68K_TLS_IE16: u32 = 35;
2158pub const R_68K_TLS_IE8: u32 = 36;
2160pub const R_68K_TLS_LE32: u32 = 37;
2162pub const R_68K_TLS_LE16: u32 = 38;
2164pub const R_68K_TLS_LE8: u32 = 39;
2166pub const R_68K_TLS_DTPMOD32: u32 = 40;
2168pub const R_68K_TLS_DTPREL32: u32 = 41;
2170pub const R_68K_TLS_TPREL32: u32 = 42;
2172
2173pub const R_386_NONE: u32 = 0;
2179pub const R_386_32: u32 = 1;
2181pub const R_386_PC32: u32 = 2;
2183pub const R_386_GOT32: u32 = 3;
2185pub const R_386_PLT32: u32 = 4;
2187pub const R_386_COPY: u32 = 5;
2189pub const R_386_GLOB_DAT: u32 = 6;
2191pub const R_386_JMP_SLOT: u32 = 7;
2193pub const R_386_RELATIVE: u32 = 8;
2195pub const R_386_GOTOFF: u32 = 9;
2197pub const R_386_GOTPC: u32 = 10;
2199pub const R_386_32PLT: u32 = 11;
2201pub const R_386_TLS_TPOFF: u32 = 14;
2203pub const R_386_TLS_IE: u32 = 15;
2205pub const R_386_TLS_GOTIE: u32 = 16;
2207pub const R_386_TLS_LE: u32 = 17;
2209pub const R_386_TLS_GD: u32 = 18;
2211pub const R_386_TLS_LDM: u32 = 19;
2213pub const R_386_16: u32 = 20;
2215pub const R_386_PC16: u32 = 21;
2217pub const R_386_8: u32 = 22;
2219pub const R_386_PC8: u32 = 23;
2221pub const R_386_TLS_GD_32: u32 = 24;
2223pub const R_386_TLS_GD_PUSH: u32 = 25;
2225pub const R_386_TLS_GD_CALL: u32 = 26;
2227pub const R_386_TLS_GD_POP: u32 = 27;
2229pub const R_386_TLS_LDM_32: u32 = 28;
2231pub const R_386_TLS_LDM_PUSH: u32 = 29;
2233pub const R_386_TLS_LDM_CALL: u32 = 30;
2235pub const R_386_TLS_LDM_POP: u32 = 31;
2237pub const R_386_TLS_LDO_32: u32 = 32;
2239pub const R_386_TLS_IE_32: u32 = 33;
2241pub const R_386_TLS_LE_32: u32 = 34;
2243pub const R_386_TLS_DTPMOD32: u32 = 35;
2245pub const R_386_TLS_DTPOFF32: u32 = 36;
2247pub const R_386_TLS_TPOFF32: u32 = 37;
2249pub const R_386_SIZE32: u32 = 38;
2251pub const R_386_TLS_GOTDESC: u32 = 39;
2253pub const R_386_TLS_DESC_CALL: u32 = 40;
2255pub const R_386_TLS_DESC: u32 = 41;
2257pub const R_386_IRELATIVE: u32 = 42;
2259pub const R_386_GOT32X: u32 = 43;
2261
2262pub const R_SHARC_ADDR24_V3: u32 = 0x0b;
2272
2273pub const R_SHARC_ADDR32_V3: u32 = 0x0c;
2285
2286pub const R_SHARC_ADDR_VAR_V3: u32 = 0x0d;
2290
2291pub const R_SHARC_PCRSHORT_V3: u32 = 0x0e;
2298
2299pub const R_SHARC_PCRLONG_V3: u32 = 0x0f;
2308
2309pub const R_SHARC_DATA6_V3: u32 = 0x10;
2317
2318pub const R_SHARC_DATA16_V3: u32 = 0x11;
2324
2325pub const R_SHARC_DATA6_VISA_V3: u32 = 0x12;
2331
2332pub const R_SHARC_DATA7_VISA_V3: u32 = 0x13;
2334
2335pub const R_SHARC_DATA16_VISA_V3: u32 = 0x14;
2337
2338pub const R_SHARC_PCR6_VISA_V3: u32 = 0x17;
2344
2345pub const R_SHARC_ADDR_VAR16_V3: u32 = 0x19;
2349
2350pub const R_SHARC_CALC_PUSH_ADDR: u32 = 0xe0;
2351pub const R_SHARC_CALC_PUSH_ADDEND: u32 = 0xe1;
2352pub const R_SHARC_CALC_ADD: u32 = 0xe2;
2353pub const R_SHARC_CALC_SUB: u32 = 0xe3;
2354pub const R_SHARC_CALC_MUL: u32 = 0xe4;
2355pub const R_SHARC_CALC_DIV: u32 = 0xe5;
2356pub const R_SHARC_CALC_MOD: u32 = 0xe6;
2357pub const R_SHARC_CALC_LSHIFT: u32 = 0xe7;
2358pub const R_SHARC_CALC_RSHIFT: u32 = 0xe8;
2359pub const R_SHARC_CALC_AND: u32 = 0xe9;
2360pub const R_SHARC_CALC_OR: u32 = 0xea;
2361pub const R_SHARC_CALC_XOR: u32 = 0xeb;
2362pub const R_SHARC_CALC_PUSH_LEN: u32 = 0xec;
2363pub const R_SHARC_CALC_NOT: u32 = 0xf6;
2364
2365pub const SHT_SHARC_ADI_ATTRIBUTES: u32 = SHT_LOPROC + 0x2;
2369
2370pub const STT_SPARC_REGISTER: u8 = 13;
2376
2377pub const EF_SPARCV9_MM: u32 = 3;
2380pub const EF_SPARCV9_TSO: u32 = 0;
2381pub const EF_SPARCV9_PSO: u32 = 1;
2382pub const EF_SPARCV9_RMO: u32 = 2;
2383pub const EF_SPARC_LEDATA: u32 = 0x80_0000;
2385pub const EF_SPARC_EXT_MASK: u32 = 0xFF_FF00;
2386pub const EF_SPARC_32PLUS: u32 = 0x00_0100;
2388pub const EF_SPARC_SUN_US1: u32 = 0x00_0200;
2390pub const EF_SPARC_HAL_R1: u32 = 0x00_0400;
2392pub const EF_SPARC_SUN_US3: u32 = 0x00_0800;
2394
2395pub const R_SPARC_NONE: u32 = 0;
2399pub const R_SPARC_8: u32 = 1;
2401pub const R_SPARC_16: u32 = 2;
2403pub const R_SPARC_32: u32 = 3;
2405pub const R_SPARC_DISP8: u32 = 4;
2407pub const R_SPARC_DISP16: u32 = 5;
2409pub const R_SPARC_DISP32: u32 = 6;
2411pub const R_SPARC_WDISP30: u32 = 7;
2413pub const R_SPARC_WDISP22: u32 = 8;
2415pub const R_SPARC_HI22: u32 = 9;
2417pub const R_SPARC_22: u32 = 10;
2419pub const R_SPARC_13: u32 = 11;
2421pub const R_SPARC_LO10: u32 = 12;
2423pub const R_SPARC_GOT10: u32 = 13;
2425pub const R_SPARC_GOT13: u32 = 14;
2427pub const R_SPARC_GOT22: u32 = 15;
2429pub const R_SPARC_PC10: u32 = 16;
2431pub const R_SPARC_PC22: u32 = 17;
2433pub const R_SPARC_WPLT30: u32 = 18;
2435pub const R_SPARC_COPY: u32 = 19;
2437pub const R_SPARC_GLOB_DAT: u32 = 20;
2439pub const R_SPARC_JMP_SLOT: u32 = 21;
2441pub const R_SPARC_RELATIVE: u32 = 22;
2443pub const R_SPARC_UA32: u32 = 23;
2445
2446pub const R_SPARC_PLT32: u32 = 24;
2450pub const R_SPARC_HIPLT22: u32 = 25;
2452pub const R_SPARC_LOPLT10: u32 = 26;
2454pub const R_SPARC_PCPLT32: u32 = 27;
2456pub const R_SPARC_PCPLT22: u32 = 28;
2458pub const R_SPARC_PCPLT10: u32 = 29;
2460pub const R_SPARC_10: u32 = 30;
2462pub const R_SPARC_11: u32 = 31;
2464pub const R_SPARC_64: u32 = 32;
2466pub const R_SPARC_OLO10: u32 = 33;
2468pub const R_SPARC_HH22: u32 = 34;
2470pub const R_SPARC_HM10: u32 = 35;
2472pub const R_SPARC_LM22: u32 = 36;
2474pub const R_SPARC_PC_HH22: u32 = 37;
2476pub const R_SPARC_PC_HM10: u32 = 38;
2478pub const R_SPARC_PC_LM22: u32 = 39;
2480pub const R_SPARC_WDISP16: u32 = 40;
2482pub const R_SPARC_WDISP19: u32 = 41;
2484pub const R_SPARC_GLOB_JMP: u32 = 42;
2486pub const R_SPARC_7: u32 = 43;
2488pub const R_SPARC_5: u32 = 44;
2490pub const R_SPARC_6: u32 = 45;
2492pub const R_SPARC_DISP64: u32 = 46;
2494pub const R_SPARC_PLT64: u32 = 47;
2496pub const R_SPARC_HIX22: u32 = 48;
2498pub const R_SPARC_LOX10: u32 = 49;
2500pub const R_SPARC_H44: u32 = 50;
2502pub const R_SPARC_M44: u32 = 51;
2504pub const R_SPARC_L44: u32 = 52;
2506pub const R_SPARC_REGISTER: u32 = 53;
2508pub const R_SPARC_UA64: u32 = 54;
2510pub const R_SPARC_UA16: u32 = 55;
2512pub const R_SPARC_TLS_GD_HI22: u32 = 56;
2513pub const R_SPARC_TLS_GD_LO10: u32 = 57;
2514pub const R_SPARC_TLS_GD_ADD: u32 = 58;
2515pub const R_SPARC_TLS_GD_CALL: u32 = 59;
2516pub const R_SPARC_TLS_LDM_HI22: u32 = 60;
2517pub const R_SPARC_TLS_LDM_LO10: u32 = 61;
2518pub const R_SPARC_TLS_LDM_ADD: u32 = 62;
2519pub const R_SPARC_TLS_LDM_CALL: u32 = 63;
2520pub const R_SPARC_TLS_LDO_HIX22: u32 = 64;
2521pub const R_SPARC_TLS_LDO_LOX10: u32 = 65;
2522pub const R_SPARC_TLS_LDO_ADD: u32 = 66;
2523pub const R_SPARC_TLS_IE_HI22: u32 = 67;
2524pub const R_SPARC_TLS_IE_LO10: u32 = 68;
2525pub const R_SPARC_TLS_IE_LD: u32 = 69;
2526pub const R_SPARC_TLS_IE_LDX: u32 = 70;
2527pub const R_SPARC_TLS_IE_ADD: u32 = 71;
2528pub const R_SPARC_TLS_LE_HIX22: u32 = 72;
2529pub const R_SPARC_TLS_LE_LOX10: u32 = 73;
2530pub const R_SPARC_TLS_DTPMOD32: u32 = 74;
2531pub const R_SPARC_TLS_DTPMOD64: u32 = 75;
2532pub const R_SPARC_TLS_DTPOFF32: u32 = 76;
2533pub const R_SPARC_TLS_DTPOFF64: u32 = 77;
2534pub const R_SPARC_TLS_TPOFF32: u32 = 78;
2535pub const R_SPARC_TLS_TPOFF64: u32 = 79;
2536pub const R_SPARC_GOTDATA_HIX22: u32 = 80;
2537pub const R_SPARC_GOTDATA_LOX10: u32 = 81;
2538pub const R_SPARC_GOTDATA_OP_HIX22: u32 = 82;
2539pub const R_SPARC_GOTDATA_OP_LOX10: u32 = 83;
2540pub const R_SPARC_GOTDATA_OP: u32 = 84;
2541pub const R_SPARC_H34: u32 = 85;
2542pub const R_SPARC_SIZE32: u32 = 86;
2543pub const R_SPARC_SIZE64: u32 = 87;
2544pub const R_SPARC_WDISP10: u32 = 88;
2545pub const R_SPARC_JMP_IREL: u32 = 248;
2546pub const R_SPARC_IRELATIVE: u32 = 249;
2547pub const R_SPARC_GNU_VTINHERIT: u32 = 250;
2548pub const R_SPARC_GNU_VTENTRY: u32 = 251;
2549pub const R_SPARC_REV32: u32 = 252;
2550
2551pub const DT_SPARC_REGISTER: i64 = 0x7000_0001;
2554
2555pub const EF_MIPS_NOREORDER: u32 = 1;
2561pub const EF_MIPS_PIC: u32 = 2;
2563pub const EF_MIPS_CPIC: u32 = 4;
2565pub const EF_MIPS_XGOT: u32 = 8;
2566pub const EF_MIPS_64BIT_WHIRL: u32 = 16;
2567pub const EF_MIPS_ABI2: u32 = 32;
2568pub const EF_MIPS_ABI_ON32: u32 = 64;
2569pub const EF_MIPS_FP64: u32 = 512;
2571pub const EF_MIPS_NAN2008: u32 = 1024;
2573pub const EF_MIPS_ARCH: u32 = 0xf000_0000;
2575
2576pub const EF_MIPS_ABI_O32: u32 = 0x0000_1000;
2578pub const EF_MIPS_ABI_O64: u32 = 0x0000_2000;
2580pub const EF_MIPS_ABI_EABI32: u32 = 0x0000_3000;
2582pub const EF_MIPS_ABI_EABI64: u32 = 0x0000_4000;
2584pub const EF_MIPS_ABI: u32 = 0x0000_f000;
2586
2587pub const EF_MIPS_ARCH_1: u32 = 0x0000_0000;
2591pub const EF_MIPS_ARCH_2: u32 = 0x1000_0000;
2593pub const EF_MIPS_ARCH_3: u32 = 0x2000_0000;
2595pub const EF_MIPS_ARCH_4: u32 = 0x3000_0000;
2597pub const EF_MIPS_ARCH_5: u32 = 0x4000_0000;
2599pub const EF_MIPS_ARCH_32: u32 = 0x5000_0000;
2601pub const EF_MIPS_ARCH_64: u32 = 0x6000_0000;
2603pub const EF_MIPS_ARCH_32R2: u32 = 0x7000_0000;
2605pub const EF_MIPS_ARCH_64R2: u32 = 0x8000_0000;
2607pub const EF_MIPS_ARCH_32R6: u32 = 0x9000_0000;
2609pub const EF_MIPS_ARCH_64R6: u32 = 0xa000_0000;
2611
2612pub const SHN_MIPS_ACOMMON: u16 = 0xff00;
2616pub const SHN_MIPS_TEXT: u16 = 0xff01;
2618pub const SHN_MIPS_DATA: u16 = 0xff02;
2620pub const SHN_MIPS_SCOMMON: u16 = 0xff03;
2622pub const SHN_MIPS_SUNDEFINED: u16 = 0xff04;
2624
2625pub const SHT_MIPS_LIBLIST: u32 = 0x7000_0000;
2629pub const SHT_MIPS_MSYM: u32 = 0x7000_0001;
2630pub const SHT_MIPS_CONFLICT: u32 = 0x7000_0002;
2632pub const SHT_MIPS_GPTAB: u32 = 0x7000_0003;
2634pub const SHT_MIPS_UCODE: u32 = 0x7000_0004;
2636pub const SHT_MIPS_DEBUG: u32 = 0x7000_0005;
2638pub const SHT_MIPS_REGINFO: u32 = 0x7000_0006;
2640pub const SHT_MIPS_PACKAGE: u32 = 0x7000_0007;
2641pub const SHT_MIPS_PACKSYM: u32 = 0x7000_0008;
2642pub const SHT_MIPS_RELD: u32 = 0x7000_0009;
2643pub const SHT_MIPS_IFACE: u32 = 0x7000_000b;
2644pub const SHT_MIPS_CONTENT: u32 = 0x7000_000c;
2645pub const SHT_MIPS_OPTIONS: u32 = 0x7000_000d;
2647pub const SHT_MIPS_SHDR: u32 = 0x7000_0010;
2648pub const SHT_MIPS_FDESC: u32 = 0x7000_0011;
2649pub const SHT_MIPS_EXTSYM: u32 = 0x7000_0012;
2650pub const SHT_MIPS_DENSE: u32 = 0x7000_0013;
2651pub const SHT_MIPS_PDESC: u32 = 0x7000_0014;
2652pub const SHT_MIPS_LOCSYM: u32 = 0x7000_0015;
2653pub const SHT_MIPS_AUXSYM: u32 = 0x7000_0016;
2654pub const SHT_MIPS_OPTSYM: u32 = 0x7000_0017;
2655pub const SHT_MIPS_LOCSTR: u32 = 0x7000_0018;
2656pub const SHT_MIPS_LINE: u32 = 0x7000_0019;
2657pub const SHT_MIPS_RFDESC: u32 = 0x7000_001a;
2658pub const SHT_MIPS_DELTASYM: u32 = 0x7000_001b;
2659pub const SHT_MIPS_DELTAINST: u32 = 0x7000_001c;
2660pub const SHT_MIPS_DELTACLASS: u32 = 0x7000_001d;
2661pub const SHT_MIPS_DWARF: u32 = 0x7000_001e;
2663pub const SHT_MIPS_DELTADECL: u32 = 0x7000_001f;
2664pub const SHT_MIPS_SYMBOL_LIB: u32 = 0x7000_0020;
2665pub const SHT_MIPS_EVENTS: u32 = 0x7000_0021;
2667pub const SHT_MIPS_TRANSLATE: u32 = 0x7000_0022;
2668pub const SHT_MIPS_PIXIE: u32 = 0x7000_0023;
2669pub const SHT_MIPS_XLATE: u32 = 0x7000_0024;
2670pub const SHT_MIPS_XLATE_DEBUG: u32 = 0x7000_0025;
2671pub const SHT_MIPS_WHIRL: u32 = 0x7000_0026;
2672pub const SHT_MIPS_EH_REGION: u32 = 0x7000_0027;
2673pub const SHT_MIPS_XLATE_OLD: u32 = 0x7000_0028;
2674pub const SHT_MIPS_PDR_EXCEPTION: u32 = 0x7000_0029;
2675
2676pub const SHF_MIPS_GPREL: u32 = 0x1000_0000;
2680pub const SHF_MIPS_MERGE: u32 = 0x2000_0000;
2681pub const SHF_MIPS_ADDR: u32 = 0x4000_0000;
2682pub const SHF_MIPS_STRINGS: u32 = 0x8000_0000;
2683pub const SHF_MIPS_NOSTRIP: u32 = 0x0800_0000;
2684pub const SHF_MIPS_LOCAL: u32 = 0x0400_0000;
2685pub const SHF_MIPS_NAMES: u32 = 0x0200_0000;
2686pub const SHF_MIPS_NODUPE: u32 = 0x0100_0000;
2687
2688pub const STO_MIPS_PLT: u8 = 0x8;
2691pub const STO_MIPS_SC_ALIGN_UNUSED: u8 = 0xff;
2693
2694pub const STB_MIPS_SPLIT_COMMON: u8 = 13;
2696
2697pub const ODK_NULL: u32 = 0;
2705pub const ODK_REGINFO: u32 = 1;
2707pub const ODK_EXCEPTIONS: u32 = 2;
2709pub const ODK_PAD: u32 = 3;
2711pub const ODK_HWPATCH: u32 = 4;
2713pub const ODK_FILL: u32 = 5;
2715pub const ODK_TAGS: u32 = 6;
2717pub const ODK_HWAND: u32 = 7;
2719pub const ODK_HWOR: u32 = 8;
2721
2722pub const OEX_FPU_MIN: u32 = 0x1f;
2726pub const OEX_FPU_MAX: u32 = 0x1f00;
2728pub const OEX_PAGE0: u32 = 0x10000;
2730pub const OEX_SMM: u32 = 0x20000;
2732pub const OEX_FPDBUG: u32 = 0x40000;
2734pub const OEX_PRECISEFP: u32 = OEX_FPDBUG;
2735pub const OEX_DISMISS: u32 = 0x80000;
2737
2738pub const OEX_FPU_INVAL: u32 = 0x10;
2739pub const OEX_FPU_DIV0: u32 = 0x08;
2740pub const OEX_FPU_OFLO: u32 = 0x04;
2741pub const OEX_FPU_UFLO: u32 = 0x02;
2742pub const OEX_FPU_INEX: u32 = 0x01;
2743
2744pub const OHW_R4KEOP: u32 = 0x1;
2747pub const OHW_R8KPFETCH: u32 = 0x2;
2749pub const OHW_R5KEOP: u32 = 0x4;
2751pub const OHW_R5KCVTL: u32 = 0x8;
2753
2754pub const OPAD_PREFIX: u32 = 0x1;
2755pub const OPAD_POSTFIX: u32 = 0x2;
2756pub const OPAD_SYMBOL: u32 = 0x4;
2757
2758pub const OHWA0_R4KEOP_CHECKED: u32 = 0x0000_0001;
2765pub const OHWA1_R4KEOP_CLEAN: u32 = 0x0000_0002;
2766
2767pub const R_MIPS_NONE: u32 = 0;
2771pub const R_MIPS_16: u32 = 1;
2773pub const R_MIPS_32: u32 = 2;
2775pub const R_MIPS_REL32: u32 = 3;
2777pub const R_MIPS_26: u32 = 4;
2779pub const R_MIPS_HI16: u32 = 5;
2781pub const R_MIPS_LO16: u32 = 6;
2783pub const R_MIPS_GPREL16: u32 = 7;
2785pub const R_MIPS_LITERAL: u32 = 8;
2787pub const R_MIPS_GOT16: u32 = 9;
2789pub const R_MIPS_PC16: u32 = 10;
2791pub const R_MIPS_CALL16: u32 = 11;
2793pub const R_MIPS_GPREL32: u32 = 12;
2795
2796pub const R_MIPS_SHIFT5: u32 = 16;
2797pub const R_MIPS_SHIFT6: u32 = 17;
2798pub const R_MIPS_64: u32 = 18;
2799pub const R_MIPS_GOT_DISP: u32 = 19;
2800pub const R_MIPS_GOT_PAGE: u32 = 20;
2801pub const R_MIPS_GOT_OFST: u32 = 21;
2802pub const R_MIPS_GOT_HI16: u32 = 22;
2803pub const R_MIPS_GOT_LO16: u32 = 23;
2804pub const R_MIPS_SUB: u32 = 24;
2805pub const R_MIPS_INSERT_A: u32 = 25;
2806pub const R_MIPS_INSERT_B: u32 = 26;
2807pub const R_MIPS_DELETE: u32 = 27;
2808pub const R_MIPS_HIGHER: u32 = 28;
2809pub const R_MIPS_HIGHEST: u32 = 29;
2810pub const R_MIPS_CALL_HI16: u32 = 30;
2811pub const R_MIPS_CALL_LO16: u32 = 31;
2812pub const R_MIPS_SCN_DISP: u32 = 32;
2813pub const R_MIPS_REL16: u32 = 33;
2814pub const R_MIPS_ADD_IMMEDIATE: u32 = 34;
2815pub const R_MIPS_PJUMP: u32 = 35;
2816pub const R_MIPS_RELGOT: u32 = 36;
2817pub const R_MIPS_JALR: u32 = 37;
2818pub const R_MIPS_TLS_DTPMOD32: u32 = 38;
2820pub const R_MIPS_TLS_DTPREL32: u32 = 39;
2822pub const R_MIPS_TLS_DTPMOD64: u32 = 40;
2824pub const R_MIPS_TLS_DTPREL64: u32 = 41;
2826pub const R_MIPS_TLS_GD: u32 = 42;
2828pub const R_MIPS_TLS_LDM: u32 = 43;
2830pub const R_MIPS_TLS_DTPREL_HI16: u32 = 44;
2832pub const R_MIPS_TLS_DTPREL_LO16: u32 = 45;
2834pub const R_MIPS_TLS_GOTTPREL: u32 = 46;
2836pub const R_MIPS_TLS_TPREL32: u32 = 47;
2838pub const R_MIPS_TLS_TPREL64: u32 = 48;
2840pub const R_MIPS_TLS_TPREL_HI16: u32 = 49;
2842pub const R_MIPS_TLS_TPREL_LO16: u32 = 50;
2844pub const R_MIPS_GLOB_DAT: u32 = 51;
2845pub const R_MIPS_COPY: u32 = 126;
2846pub const R_MIPS_JUMP_SLOT: u32 = 127;
2847
2848pub const PT_MIPS_REGINFO: u32 = 0x7000_0000;
2852pub const PT_MIPS_RTPROC: u32 = 0x7000_0001;
2854pub const PT_MIPS_OPTIONS: u32 = 0x7000_0002;
2855pub const PT_MIPS_ABIFLAGS: u32 = 0x7000_0003;
2857
2858pub const PF_MIPS_LOCAL: u32 = 0x1000_0000;
2861
2862pub const DT_MIPS_RLD_VERSION: i64 = 0x7000_0001;
2866pub const DT_MIPS_TIME_STAMP: i64 = 0x7000_0002;
2868pub const DT_MIPS_ICHECKSUM: i64 = 0x7000_0003;
2870pub const DT_MIPS_IVERSION: i64 = 0x7000_0004;
2872pub const DT_MIPS_FLAGS: i64 = 0x7000_0005;
2874pub const DT_MIPS_BASE_ADDRESS: i64 = 0x7000_0006;
2876pub const DT_MIPS_MSYM: i64 = 0x7000_0007;
2877pub const DT_MIPS_CONFLICT: i64 = 0x7000_0008;
2879pub const DT_MIPS_LIBLIST: i64 = 0x7000_0009;
2881pub const DT_MIPS_LOCAL_GOTNO: i64 = 0x7000_000a;
2883pub const DT_MIPS_CONFLICTNO: i64 = 0x7000_000b;
2885pub const DT_MIPS_LIBLISTNO: i64 = 0x7000_0010;
2887pub const DT_MIPS_SYMTABNO: i64 = 0x7000_0011;
2889pub const DT_MIPS_UNREFEXTNO: i64 = 0x7000_0012;
2891pub const DT_MIPS_GOTSYM: i64 = 0x7000_0013;
2893pub const DT_MIPS_HIPAGENO: i64 = 0x7000_0014;
2895pub const DT_MIPS_RLD_MAP: i64 = 0x7000_0016;
2897pub const DT_MIPS_DELTA_CLASS: i64 = 0x7000_0017;
2899pub const DT_MIPS_DELTA_CLASS_NO: i64 = 0x7000_0018;
2901pub const DT_MIPS_DELTA_INSTANCE: i64 = 0x7000_0019;
2903pub const DT_MIPS_DELTA_INSTANCE_NO: i64 = 0x7000_001a;
2905pub const DT_MIPS_DELTA_RELOC: i64 = 0x7000_001b;
2907pub const DT_MIPS_DELTA_RELOC_NO: i64 = 0x7000_001c;
2909pub const DT_MIPS_DELTA_SYM: i64 = 0x7000_001d;
2911pub const DT_MIPS_DELTA_SYM_NO: i64 = 0x7000_001e;
2913pub const DT_MIPS_DELTA_CLASSSYM: i64 = 0x7000_0020;
2915pub const DT_MIPS_DELTA_CLASSSYM_NO: i64 = 0x7000_0021;
2917pub const DT_MIPS_CXX_FLAGS: i64 = 0x7000_0022;
2919pub const DT_MIPS_PIXIE_INIT: i64 = 0x7000_0023;
2920pub const DT_MIPS_SYMBOL_LIB: i64 = 0x7000_0024;
2921pub const DT_MIPS_LOCALPAGE_GOTIDX: i64 = 0x7000_0025;
2922pub const DT_MIPS_LOCAL_GOTIDX: i64 = 0x7000_0026;
2923pub const DT_MIPS_HIDDEN_GOTIDX: i64 = 0x7000_0027;
2924pub const DT_MIPS_PROTECTED_GOTIDX: i64 = 0x7000_0028;
2925pub const DT_MIPS_OPTIONS: i64 = 0x7000_0029;
2927pub const DT_MIPS_INTERFACE: i64 = 0x7000_002a;
2929pub const DT_MIPS_DYNSTR_ALIGN: i64 = 0x7000_002b;
2930pub const DT_MIPS_INTERFACE_SIZE: i64 = 0x7000_002c;
2932pub const DT_MIPS_RLD_TEXT_RESOLVE_ADDR: i64 = 0x7000_002d;
2934pub const DT_MIPS_PERF_SUFFIX: i64 = 0x7000_002e;
2936pub const DT_MIPS_COMPACT_SIZE: i64 = 0x7000_002f;
2938pub const DT_MIPS_GP_VALUE: i64 = 0x7000_0030;
2940pub const DT_MIPS_AUX_DYNAMIC: i64 = 0x7000_0031;
2942pub const DT_MIPS_PLTGOT: i64 = 0x7000_0032;
2944pub const DT_MIPS_RWPLT: i64 = 0x7000_0034;
2946pub const DT_MIPS_RLD_MAP_REL: i64 = 0x7000_0035;
2948
2949pub const RHF_NONE: u32 = 0;
2953pub const RHF_QUICKSTART: u32 = 1 << 0;
2955pub const RHF_NOTPOT: u32 = 1 << 1;
2957pub const RHF_NO_LIBRARY_REPLACEMENT: u32 = 1 << 2;
2959pub const RHF_NO_MOVE: u32 = 1 << 3;
2960pub const RHF_SGI_ONLY: u32 = 1 << 4;
2961pub const RHF_GUARANTEE_INIT: u32 = 1 << 5;
2962pub const RHF_DELTA_C_PLUS_PLUS: u32 = 1 << 6;
2963pub const RHF_GUARANTEE_START_INIT: u32 = 1 << 7;
2964pub const RHF_PIXIE: u32 = 1 << 8;
2965pub const RHF_DEFAULT_DELAY_LOAD: u32 = 1 << 9;
2966pub const RHF_REQUICKSTART: u32 = 1 << 10;
2967pub const RHF_REQUICKSTARTED: u32 = 1 << 11;
2968pub const RHF_CORD: u32 = 1 << 12;
2969pub const RHF_NO_UNRES_UNDEF: u32 = 1 << 13;
2970pub const RHF_RLD_ORDER_SAFE: u32 = 1 << 14;
2971
2972pub const LL_NONE: u32 = 0;
2979pub const LL_EXACT_MATCH: u32 = 1 << 0;
2981pub const LL_IGNORE_INT_VER: u32 = 1 << 1;
2983pub const LL_REQUIRE_MINOR: u32 = 1 << 2;
2984pub const LL_EXPORTS: u32 = 1 << 3;
2985pub const LL_DELAY_LOAD: u32 = 1 << 4;
2986pub const LL_DELTA: u32 = 1 << 5;
2987
2988pub const EF_PARISC_TRAPNIL: u32 = 0x0001_0000;
2996pub const EF_PARISC_EXT: u32 = 0x0002_0000;
2998pub const EF_PARISC_LSB: u32 = 0x0004_0000;
3000pub const EF_PARISC_WIDE: u32 = 0x0008_0000;
3002pub const EF_PARISC_NO_KABP: u32 = 0x0010_0000;
3004pub const EF_PARISC_LAZYSWAP: u32 = 0x0040_0000;
3006pub const EF_PARISC_ARCH: u32 = 0x0000_ffff;
3008
3009pub const EFA_PARISC_1_0: u32 = 0x020b;
3013pub const EFA_PARISC_1_1: u32 = 0x0210;
3015pub const EFA_PARISC_2_0: u32 = 0x0214;
3017
3018pub const SHN_PARISC_ANSI_COMMON: u16 = 0xff00;
3022pub const SHN_PARISC_HUGE_COMMON: u16 = 0xff01;
3024
3025pub const SHT_PARISC_EXT: u32 = 0x7000_0000;
3029pub const SHT_PARISC_UNWIND: u32 = 0x7000_0001;
3031pub const SHT_PARISC_DOC: u32 = 0x7000_0002;
3033
3034pub const SHF_PARISC_SHORT: u32 = 0x2000_0000;
3038pub const SHF_PARISC_HUGE: u32 = 0x4000_0000;
3040pub const SHF_PARISC_SBP: u32 = 0x8000_0000;
3042
3043pub const STT_PARISC_MILLICODE: u8 = 13;
3047
3048pub const STT_HP_OPAQUE: u8 = STT_LOOS + 0x1;
3049pub const STT_HP_STUB: u8 = STT_LOOS + 0x2;
3050
3051pub const R_PARISC_NONE: u32 = 0;
3055pub const R_PARISC_DIR32: u32 = 1;
3057pub const R_PARISC_DIR21L: u32 = 2;
3059pub const R_PARISC_DIR17R: u32 = 3;
3061pub const R_PARISC_DIR17F: u32 = 4;
3063pub const R_PARISC_DIR14R: u32 = 6;
3065pub const R_PARISC_PCREL32: u32 = 9;
3067pub const R_PARISC_PCREL21L: u32 = 10;
3069pub const R_PARISC_PCREL17R: u32 = 11;
3071pub const R_PARISC_PCREL17F: u32 = 12;
3073pub const R_PARISC_PCREL14R: u32 = 14;
3075pub const R_PARISC_DPREL21L: u32 = 18;
3077pub const R_PARISC_DPREL14R: u32 = 22;
3079pub const R_PARISC_GPREL21L: u32 = 26;
3081pub const R_PARISC_GPREL14R: u32 = 30;
3083pub const R_PARISC_LTOFF21L: u32 = 34;
3085pub const R_PARISC_LTOFF14R: u32 = 38;
3087pub const R_PARISC_SECREL32: u32 = 41;
3089pub const R_PARISC_SEGBASE: u32 = 48;
3091pub const R_PARISC_SEGREL32: u32 = 49;
3093pub const R_PARISC_PLTOFF21L: u32 = 50;
3095pub const R_PARISC_PLTOFF14R: u32 = 54;
3097pub const R_PARISC_LTOFF_FPTR32: u32 = 57;
3099pub const R_PARISC_LTOFF_FPTR21L: u32 = 58;
3101pub const R_PARISC_LTOFF_FPTR14R: u32 = 62;
3103pub const R_PARISC_FPTR64: u32 = 64;
3105pub const R_PARISC_PLABEL32: u32 = 65;
3107pub const R_PARISC_PLABEL21L: u32 = 66;
3109pub const R_PARISC_PLABEL14R: u32 = 70;
3111pub const R_PARISC_PCREL64: u32 = 72;
3113pub const R_PARISC_PCREL22F: u32 = 74;
3115pub const R_PARISC_PCREL14WR: u32 = 75;
3117pub const R_PARISC_PCREL14DR: u32 = 76;
3119pub const R_PARISC_PCREL16F: u32 = 77;
3121pub const R_PARISC_PCREL16WF: u32 = 78;
3123pub const R_PARISC_PCREL16DF: u32 = 79;
3125pub const R_PARISC_DIR64: u32 = 80;
3127pub const R_PARISC_DIR14WR: u32 = 83;
3129pub const R_PARISC_DIR14DR: u32 = 84;
3131pub const R_PARISC_DIR16F: u32 = 85;
3133pub const R_PARISC_DIR16WF: u32 = 86;
3135pub const R_PARISC_DIR16DF: u32 = 87;
3137pub const R_PARISC_GPREL64: u32 = 88;
3139pub const R_PARISC_GPREL14WR: u32 = 91;
3141pub const R_PARISC_GPREL14DR: u32 = 92;
3143pub const R_PARISC_GPREL16F: u32 = 93;
3145pub const R_PARISC_GPREL16WF: u32 = 94;
3147pub const R_PARISC_GPREL16DF: u32 = 95;
3149pub const R_PARISC_LTOFF64: u32 = 96;
3151pub const R_PARISC_LTOFF14WR: u32 = 99;
3153pub const R_PARISC_LTOFF14DR: u32 = 100;
3155pub const R_PARISC_LTOFF16F: u32 = 101;
3157pub const R_PARISC_LTOFF16WF: u32 = 102;
3159pub const R_PARISC_LTOFF16DF: u32 = 103;
3161pub const R_PARISC_SECREL64: u32 = 104;
3163pub const R_PARISC_SEGREL64: u32 = 112;
3165pub const R_PARISC_PLTOFF14WR: u32 = 115;
3167pub const R_PARISC_PLTOFF14DR: u32 = 116;
3169pub const R_PARISC_PLTOFF16F: u32 = 117;
3171pub const R_PARISC_PLTOFF16WF: u32 = 118;
3173pub const R_PARISC_PLTOFF16DF: u32 = 119;
3175pub const R_PARISC_LTOFF_FPTR64: u32 = 120;
3177pub const R_PARISC_LTOFF_FPTR14WR: u32 = 123;
3179pub const R_PARISC_LTOFF_FPTR14DR: u32 = 124;
3181pub const R_PARISC_LTOFF_FPTR16F: u32 = 125;
3183pub const R_PARISC_LTOFF_FPTR16WF: u32 = 126;
3185pub const R_PARISC_LTOFF_FPTR16DF: u32 = 127;
3187pub const R_PARISC_LORESERVE: u32 = 128;
3188pub const R_PARISC_COPY: u32 = 128;
3190pub const R_PARISC_IPLT: u32 = 129;
3192pub const R_PARISC_EPLT: u32 = 130;
3194pub const R_PARISC_TPREL32: u32 = 153;
3196pub const R_PARISC_TPREL21L: u32 = 154;
3198pub const R_PARISC_TPREL14R: u32 = 158;
3200pub const R_PARISC_LTOFF_TP21L: u32 = 162;
3202pub const R_PARISC_LTOFF_TP14R: u32 = 166;
3204pub const R_PARISC_LTOFF_TP14F: u32 = 167;
3206pub const R_PARISC_TPREL64: u32 = 216;
3208pub const R_PARISC_TPREL14WR: u32 = 219;
3210pub const R_PARISC_TPREL14DR: u32 = 220;
3212pub const R_PARISC_TPREL16F: u32 = 221;
3214pub const R_PARISC_TPREL16WF: u32 = 222;
3216pub const R_PARISC_TPREL16DF: u32 = 223;
3218pub const R_PARISC_LTOFF_TP64: u32 = 224;
3220pub const R_PARISC_LTOFF_TP14WR: u32 = 227;
3222pub const R_PARISC_LTOFF_TP14DR: u32 = 228;
3224pub const R_PARISC_LTOFF_TP16F: u32 = 229;
3226pub const R_PARISC_LTOFF_TP16WF: u32 = 230;
3228pub const R_PARISC_LTOFF_TP16DF: u32 = 231;
3230pub const R_PARISC_GNU_VTENTRY: u32 = 232;
3231pub const R_PARISC_GNU_VTINHERIT: u32 = 233;
3232pub const R_PARISC_TLS_GD21L: u32 = 234;
3234pub const R_PARISC_TLS_GD14R: u32 = 235;
3236pub const R_PARISC_TLS_GDCALL: u32 = 236;
3238pub const R_PARISC_TLS_LDM21L: u32 = 237;
3240pub const R_PARISC_TLS_LDM14R: u32 = 238;
3242pub const R_PARISC_TLS_LDMCALL: u32 = 239;
3244pub const R_PARISC_TLS_LDO21L: u32 = 240;
3246pub const R_PARISC_TLS_LDO14R: u32 = 241;
3248pub const R_PARISC_TLS_DTPMOD32: u32 = 242;
3250pub const R_PARISC_TLS_DTPMOD64: u32 = 243;
3252pub const R_PARISC_TLS_DTPOFF32: u32 = 244;
3254pub const R_PARISC_TLS_DTPOFF64: u32 = 245;
3256pub const R_PARISC_TLS_LE21L: u32 = R_PARISC_TPREL21L;
3257pub const R_PARISC_TLS_LE14R: u32 = R_PARISC_TPREL14R;
3258pub const R_PARISC_TLS_IE21L: u32 = R_PARISC_LTOFF_TP21L;
3259pub const R_PARISC_TLS_IE14R: u32 = R_PARISC_LTOFF_TP14R;
3260pub const R_PARISC_TLS_TPREL32: u32 = R_PARISC_TPREL32;
3261pub const R_PARISC_TLS_TPREL64: u32 = R_PARISC_TPREL64;
3262pub const R_PARISC_HIRESERVE: u32 = 255;
3263
3264pub const PT_HP_TLS: u32 = PT_LOOS + 0x0;
3267pub const PT_HP_CORE_NONE: u32 = PT_LOOS + 0x1;
3268pub const PT_HP_CORE_VERSION: u32 = PT_LOOS + 0x2;
3269pub const PT_HP_CORE_KERNEL: u32 = PT_LOOS + 0x3;
3270pub const PT_HP_CORE_COMM: u32 = PT_LOOS + 0x4;
3271pub const PT_HP_CORE_PROC: u32 = PT_LOOS + 0x5;
3272pub const PT_HP_CORE_LOADABLE: u32 = PT_LOOS + 0x6;
3273pub const PT_HP_CORE_STACK: u32 = PT_LOOS + 0x7;
3274pub const PT_HP_CORE_SHM: u32 = PT_LOOS + 0x8;
3275pub const PT_HP_CORE_MMF: u32 = PT_LOOS + 0x9;
3276pub const PT_HP_PARALLEL: u32 = PT_LOOS + 0x10;
3277pub const PT_HP_FASTBIND: u32 = PT_LOOS + 0x11;
3278pub const PT_HP_OPT_ANNOT: u32 = PT_LOOS + 0x12;
3279pub const PT_HP_HSL_ANNOT: u32 = PT_LOOS + 0x13;
3280pub const PT_HP_STACK: u32 = PT_LOOS + 0x14;
3281
3282pub const PT_PARISC_ARCHEXT: u32 = 0x7000_0000;
3283pub const PT_PARISC_UNWIND: u32 = 0x7000_0001;
3284
3285pub const PF_PARISC_SBP: u32 = 0x0800_0000;
3288
3289pub const PF_HP_PAGE_SIZE: u32 = 0x0010_0000;
3290pub const PF_HP_FAR_SHARED: u32 = 0x0020_0000;
3291pub const PF_HP_NEAR_SHARED: u32 = 0x0040_0000;
3292pub const PF_HP_CODE: u32 = 0x0100_0000;
3293pub const PF_HP_MODIFY: u32 = 0x0200_0000;
3294pub const PF_HP_LAZYSWAP: u32 = 0x0400_0000;
3295pub const PF_HP_SBP: u32 = 0x0800_0000;
3296
3297pub const EF_ALPHA_32BIT: u32 = 1;
3303pub const EF_ALPHA_CANRELAX: u32 = 2;
3305
3306pub const SHT_ALPHA_DEBUG: u32 = 0x7000_0001;
3310pub const SHT_ALPHA_REGINFO: u32 = 0x7000_0002;
3311
3312pub const SHF_ALPHA_GPREL: u32 = 0x1000_0000;
3315
3316pub const STO_ALPHA_NOPV: u8 = 0x80;
3319pub const STO_ALPHA_STD_GPLOAD: u8 = 0x88;
3321
3322pub const R_ALPHA_NONE: u32 = 0;
3326pub const R_ALPHA_REFLONG: u32 = 1;
3328pub const R_ALPHA_REFQUAD: u32 = 2;
3330pub const R_ALPHA_GPREL32: u32 = 3;
3332pub const R_ALPHA_LITERAL: u32 = 4;
3334pub const R_ALPHA_LITUSE: u32 = 5;
3336pub const R_ALPHA_GPDISP: u32 = 6;
3338pub const R_ALPHA_BRADDR: u32 = 7;
3340pub const R_ALPHA_HINT: u32 = 8;
3342pub const R_ALPHA_SREL16: u32 = 9;
3344pub const R_ALPHA_SREL32: u32 = 10;
3346pub const R_ALPHA_SREL64: u32 = 11;
3348pub const R_ALPHA_GPRELHIGH: u32 = 17;
3350pub const R_ALPHA_GPRELLOW: u32 = 18;
3352pub const R_ALPHA_GPREL16: u32 = 19;
3354pub const R_ALPHA_COPY: u32 = 24;
3356pub const R_ALPHA_GLOB_DAT: u32 = 25;
3358pub const R_ALPHA_JMP_SLOT: u32 = 26;
3360pub const R_ALPHA_RELATIVE: u32 = 27;
3362pub const R_ALPHA_TLS_GD_HI: u32 = 28;
3363pub const R_ALPHA_TLSGD: u32 = 29;
3364pub const R_ALPHA_TLS_LDM: u32 = 30;
3365pub const R_ALPHA_DTPMOD64: u32 = 31;
3366pub const R_ALPHA_GOTDTPREL: u32 = 32;
3367pub const R_ALPHA_DTPREL64: u32 = 33;
3368pub const R_ALPHA_DTPRELHI: u32 = 34;
3369pub const R_ALPHA_DTPRELLO: u32 = 35;
3370pub const R_ALPHA_DTPREL16: u32 = 36;
3371pub const R_ALPHA_GOTTPREL: u32 = 37;
3372pub const R_ALPHA_TPREL64: u32 = 38;
3373pub const R_ALPHA_TPRELHI: u32 = 39;
3374pub const R_ALPHA_TPRELLO: u32 = 40;
3375pub const R_ALPHA_TPREL16: u32 = 41;
3376
3377pub const LITUSE_ALPHA_ADDR: u32 = 0;
3379pub const LITUSE_ALPHA_BASE: u32 = 1;
3380pub const LITUSE_ALPHA_BYTOFF: u32 = 2;
3381pub const LITUSE_ALPHA_JSR: u32 = 3;
3382pub const LITUSE_ALPHA_TLS_GD: u32 = 4;
3383pub const LITUSE_ALPHA_TLS_LDM: u32 = 5;
3384
3385pub const DT_ALPHA_PLTRO: i64 = DT_LOPROC + 0;
3387
3388pub const EF_PPC_EMB: u32 = 0x8000_0000;
3393
3394pub const EF_PPC_RELOCATABLE: u32 = 0x0001_0000;
3397pub const EF_PPC_RELOCATABLE_LIB: u32 = 0x0000_8000;
3399
3400pub const R_PPC_NONE: u32 = 0;
3402pub const R_PPC_ADDR32: u32 = 1;
3404pub const R_PPC_ADDR24: u32 = 2;
3406pub const R_PPC_ADDR16: u32 = 3;
3408pub const R_PPC_ADDR16_LO: u32 = 4;
3410pub const R_PPC_ADDR16_HI: u32 = 5;
3412pub const R_PPC_ADDR16_HA: u32 = 6;
3414pub const R_PPC_ADDR14: u32 = 7;
3416pub const R_PPC_ADDR14_BRTAKEN: u32 = 8;
3417pub const R_PPC_ADDR14_BRNTAKEN: u32 = 9;
3418pub const R_PPC_REL24: u32 = 10;
3420pub const R_PPC_REL14: u32 = 11;
3422pub const R_PPC_REL14_BRTAKEN: u32 = 12;
3423pub const R_PPC_REL14_BRNTAKEN: u32 = 13;
3424pub const R_PPC_GOT16: u32 = 14;
3425pub const R_PPC_GOT16_LO: u32 = 15;
3426pub const R_PPC_GOT16_HI: u32 = 16;
3427pub const R_PPC_GOT16_HA: u32 = 17;
3428pub const R_PPC_PLTREL24: u32 = 18;
3429pub const R_PPC_COPY: u32 = 19;
3430pub const R_PPC_GLOB_DAT: u32 = 20;
3431pub const R_PPC_JMP_SLOT: u32 = 21;
3432pub const R_PPC_RELATIVE: u32 = 22;
3433pub const R_PPC_LOCAL24PC: u32 = 23;
3434pub const R_PPC_UADDR32: u32 = 24;
3435pub const R_PPC_UADDR16: u32 = 25;
3436pub const R_PPC_REL32: u32 = 26;
3437pub const R_PPC_PLT32: u32 = 27;
3438pub const R_PPC_PLTREL32: u32 = 28;
3439pub const R_PPC_PLT16_LO: u32 = 29;
3440pub const R_PPC_PLT16_HI: u32 = 30;
3441pub const R_PPC_PLT16_HA: u32 = 31;
3442pub const R_PPC_SDAREL16: u32 = 32;
3443pub const R_PPC_SECTOFF: u32 = 33;
3444pub const R_PPC_SECTOFF_LO: u32 = 34;
3445pub const R_PPC_SECTOFF_HI: u32 = 35;
3446pub const R_PPC_SECTOFF_HA: u32 = 36;
3447
3448pub const R_PPC_TLS: u32 = 67;
3451pub const R_PPC_DTPMOD32: u32 = 68;
3453pub const R_PPC_TPREL16: u32 = 69;
3455pub const R_PPC_TPREL16_LO: u32 = 70;
3457pub const R_PPC_TPREL16_HI: u32 = 71;
3459pub const R_PPC_TPREL16_HA: u32 = 72;
3461pub const R_PPC_TPREL32: u32 = 73;
3463pub const R_PPC_DTPREL16: u32 = 74;
3465pub const R_PPC_DTPREL16_LO: u32 = 75;
3467pub const R_PPC_DTPREL16_HI: u32 = 76;
3469pub const R_PPC_DTPREL16_HA: u32 = 77;
3471pub const R_PPC_DTPREL32: u32 = 78;
3473pub const R_PPC_GOT_TLSGD16: u32 = 79;
3475pub const R_PPC_GOT_TLSGD16_LO: u32 = 80;
3477pub const R_PPC_GOT_TLSGD16_HI: u32 = 81;
3479pub const R_PPC_GOT_TLSGD16_HA: u32 = 82;
3481pub const R_PPC_GOT_TLSLD16: u32 = 83;
3483pub const R_PPC_GOT_TLSLD16_LO: u32 = 84;
3485pub const R_PPC_GOT_TLSLD16_HI: u32 = 85;
3487pub const R_PPC_GOT_TLSLD16_HA: u32 = 86;
3489pub const R_PPC_GOT_TPREL16: u32 = 87;
3491pub const R_PPC_GOT_TPREL16_LO: u32 = 88;
3493pub const R_PPC_GOT_TPREL16_HI: u32 = 89;
3495pub const R_PPC_GOT_TPREL16_HA: u32 = 90;
3497pub const R_PPC_GOT_DTPREL16: u32 = 91;
3499pub const R_PPC_GOT_DTPREL16_LO: u32 = 92;
3501pub const R_PPC_GOT_DTPREL16_HI: u32 = 93;
3503pub const R_PPC_GOT_DTPREL16_HA: u32 = 94;
3505pub const R_PPC_TLSGD: u32 = 95;
3507pub const R_PPC_TLSLD: u32 = 96;
3509
3510pub const R_PPC_EMB_NADDR32: u32 = 101;
3512pub const R_PPC_EMB_NADDR16: u32 = 102;
3513pub const R_PPC_EMB_NADDR16_LO: u32 = 103;
3514pub const R_PPC_EMB_NADDR16_HI: u32 = 104;
3515pub const R_PPC_EMB_NADDR16_HA: u32 = 105;
3516pub const R_PPC_EMB_SDAI16: u32 = 106;
3517pub const R_PPC_EMB_SDA2I16: u32 = 107;
3518pub const R_PPC_EMB_SDA2REL: u32 = 108;
3519pub const R_PPC_EMB_SDA21: u32 = 109;
3521pub const R_PPC_EMB_MRKREF: u32 = 110;
3522pub const R_PPC_EMB_RELSEC16: u32 = 111;
3523pub const R_PPC_EMB_RELST_LO: u32 = 112;
3524pub const R_PPC_EMB_RELST_HI: u32 = 113;
3525pub const R_PPC_EMB_RELST_HA: u32 = 114;
3526pub const R_PPC_EMB_BIT_FLD: u32 = 115;
3527pub const R_PPC_EMB_RELSDA: u32 = 116;
3529
3530pub const R_PPC_DIAB_SDA21_LO: u32 = 180;
3533pub const R_PPC_DIAB_SDA21_HI: u32 = 181;
3535pub const R_PPC_DIAB_SDA21_HA: u32 = 182;
3537pub const R_PPC_DIAB_RELSDA_LO: u32 = 183;
3539pub const R_PPC_DIAB_RELSDA_HI: u32 = 184;
3541pub const R_PPC_DIAB_RELSDA_HA: u32 = 185;
3543
3544pub const R_PPC_IRELATIVE: u32 = 248;
3546
3547pub const R_PPC_REL16: u32 = 249;
3550pub const R_PPC_REL16_LO: u32 = 250;
3552pub const R_PPC_REL16_HI: u32 = 251;
3554pub const R_PPC_REL16_HA: u32 = 252;
3556
3557pub const R_PPC_TOC16: u32 = 255;
3560
3561pub const DT_PPC_GOT: i64 = DT_LOPROC + 0;
3563pub const DT_PPC_OPT: i64 = DT_LOPROC + 1;
3564
3565pub const PPC_OPT_TLS: u32 = 1;
3567
3568pub const R_PPC64_NONE: u32 = R_PPC_NONE;
3570pub const R_PPC64_ADDR32: u32 = R_PPC_ADDR32;
3572pub const R_PPC64_ADDR24: u32 = R_PPC_ADDR24;
3574pub const R_PPC64_ADDR16: u32 = R_PPC_ADDR16;
3576pub const R_PPC64_ADDR16_LO: u32 = R_PPC_ADDR16_LO;
3578pub const R_PPC64_ADDR16_HI: u32 = R_PPC_ADDR16_HI;
3580pub const R_PPC64_ADDR16_HA: u32 = R_PPC_ADDR16_HA;
3582pub const R_PPC64_ADDR14: u32 = R_PPC_ADDR14;
3584pub const R_PPC64_ADDR14_BRTAKEN: u32 = R_PPC_ADDR14_BRTAKEN;
3585pub const R_PPC64_ADDR14_BRNTAKEN: u32 = R_PPC_ADDR14_BRNTAKEN;
3586pub const R_PPC64_REL24: u32 = R_PPC_REL24;
3588pub const R_PPC64_REL14: u32 = R_PPC_REL14;
3590pub const R_PPC64_REL14_BRTAKEN: u32 = R_PPC_REL14_BRTAKEN;
3591pub const R_PPC64_REL14_BRNTAKEN: u32 = R_PPC_REL14_BRNTAKEN;
3592pub const R_PPC64_GOT16: u32 = R_PPC_GOT16;
3593pub const R_PPC64_GOT16_LO: u32 = R_PPC_GOT16_LO;
3594pub const R_PPC64_GOT16_HI: u32 = R_PPC_GOT16_HI;
3595pub const R_PPC64_GOT16_HA: u32 = R_PPC_GOT16_HA;
3596
3597pub const R_PPC64_COPY: u32 = R_PPC_COPY;
3598pub const R_PPC64_GLOB_DAT: u32 = R_PPC_GLOB_DAT;
3599pub const R_PPC64_JMP_SLOT: u32 = R_PPC_JMP_SLOT;
3600pub const R_PPC64_RELATIVE: u32 = R_PPC_RELATIVE;
3601
3602pub const R_PPC64_UADDR32: u32 = R_PPC_UADDR32;
3603pub const R_PPC64_UADDR16: u32 = R_PPC_UADDR16;
3604pub const R_PPC64_REL32: u32 = R_PPC_REL32;
3605pub const R_PPC64_PLT32: u32 = R_PPC_PLT32;
3606pub const R_PPC64_PLTREL32: u32 = R_PPC_PLTREL32;
3607pub const R_PPC64_PLT16_LO: u32 = R_PPC_PLT16_LO;
3608pub const R_PPC64_PLT16_HI: u32 = R_PPC_PLT16_HI;
3609pub const R_PPC64_PLT16_HA: u32 = R_PPC_PLT16_HA;
3610
3611pub const R_PPC64_SECTOFF: u32 = R_PPC_SECTOFF;
3612pub const R_PPC64_SECTOFF_LO: u32 = R_PPC_SECTOFF_LO;
3613pub const R_PPC64_SECTOFF_HI: u32 = R_PPC_SECTOFF_HI;
3614pub const R_PPC64_SECTOFF_HA: u32 = R_PPC_SECTOFF_HA;
3615pub const R_PPC64_ADDR30: u32 = 37;
3617pub const R_PPC64_ADDR64: u32 = 38;
3619pub const R_PPC64_ADDR16_HIGHER: u32 = 39;
3621pub const R_PPC64_ADDR16_HIGHERA: u32 = 40;
3623pub const R_PPC64_ADDR16_HIGHEST: u32 = 41;
3625pub const R_PPC64_ADDR16_HIGHESTA: u32 = 42;
3627pub const R_PPC64_UADDR64: u32 = 43;
3629pub const R_PPC64_REL64: u32 = 44;
3631pub const R_PPC64_PLT64: u32 = 45;
3633pub const R_PPC64_PLTREL64: u32 = 46;
3635pub const R_PPC64_TOC16: u32 = 47;
3637pub const R_PPC64_TOC16_LO: u32 = 48;
3639pub const R_PPC64_TOC16_HI: u32 = 49;
3641pub const R_PPC64_TOC16_HA: u32 = 50;
3643pub const R_PPC64_TOC: u32 = 51;
3645pub const R_PPC64_PLTGOT16: u32 = 52;
3647pub const R_PPC64_PLTGOT16_LO: u32 = 53;
3649pub const R_PPC64_PLTGOT16_HI: u32 = 54;
3651pub const R_PPC64_PLTGOT16_HA: u32 = 55;
3653
3654pub const R_PPC64_ADDR16_DS: u32 = 56;
3656pub const R_PPC64_ADDR16_LO_DS: u32 = 57;
3658pub const R_PPC64_GOT16_DS: u32 = 58;
3660pub const R_PPC64_GOT16_LO_DS: u32 = 59;
3662pub const R_PPC64_PLT16_LO_DS: u32 = 60;
3664pub const R_PPC64_SECTOFF_DS: u32 = 61;
3666pub const R_PPC64_SECTOFF_LO_DS: u32 = 62;
3668pub const R_PPC64_TOC16_DS: u32 = 63;
3670pub const R_PPC64_TOC16_LO_DS: u32 = 64;
3672pub const R_PPC64_PLTGOT16_DS: u32 = 65;
3674pub const R_PPC64_PLTGOT16_LO_DS: u32 = 66;
3676
3677pub const R_PPC64_TLS: u32 = 67;
3680pub const R_PPC64_DTPMOD64: u32 = 68;
3682pub const R_PPC64_TPREL16: u32 = 69;
3684pub const R_PPC64_TPREL16_LO: u32 = 70;
3686pub const R_PPC64_TPREL16_HI: u32 = 71;
3688pub const R_PPC64_TPREL16_HA: u32 = 72;
3690pub const R_PPC64_TPREL64: u32 = 73;
3692pub const R_PPC64_DTPREL16: u32 = 74;
3694pub const R_PPC64_DTPREL16_LO: u32 = 75;
3696pub const R_PPC64_DTPREL16_HI: u32 = 76;
3698pub const R_PPC64_DTPREL16_HA: u32 = 77;
3700pub const R_PPC64_DTPREL64: u32 = 78;
3702pub const R_PPC64_GOT_TLSGD16: u32 = 79;
3704pub const R_PPC64_GOT_TLSGD16_LO: u32 = 80;
3706pub const R_PPC64_GOT_TLSGD16_HI: u32 = 81;
3708pub const R_PPC64_GOT_TLSGD16_HA: u32 = 82;
3710pub const R_PPC64_GOT_TLSLD16: u32 = 83;
3712pub const R_PPC64_GOT_TLSLD16_LO: u32 = 84;
3714pub const R_PPC64_GOT_TLSLD16_HI: u32 = 85;
3716pub const R_PPC64_GOT_TLSLD16_HA: u32 = 86;
3718pub const R_PPC64_GOT_TPREL16_DS: u32 = 87;
3720pub const R_PPC64_GOT_TPREL16_LO_DS: u32 = 88;
3722pub const R_PPC64_GOT_TPREL16_HI: u32 = 89;
3724pub const R_PPC64_GOT_TPREL16_HA: u32 = 90;
3726pub const R_PPC64_GOT_DTPREL16_DS: u32 = 91;
3728pub const R_PPC64_GOT_DTPREL16_LO_DS: u32 = 92;
3730pub const R_PPC64_GOT_DTPREL16_HI: u32 = 93;
3732pub const R_PPC64_GOT_DTPREL16_HA: u32 = 94;
3734pub const R_PPC64_TPREL16_DS: u32 = 95;
3736pub const R_PPC64_TPREL16_LO_DS: u32 = 96;
3738pub const R_PPC64_TPREL16_HIGHER: u32 = 97;
3740pub const R_PPC64_TPREL16_HIGHERA: u32 = 98;
3742pub const R_PPC64_TPREL16_HIGHEST: u32 = 99;
3744pub const R_PPC64_TPREL16_HIGHESTA: u32 = 100;
3746pub const R_PPC64_DTPREL16_DS: u32 = 101;
3748pub const R_PPC64_DTPREL16_LO_DS: u32 = 102;
3750pub const R_PPC64_DTPREL16_HIGHER: u32 = 103;
3752pub const R_PPC64_DTPREL16_HIGHERA: u32 = 104;
3754pub const R_PPC64_DTPREL16_HIGHEST: u32 = 105;
3756pub const R_PPC64_DTPREL16_HIGHESTA: u32 = 106;
3758pub const R_PPC64_TLSGD: u32 = 107;
3760pub const R_PPC64_TLSLD: u32 = 108;
3762pub const R_PPC64_TOCSAVE: u32 = 109;
3764
3765pub const R_PPC64_ADDR16_HIGH: u32 = 110;
3767pub const R_PPC64_ADDR16_HIGHA: u32 = 111;
3768pub const R_PPC64_TPREL16_HIGH: u32 = 112;
3769pub const R_PPC64_TPREL16_HIGHA: u32 = 113;
3770pub const R_PPC64_DTPREL16_HIGH: u32 = 114;
3771pub const R_PPC64_DTPREL16_HIGHA: u32 = 115;
3772
3773pub const R_PPC64_JMP_IREL: u32 = 247;
3775pub const R_PPC64_IRELATIVE: u32 = 248;
3777pub const R_PPC64_REL16: u32 = 249;
3779pub const R_PPC64_REL16_LO: u32 = 250;
3781pub const R_PPC64_REL16_HI: u32 = 251;
3783pub const R_PPC64_REL16_HA: u32 = 252;
3785
3786pub const EF_PPC64_ABI: u32 = 3;
3793
3794pub const DT_PPC64_GLINK: i64 = DT_LOPROC + 0;
3796pub const DT_PPC64_OPD: i64 = DT_LOPROC + 1;
3797pub const DT_PPC64_OPDSZ: i64 = DT_LOPROC + 2;
3798pub const DT_PPC64_OPT: i64 = DT_LOPROC + 3;
3799
3800pub const PPC64_OPT_TLS: u32 = 1;
3802pub const PPC64_OPT_MULTI_TOC: u32 = 2;
3803pub const PPC64_OPT_LOCALENTRY: u32 = 4;
3804
3805pub const STO_PPC64_LOCAL_BIT: u8 = 5;
3807pub const STO_PPC64_LOCAL_MASK: u8 = 7 << STO_PPC64_LOCAL_BIT;
3808
3809pub const EF_ARM_RELEXEC: u32 = 0x01;
3813pub const EF_ARM_HASENTRY: u32 = 0x02;
3814pub const EF_ARM_INTERWORK: u32 = 0x04;
3815pub const EF_ARM_APCS_26: u32 = 0x08;
3816pub const EF_ARM_APCS_FLOAT: u32 = 0x10;
3817pub const EF_ARM_PIC: u32 = 0x20;
3818pub const EF_ARM_ALIGN8: u32 = 0x40;
3820pub const EF_ARM_NEW_ABI: u32 = 0x80;
3821pub const EF_ARM_OLD_ABI: u32 = 0x100;
3822pub const EF_ARM_SOFT_FLOAT: u32 = 0x200;
3823pub const EF_ARM_VFP_FLOAT: u32 = 0x400;
3824pub const EF_ARM_MAVERICK_FLOAT: u32 = 0x800;
3825
3826pub const EF_ARM_ABI_FLOAT_SOFT: u32 = 0x200;
3828pub const EF_ARM_ABI_FLOAT_HARD: u32 = 0x400;
3830
3831pub const EF_ARM_SYMSARESORTED: u32 = 0x04;
3834pub const EF_ARM_DYNSYMSUSESEGIDX: u32 = 0x08;
3835pub const EF_ARM_MAPSYMSFIRST: u32 = 0x10;
3836
3837pub const EF_ARM_BE8: u32 = 0x0080_0000;
3839pub const EF_ARM_LE8: u32 = 0x0040_0000;
3840
3841pub const EF_ARM_EABIMASK: u32 = 0xff00_0000;
3842pub const EF_ARM_EABI_UNKNOWN: u32 = 0x0000_0000;
3843pub const EF_ARM_EABI_VER1: u32 = 0x0100_0000;
3844pub const EF_ARM_EABI_VER2: u32 = 0x0200_0000;
3845pub const EF_ARM_EABI_VER3: u32 = 0x0300_0000;
3846pub const EF_ARM_EABI_VER4: u32 = 0x0400_0000;
3847pub const EF_ARM_EABI_VER5: u32 = 0x0500_0000;
3848
3849pub const STT_ARM_TFUNC: u8 = STT_LOPROC;
3852pub const STT_ARM_16BIT: u8 = STT_HIPROC;
3854
3855pub const SHF_ARM_ENTRYSECT: u32 = 0x1000_0000;
3858pub const SHF_ARM_COMDEF: u32 = 0x8000_0000;
3860
3861pub const PF_ARM_SB: u32 = 0x1000_0000;
3864pub const PF_ARM_PI: u32 = 0x2000_0000;
3866pub const PF_ARM_ABS: u32 = 0x4000_0000;
3868
3869pub const PT_ARM_EXIDX: u32 = PT_LOPROC + 1;
3872
3873pub const SHT_ARM_EXIDX: u32 = SHT_LOPROC + 1;
3876pub const SHT_ARM_PREEMPTMAP: u32 = SHT_LOPROC + 2;
3878pub const SHT_ARM_ATTRIBUTES: u32 = SHT_LOPROC + 3;
3880
3881pub const SHT_AARCH64_ATTRIBUTES: u32 = SHT_LOPROC + 3;
3884
3885pub const STO_AARCH64_VARIANT_PCS: u8 = 0x80;
3887
3888pub const DT_AARCH64_BTI_PLT: i64 = DT_LOPROC + 1;
3890pub const DT_AARCH64_PAC_PLT: i64 = DT_LOPROC + 3;
3891pub const DT_AARCH64_VARIANT_PCS: i64 = DT_LOPROC + 5;
3892pub const DT_AARCH64_NUM: i64 = 6;
3893
3894pub const R_AARCH64_NONE: u32 = 0;
3898
3899pub const R_AARCH64_P32_ABS32: u32 = 1;
3902pub const R_AARCH64_P32_COPY: u32 = 180;
3904pub const R_AARCH64_P32_GLOB_DAT: u32 = 181;
3906pub const R_AARCH64_P32_JUMP_SLOT: u32 = 182;
3908pub const R_AARCH64_P32_RELATIVE: u32 = 183;
3910pub const R_AARCH64_P32_TLS_DTPMOD: u32 = 184;
3912pub const R_AARCH64_P32_TLS_DTPREL: u32 = 185;
3914pub const R_AARCH64_P32_TLS_TPREL: u32 = 186;
3916pub const R_AARCH64_P32_TLSDESC: u32 = 187;
3918pub const R_AARCH64_P32_IRELATIVE: u32 = 188;
3920
3921pub const R_AARCH64_ABS64: u32 = 257;
3924pub const R_AARCH64_ABS32: u32 = 258;
3926pub const R_AARCH64_ABS16: u32 = 259;
3928pub const R_AARCH64_PREL64: u32 = 260;
3930pub const R_AARCH64_PREL32: u32 = 261;
3932pub const R_AARCH64_PREL16: u32 = 262;
3934pub const R_AARCH64_MOVW_UABS_G0: u32 = 263;
3936pub const R_AARCH64_MOVW_UABS_G0_NC: u32 = 264;
3938pub const R_AARCH64_MOVW_UABS_G1: u32 = 265;
3940pub const R_AARCH64_MOVW_UABS_G1_NC: u32 = 266;
3942pub const R_AARCH64_MOVW_UABS_G2: u32 = 267;
3944pub const R_AARCH64_MOVW_UABS_G2_NC: u32 = 268;
3946pub const R_AARCH64_MOVW_UABS_G3: u32 = 269;
3948pub const R_AARCH64_MOVW_SABS_G0: u32 = 270;
3950pub const R_AARCH64_MOVW_SABS_G1: u32 = 271;
3952pub const R_AARCH64_MOVW_SABS_G2: u32 = 272;
3954pub const R_AARCH64_LD_PREL_LO19: u32 = 273;
3956pub const R_AARCH64_ADR_PREL_LO21: u32 = 274;
3958pub const R_AARCH64_ADR_PREL_PG_HI21: u32 = 275;
3960pub const R_AARCH64_ADR_PREL_PG_HI21_NC: u32 = 276;
3962pub const R_AARCH64_ADD_ABS_LO12_NC: u32 = 277;
3964pub const R_AARCH64_LDST8_ABS_LO12_NC: u32 = 278;
3966pub const R_AARCH64_TSTBR14: u32 = 279;
3968pub const R_AARCH64_CONDBR19: u32 = 280;
3970pub const R_AARCH64_JUMP26: u32 = 282;
3972pub const R_AARCH64_CALL26: u32 = 283;
3974pub const R_AARCH64_LDST16_ABS_LO12_NC: u32 = 284;
3976pub const R_AARCH64_LDST32_ABS_LO12_NC: u32 = 285;
3978pub const R_AARCH64_LDST64_ABS_LO12_NC: u32 = 286;
3980pub const R_AARCH64_MOVW_PREL_G0: u32 = 287;
3982pub const R_AARCH64_MOVW_PREL_G0_NC: u32 = 288;
3984pub const R_AARCH64_MOVW_PREL_G1: u32 = 289;
3986pub const R_AARCH64_MOVW_PREL_G1_NC: u32 = 290;
3988pub const R_AARCH64_MOVW_PREL_G2: u32 = 291;
3990pub const R_AARCH64_MOVW_PREL_G2_NC: u32 = 292;
3992pub const R_AARCH64_MOVW_PREL_G3: u32 = 293;
3994pub const R_AARCH64_LDST128_ABS_LO12_NC: u32 = 299;
3996pub const R_AARCH64_MOVW_GOTOFF_G0: u32 = 300;
3998pub const R_AARCH64_MOVW_GOTOFF_G0_NC: u32 = 301;
4000pub const R_AARCH64_MOVW_GOTOFF_G1: u32 = 302;
4002pub const R_AARCH64_MOVW_GOTOFF_G1_NC: u32 = 303;
4004pub const R_AARCH64_MOVW_GOTOFF_G2: u32 = 304;
4006pub const R_AARCH64_MOVW_GOTOFF_G2_NC: u32 = 305;
4008pub const R_AARCH64_MOVW_GOTOFF_G3: u32 = 306;
4010pub const R_AARCH64_GOTREL64: u32 = 307;
4012pub const R_AARCH64_GOTREL32: u32 = 308;
4014pub const R_AARCH64_GOT_LD_PREL19: u32 = 309;
4016pub const R_AARCH64_LD64_GOTOFF_LO15: u32 = 310;
4018pub const R_AARCH64_ADR_GOT_PAGE: u32 = 311;
4020pub const R_AARCH64_LD64_GOT_LO12_NC: u32 = 312;
4022pub const R_AARCH64_LD64_GOTPAGE_LO15: u32 = 313;
4024pub const R_AARCH64_PLT32: u32 = 314;
4026pub const R_AARCH64_GOTPCREL32: u32 = 315;
4028pub const R_AARCH64_TLSGD_ADR_PREL21: u32 = 512;
4030pub const R_AARCH64_TLSGD_ADR_PAGE21: u32 = 513;
4032pub const R_AARCH64_TLSGD_ADD_LO12_NC: u32 = 514;
4034pub const R_AARCH64_TLSGD_MOVW_G1: u32 = 515;
4036pub const R_AARCH64_TLSGD_MOVW_G0_NC: u32 = 516;
4038pub const R_AARCH64_TLSLD_ADR_PREL21: u32 = 517;
4040pub const R_AARCH64_TLSLD_ADR_PAGE21: u32 = 518;
4042pub const R_AARCH64_TLSLD_ADD_LO12_NC: u32 = 519;
4044pub const R_AARCH64_TLSLD_MOVW_G1: u32 = 520;
4046pub const R_AARCH64_TLSLD_MOVW_G0_NC: u32 = 521;
4048pub const R_AARCH64_TLSLD_LD_PREL19: u32 = 522;
4050pub const R_AARCH64_TLSLD_MOVW_DTPREL_G2: u32 = 523;
4052pub const R_AARCH64_TLSLD_MOVW_DTPREL_G1: u32 = 524;
4054pub const R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC: u32 = 525;
4056pub const R_AARCH64_TLSLD_MOVW_DTPREL_G0: u32 = 526;
4058pub const R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC: u32 = 527;
4060pub const R_AARCH64_TLSLD_ADD_DTPREL_HI12: u32 = 528;
4062pub const R_AARCH64_TLSLD_ADD_DTPREL_LO12: u32 = 529;
4064pub const R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC: u32 = 530;
4066pub const R_AARCH64_TLSLD_LDST8_DTPREL_LO12: u32 = 531;
4068pub const R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC: u32 = 532;
4070pub const R_AARCH64_TLSLD_LDST16_DTPREL_LO12: u32 = 533;
4072pub const R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC: u32 = 534;
4074pub const R_AARCH64_TLSLD_LDST32_DTPREL_LO12: u32 = 535;
4076pub const R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC: u32 = 536;
4078pub const R_AARCH64_TLSLD_LDST64_DTPREL_LO12: u32 = 537;
4080pub const R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC: u32 = 538;
4082pub const R_AARCH64_TLSIE_MOVW_GOTTPREL_G1: u32 = 539;
4084pub const R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC: u32 = 540;
4086pub const R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21: u32 = 541;
4088pub const R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC: u32 = 542;
4090pub const R_AARCH64_TLSIE_LD_GOTTPREL_PREL19: u32 = 543;
4092pub const R_AARCH64_TLSLE_MOVW_TPREL_G2: u32 = 544;
4094pub const R_AARCH64_TLSLE_MOVW_TPREL_G1: u32 = 545;
4096pub const R_AARCH64_TLSLE_MOVW_TPREL_G1_NC: u32 = 546;
4098pub const R_AARCH64_TLSLE_MOVW_TPREL_G0: u32 = 547;
4100pub const R_AARCH64_TLSLE_MOVW_TPREL_G0_NC: u32 = 548;
4102pub const R_AARCH64_TLSLE_ADD_TPREL_HI12: u32 = 549;
4104pub const R_AARCH64_TLSLE_ADD_TPREL_LO12: u32 = 550;
4106pub const R_AARCH64_TLSLE_ADD_TPREL_LO12_NC: u32 = 551;
4108pub const R_AARCH64_TLSLE_LDST8_TPREL_LO12: u32 = 552;
4110pub const R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC: u32 = 553;
4112pub const R_AARCH64_TLSLE_LDST16_TPREL_LO12: u32 = 554;
4114pub const R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC: u32 = 555;
4116pub const R_AARCH64_TLSLE_LDST32_TPREL_LO12: u32 = 556;
4118pub const R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC: u32 = 557;
4120pub const R_AARCH64_TLSLE_LDST64_TPREL_LO12: u32 = 558;
4122pub const R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC: u32 = 559;
4124pub const R_AARCH64_TLSDESC_LD_PREL19: u32 = 560;
4126pub const R_AARCH64_TLSDESC_ADR_PREL21: u32 = 561;
4128pub const R_AARCH64_TLSDESC_ADR_PAGE21: u32 = 562;
4130pub const R_AARCH64_TLSDESC_LD64_LO12: u32 = 563;
4132pub const R_AARCH64_TLSDESC_ADD_LO12: u32 = 564;
4134pub const R_AARCH64_TLSDESC_OFF_G1: u32 = 565;
4136pub const R_AARCH64_TLSDESC_OFF_G0_NC: u32 = 566;
4138pub const R_AARCH64_TLSDESC_LDR: u32 = 567;
4140pub const R_AARCH64_TLSDESC_ADD: u32 = 568;
4142pub const R_AARCH64_TLSDESC_CALL: u32 = 569;
4144pub const R_AARCH64_TLSLE_LDST128_TPREL_LO12: u32 = 570;
4146pub const R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC: u32 = 571;
4148pub const R_AARCH64_TLSLD_LDST128_DTPREL_LO12: u32 = 572;
4150pub const R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC: u32 = 573;
4152pub const R_AARCH64_COPY: u32 = 1024;
4154pub const R_AARCH64_GLOB_DAT: u32 = 1025;
4156pub const R_AARCH64_JUMP_SLOT: u32 = 1026;
4158pub const R_AARCH64_RELATIVE: u32 = 1027;
4160pub const R_AARCH64_TLS_DTPMOD: u32 = 1028;
4162pub const R_AARCH64_TLS_DTPREL: u32 = 1029;
4164pub const R_AARCH64_TLS_TPREL: u32 = 1030;
4166pub const R_AARCH64_TLSDESC: u32 = 1031;
4168pub const R_AARCH64_IRELATIVE: u32 = 1032;
4170
4171pub const EF_AVR_ARCH: u32 = 0x7F;
4175
4176pub const EF_AVR_LINKRELAX_PREPARED: u32 = 0x80;
4179
4180pub const EF_AVR_ARCH_AVR1: u32 = 1;
4181pub const EF_AVR_ARCH_AVR2: u32 = 2;
4182pub const EF_AVR_ARCH_AVR25: u32 = 25;
4183pub const EF_AVR_ARCH_AVR3: u32 = 3;
4184pub const EF_AVR_ARCH_AVR31: u32 = 31;
4185pub const EF_AVR_ARCH_AVR35: u32 = 35;
4186pub const EF_AVR_ARCH_AVR4: u32 = 4;
4187pub const EF_AVR_ARCH_AVR5: u32 = 5;
4188pub const EF_AVR_ARCH_AVR51: u32 = 51;
4189pub const EF_AVR_ARCH_AVR6: u32 = 6;
4190pub const EF_AVR_ARCH_AVRTINY: u32 = 100;
4191pub const EF_AVR_ARCH_XMEGA1: u32 = 101;
4192pub const EF_AVR_ARCH_XMEGA2: u32 = 102;
4193pub const EF_AVR_ARCH_XMEGA3: u32 = 103;
4194pub const EF_AVR_ARCH_XMEGA4: u32 = 104;
4195pub const EF_AVR_ARCH_XMEGA5: u32 = 105;
4196pub const EF_AVR_ARCH_XMEGA6: u32 = 106;
4197pub const EF_AVR_ARCH_XMEGA7: u32 = 107;
4198
4199pub const R_AVR_NONE: u32 = 0;
4202pub const R_AVR_32: u32 = 1;
4204pub const R_AVR_7_PCREL: u32 = 2;
4205pub const R_AVR_13_PCREL: u32 = 3;
4206pub const R_AVR_16: u32 = 4;
4208pub const R_AVR_16_PM: u32 = 5;
4209pub const R_AVR_LO8_LDI: u32 = 6;
4210pub const R_AVR_HI8_LDI: u32 = 7;
4211pub const R_AVR_HH8_LDI: u32 = 8;
4212pub const R_AVR_LO8_LDI_NEG: u32 = 9;
4213pub const R_AVR_HI8_LDI_NEG: u32 = 10;
4214pub const R_AVR_HH8_LDI_NEG: u32 = 11;
4215pub const R_AVR_LO8_LDI_PM: u32 = 12;
4216pub const R_AVR_HI8_LDI_PM: u32 = 13;
4217pub const R_AVR_HH8_LDI_PM: u32 = 14;
4218pub const R_AVR_LO8_LDI_PM_NEG: u32 = 15;
4219pub const R_AVR_HI8_LDI_PM_NEG: u32 = 16;
4220pub const R_AVR_HH8_LDI_PM_NEG: u32 = 17;
4221pub const R_AVR_CALL: u32 = 18;
4222pub const R_AVR_LDI: u32 = 19;
4223pub const R_AVR_6: u32 = 20;
4224pub const R_AVR_6_ADIW: u32 = 21;
4225pub const R_AVR_MS8_LDI: u32 = 22;
4226pub const R_AVR_MS8_LDI_NEG: u32 = 23;
4227pub const R_AVR_LO8_LDI_GS: u32 = 24;
4228pub const R_AVR_HI8_LDI_GS: u32 = 25;
4229pub const R_AVR_8: u32 = 26;
4230pub const R_AVR_8_LO8: u32 = 27;
4231pub const R_AVR_8_HI8: u32 = 28;
4232pub const R_AVR_8_HLO8: u32 = 29;
4233pub const R_AVR_DIFF8: u32 = 30;
4234pub const R_AVR_DIFF16: u32 = 31;
4235pub const R_AVR_DIFF32: u32 = 32;
4236pub const R_AVR_LDS_STS_16: u32 = 33;
4237pub const R_AVR_PORT6: u32 = 34;
4238pub const R_AVR_PORT5: u32 = 35;
4239pub const R_AVR_32_PCREL: u32 = 36;
4240
4241pub const R_MSP430_NONE: u32 = 0;
4245pub const R_MSP430_32: u32 = 1;
4247pub const R_MSP430_16_BYTE: u32 = 5;
4249
4250pub const R_HEX_NONE: u32 = 0;
4254pub const R_HEX_32: u32 = 6;
4256
4257pub const R_ARM_NONE: u32 = 0;
4261pub const R_ARM_PC24: u32 = 1;
4263pub const R_ARM_ABS32: u32 = 2;
4265pub const R_ARM_REL32: u32 = 3;
4267pub const R_ARM_PC13: u32 = 4;
4268pub const R_ARM_ABS16: u32 = 5;
4270pub const R_ARM_ABS12: u32 = 6;
4272pub const R_ARM_THM_ABS5: u32 = 7;
4274pub const R_ARM_ABS8: u32 = 8;
4276pub const R_ARM_SBREL32: u32 = 9;
4277pub const R_ARM_THM_PC22: u32 = 10;
4279pub const R_ARM_THM_PC8: u32 = 11;
4281pub const R_ARM_AMP_VCALL9: u32 = 12;
4282pub const R_ARM_SWI24: u32 = 13;
4284pub const R_ARM_TLS_DESC: u32 = 13;
4286pub const R_ARM_THM_SWI8: u32 = 14;
4288pub const R_ARM_XPC25: u32 = 15;
4290pub const R_ARM_THM_XPC22: u32 = 16;
4292pub const R_ARM_TLS_DTPMOD32: u32 = 17;
4294pub const R_ARM_TLS_DTPOFF32: u32 = 18;
4296pub const R_ARM_TLS_TPOFF32: u32 = 19;
4298pub const R_ARM_COPY: u32 = 20;
4300pub const R_ARM_GLOB_DAT: u32 = 21;
4302pub const R_ARM_JUMP_SLOT: u32 = 22;
4304pub const R_ARM_RELATIVE: u32 = 23;
4306pub const R_ARM_GOTOFF: u32 = 24;
4308pub const R_ARM_GOTPC: u32 = 25;
4310pub const R_ARM_GOT32: u32 = 26;
4312pub const R_ARM_PLT32: u32 = 27;
4314pub const R_ARM_CALL: u32 = 28;
4316pub const R_ARM_JUMP24: u32 = 29;
4318pub const R_ARM_THM_JUMP24: u32 = 30;
4320pub const R_ARM_BASE_ABS: u32 = 31;
4322pub const R_ARM_ALU_PCREL_7_0: u32 = 32;
4324pub const R_ARM_ALU_PCREL_15_8: u32 = 33;
4326pub const R_ARM_ALU_PCREL_23_15: u32 = 34;
4328pub const R_ARM_LDR_SBREL_11_0: u32 = 35;
4330pub const R_ARM_ALU_SBREL_19_12: u32 = 36;
4332pub const R_ARM_ALU_SBREL_27_20: u32 = 37;
4334pub const R_ARM_TARGET1: u32 = 38;
4335pub const R_ARM_SBREL31: u32 = 39;
4337pub const R_ARM_V4BX: u32 = 40;
4338pub const R_ARM_TARGET2: u32 = 41;
4339pub const R_ARM_PREL31: u32 = 42;
4341pub const R_ARM_MOVW_ABS_NC: u32 = 43;
4343pub const R_ARM_MOVT_ABS: u32 = 44;
4345pub const R_ARM_MOVW_PREL_NC: u32 = 45;
4347pub const R_ARM_MOVT_PREL: u32 = 46;
4349pub const R_ARM_THM_MOVW_ABS_NC: u32 = 47;
4351pub const R_ARM_THM_MOVT_ABS: u32 = 48;
4353pub const R_ARM_THM_MOVW_PREL_NC: u32 = 49;
4355pub const R_ARM_THM_MOVT_PREL: u32 = 50;
4357pub const R_ARM_THM_JUMP19: u32 = 51;
4359pub const R_ARM_THM_JUMP6: u32 = 52;
4361pub const R_ARM_THM_ALU_PREL_11_0: u32 = 53;
4363pub const R_ARM_THM_PC12: u32 = 54;
4365pub const R_ARM_ABS32_NOI: u32 = 55;
4367pub const R_ARM_REL32_NOI: u32 = 56;
4369pub const R_ARM_ALU_PC_G0_NC: u32 = 57;
4371pub const R_ARM_ALU_PC_G0: u32 = 58;
4373pub const R_ARM_ALU_PC_G1_NC: u32 = 59;
4375pub const R_ARM_ALU_PC_G1: u32 = 60;
4377pub const R_ARM_ALU_PC_G2: u32 = 61;
4379pub const R_ARM_LDR_PC_G1: u32 = 62;
4381pub const R_ARM_LDR_PC_G2: u32 = 63;
4383pub const R_ARM_LDRS_PC_G0: u32 = 64;
4385pub const R_ARM_LDRS_PC_G1: u32 = 65;
4387pub const R_ARM_LDRS_PC_G2: u32 = 66;
4389pub const R_ARM_LDC_PC_G0: u32 = 67;
4391pub const R_ARM_LDC_PC_G1: u32 = 68;
4393pub const R_ARM_LDC_PC_G2: u32 = 69;
4395pub const R_ARM_ALU_SB_G0_NC: u32 = 70;
4397pub const R_ARM_ALU_SB_G0: u32 = 71;
4399pub const R_ARM_ALU_SB_G1_NC: u32 = 72;
4401pub const R_ARM_ALU_SB_G1: u32 = 73;
4403pub const R_ARM_ALU_SB_G2: u32 = 74;
4405pub const R_ARM_LDR_SB_G0: u32 = 75;
4407pub const R_ARM_LDR_SB_G1: u32 = 76;
4409pub const R_ARM_LDR_SB_G2: u32 = 77;
4411pub const R_ARM_LDRS_SB_G0: u32 = 78;
4413pub const R_ARM_LDRS_SB_G1: u32 = 79;
4415pub const R_ARM_LDRS_SB_G2: u32 = 80;
4417pub const R_ARM_LDC_SB_G0: u32 = 81;
4419pub const R_ARM_LDC_SB_G1: u32 = 82;
4421pub const R_ARM_LDC_SB_G2: u32 = 83;
4423pub const R_ARM_MOVW_BREL_NC: u32 = 84;
4425pub const R_ARM_MOVT_BREL: u32 = 85;
4427pub const R_ARM_MOVW_BREL: u32 = 86;
4429pub const R_ARM_THM_MOVW_BREL_NC: u32 = 87;
4431pub const R_ARM_THM_MOVT_BREL: u32 = 88;
4433pub const R_ARM_THM_MOVW_BREL: u32 = 89;
4435pub const R_ARM_TLS_GOTDESC: u32 = 90;
4436pub const R_ARM_TLS_CALL: u32 = 91;
4437pub const R_ARM_TLS_DESCSEQ: u32 = 92;
4439pub const R_ARM_THM_TLS_CALL: u32 = 93;
4440pub const R_ARM_PLT32_ABS: u32 = 94;
4441pub const R_ARM_GOT_ABS: u32 = 95;
4443pub const R_ARM_GOT_PREL: u32 = 96;
4445pub const R_ARM_GOT_BREL12: u32 = 97;
4447pub const R_ARM_GOTOFF12: u32 = 98;
4449pub const R_ARM_GOTRELAX: u32 = 99;
4450pub const R_ARM_GNU_VTENTRY: u32 = 100;
4451pub const R_ARM_GNU_VTINHERIT: u32 = 101;
4452pub const R_ARM_THM_PC11: u32 = 102;
4454pub const R_ARM_THM_PC9: u32 = 103;
4456pub const R_ARM_TLS_GD32: u32 = 104;
4458pub const R_ARM_TLS_LDM32: u32 = 105;
4460pub const R_ARM_TLS_LDO32: u32 = 106;
4462pub const R_ARM_TLS_IE32: u32 = 107;
4464pub const R_ARM_TLS_LE32: u32 = 108;
4466pub const R_ARM_TLS_LDO12: u32 = 109;
4468pub const R_ARM_TLS_LE12: u32 = 110;
4470pub const R_ARM_TLS_IE12GP: u32 = 111;
4472pub const R_ARM_ME_TOO: u32 = 128;
4474pub const R_ARM_THM_TLS_DESCSEQ: u32 = 129;
4475pub const R_ARM_THM_TLS_DESCSEQ16: u32 = 129;
4476pub const R_ARM_THM_TLS_DESCSEQ32: u32 = 130;
4477pub const R_ARM_THM_GOT_BREL12: u32 = 131;
4479pub const R_ARM_IRELATIVE: u32 = 160;
4480pub const R_ARM_RXPC25: u32 = 249;
4481pub const R_ARM_RSBREL32: u32 = 250;
4482pub const R_ARM_THM_RPC22: u32 = 251;
4483pub const R_ARM_RREL32: u32 = 252;
4484pub const R_ARM_RABS22: u32 = 253;
4485pub const R_ARM_RPC24: u32 = 254;
4486pub const R_ARM_RBASE: u32 = 255;
4487
4488pub const R_CKCORE_NONE: u32 = 0;
4491pub const R_CKCORE_ADDR32: u32 = 1;
4493pub const R_CKCORE_PCRELIMM8BY4: u32 = 2;
4495pub const R_CKCORE_PCRELIMM11BY2: u32 = 3;
4497pub const R_CKCORE_PCREL32: u32 = 5;
4499pub const R_CKCORE_PCRELJSR_IMM11BY2: u32 = 6;
4501pub const R_CKCORE_RELATIVE: u32 = 9;
4503pub const R_CKCORE_COPY: u32 = 10;
4505pub const R_CKCORE_GLOB_DAT: u32 = 11;
4507pub const R_CKCORE_JUMP_SLOT: u32 = 12;
4509pub const R_CKCORE_GOTOFF: u32 = 13;
4511pub const R_CKCORE_GOTPC: u32 = 14;
4513pub const R_CKCORE_GOT32: u32 = 15;
4515pub const R_CKCORE_PLT32: u32 = 16;
4517pub const R_CKCORE_ADDRGOT: u32 = 17;
4519pub const R_CKCORE_ADDRPLT: u32 = 18;
4521pub const R_CKCORE_PCREL_IMM26BY2: u32 = 19;
4523pub const R_CKCORE_PCREL_IMM16BY2: u32 = 20;
4525pub const R_CKCORE_PCREL_IMM16BY4: u32 = 21;
4527pub const R_CKCORE_PCREL_IMM10BY2: u32 = 22;
4529pub const R_CKCORE_PCREL_IMM10BY4: u32 = 23;
4531pub const R_CKCORE_ADDR_HI16: u32 = 24;
4533pub const R_CKCORE_ADDR_LO16: u32 = 25;
4535pub const R_CKCORE_GOTPC_HI16: u32 = 26;
4537pub const R_CKCORE_GOTPC_LO16: u32 = 27;
4539pub const R_CKCORE_GOTOFF_HI16: u32 = 28;
4541pub const R_CKCORE_GOTOFF_LO16: u32 = 29;
4543pub const R_CKCORE_GOT12: u32 = 30;
4545pub const R_CKCORE_GOT_HI16: u32 = 31;
4547pub const R_CKCORE_GOT_LO16: u32 = 32;
4549pub const R_CKCORE_PLT12: u32 = 33;
4551pub const R_CKCORE_PLT_HI16: u32 = 34;
4553pub const R_CKCORE_PLT_LO16: u32 = 35;
4555pub const R_CKCORE_ADDRGOT_HI16: u32 = 36;
4557pub const R_CKCORE_ADDRGOT_LO16: u32 = 37;
4559pub const R_CKCORE_ADDRPLT_HI16: u32 = 38;
4561pub const R_CKCORE_ADDRPLT_LO16: u32 = 39;
4563pub const R_CKCORE_PCREL_JSR_IMM26BY2: u32 = 40;
4565pub const R_CKCORE_TOFFSET_LO16: u32 = 41;
4567pub const R_CKCORE_DOFFSET_LO16: u32 = 42;
4569pub const R_CKCORE_PCREL_IMM18BY2: u32 = 43;
4571pub const R_CKCORE_DOFFSET_IMM18: u32 = 44;
4573pub const R_CKCORE_DOFFSET_IMM18BY2: u32 = 45;
4575pub const R_CKCORE_DOFFSET_IMM18BY4: u32 = 46;
4577pub const R_CKCORE_GOT_IMM18BY4: u32 = 48;
4579pub const R_CKCORE_PLT_IMM18BY4: u32 = 49;
4581pub const R_CKCORE_PCREL_IMM7BY4: u32 = 50;
4583pub const R_CKCORE_TLS_LE32: u32 = 51;
4585pub const R_CKCORE_TLS_IE32: u32 = 52;
4586pub const R_CKCORE_TLS_GD32: u32 = 53;
4587pub const R_CKCORE_TLS_LDM32: u32 = 54;
4588pub const R_CKCORE_TLS_LDO32: u32 = 55;
4589pub const R_CKCORE_TLS_DTPMOD32: u32 = 56;
4590pub const R_CKCORE_TLS_DTPOFF32: u32 = 57;
4591pub const R_CKCORE_TLS_TPOFF32: u32 = 58;
4592
4593pub const EF_CSKY_ABIMASK: u32 = 0xF000_0000;
4595pub const EF_CSKY_OTHER: u32 = 0x0FFF_0000;
4596pub const EF_CSKY_PROCESSOR: u32 = 0x0000_FFFF;
4597
4598pub const EF_CSKY_ABIV1: u32 = 0x1000_0000;
4599pub const EF_CSKY_ABIV2: u32 = 0x2000_0000;
4600
4601pub const SHT_CSKY_ATTRIBUTES: u32 = SHT_LOPROC + 1;
4604
4605pub const EF_IA_64_MASKOS: u32 = 0x0000_000f;
4610pub const EF_IA_64_ABI64: u32 = 0x0000_0010;
4612pub const EF_IA_64_ARCH: u32 = 0xff00_0000;
4614
4615pub const PT_IA_64_ARCHEXT: u32 = PT_LOPROC + 0;
4618pub const PT_IA_64_UNWIND: u32 = PT_LOPROC + 1;
4620pub const PT_IA_64_HP_OPT_ANOT: u32 = PT_LOOS + 0x12;
4621pub const PT_IA_64_HP_HSL_ANOT: u32 = PT_LOOS + 0x13;
4622pub const PT_IA_64_HP_STACK: u32 = PT_LOOS + 0x14;
4623
4624pub const PF_IA_64_NORECOV: u32 = 0x8000_0000;
4627
4628pub const SHT_IA_64_EXT: u32 = SHT_LOPROC + 0;
4631pub const SHT_IA_64_UNWIND: u32 = SHT_LOPROC + 1;
4633
4634pub const SHF_IA_64_SHORT: u32 = 0x1000_0000;
4637pub const SHF_IA_64_NORECOV: u32 = 0x2000_0000;
4639
4640pub const DT_IA_64_PLT_RESERVE: i64 = DT_LOPROC + 0;
4642
4643pub const R_IA64_NONE: u32 = 0x00;
4646pub const R_IA64_IMM14: u32 = 0x21;
4648pub const R_IA64_IMM22: u32 = 0x22;
4650pub const R_IA64_IMM64: u32 = 0x23;
4652pub const R_IA64_DIR32MSB: u32 = 0x24;
4654pub const R_IA64_DIR32LSB: u32 = 0x25;
4656pub const R_IA64_DIR64MSB: u32 = 0x26;
4658pub const R_IA64_DIR64LSB: u32 = 0x27;
4660pub const R_IA64_GPREL22: u32 = 0x2a;
4662pub const R_IA64_GPREL64I: u32 = 0x2b;
4664pub const R_IA64_GPREL32MSB: u32 = 0x2c;
4666pub const R_IA64_GPREL32LSB: u32 = 0x2d;
4668pub const R_IA64_GPREL64MSB: u32 = 0x2e;
4670pub const R_IA64_GPREL64LSB: u32 = 0x2f;
4672pub const R_IA64_LTOFF22: u32 = 0x32;
4674pub const R_IA64_LTOFF64I: u32 = 0x33;
4676pub const R_IA64_PLTOFF22: u32 = 0x3a;
4678pub const R_IA64_PLTOFF64I: u32 = 0x3b;
4680pub const R_IA64_PLTOFF64MSB: u32 = 0x3e;
4682pub const R_IA64_PLTOFF64LSB: u32 = 0x3f;
4684pub const R_IA64_FPTR64I: u32 = 0x43;
4686pub const R_IA64_FPTR32MSB: u32 = 0x44;
4688pub const R_IA64_FPTR32LSB: u32 = 0x45;
4690pub const R_IA64_FPTR64MSB: u32 = 0x46;
4692pub const R_IA64_FPTR64LSB: u32 = 0x47;
4694pub const R_IA64_PCREL60B: u32 = 0x48;
4696pub const R_IA64_PCREL21B: u32 = 0x49;
4698pub const R_IA64_PCREL21M: u32 = 0x4a;
4700pub const R_IA64_PCREL21F: u32 = 0x4b;
4702pub const R_IA64_PCREL32MSB: u32 = 0x4c;
4704pub const R_IA64_PCREL32LSB: u32 = 0x4d;
4706pub const R_IA64_PCREL64MSB: u32 = 0x4e;
4708pub const R_IA64_PCREL64LSB: u32 = 0x4f;
4710pub const R_IA64_LTOFF_FPTR22: u32 = 0x52;
4712pub const R_IA64_LTOFF_FPTR64I: u32 = 0x53;
4714pub const R_IA64_LTOFF_FPTR32MSB: u32 = 0x54;
4716pub const R_IA64_LTOFF_FPTR32LSB: u32 = 0x55;
4718pub const R_IA64_LTOFF_FPTR64MSB: u32 = 0x56;
4720pub const R_IA64_LTOFF_FPTR64LSB: u32 = 0x57;
4722pub const R_IA64_SEGREL32MSB: u32 = 0x5c;
4724pub const R_IA64_SEGREL32LSB: u32 = 0x5d;
4726pub const R_IA64_SEGREL64MSB: u32 = 0x5e;
4728pub const R_IA64_SEGREL64LSB: u32 = 0x5f;
4730pub const R_IA64_SECREL32MSB: u32 = 0x64;
4732pub const R_IA64_SECREL32LSB: u32 = 0x65;
4734pub const R_IA64_SECREL64MSB: u32 = 0x66;
4736pub const R_IA64_SECREL64LSB: u32 = 0x67;
4738pub const R_IA64_REL32MSB: u32 = 0x6c;
4740pub const R_IA64_REL32LSB: u32 = 0x6d;
4742pub const R_IA64_REL64MSB: u32 = 0x6e;
4744pub const R_IA64_REL64LSB: u32 = 0x6f;
4746pub const R_IA64_LTV32MSB: u32 = 0x74;
4748pub const R_IA64_LTV32LSB: u32 = 0x75;
4750pub const R_IA64_LTV64MSB: u32 = 0x76;
4752pub const R_IA64_LTV64LSB: u32 = 0x77;
4754pub const R_IA64_PCREL21BI: u32 = 0x79;
4756pub const R_IA64_PCREL22: u32 = 0x7a;
4758pub const R_IA64_PCREL64I: u32 = 0x7b;
4760pub const R_IA64_IPLTMSB: u32 = 0x80;
4762pub const R_IA64_IPLTLSB: u32 = 0x81;
4764pub const R_IA64_COPY: u32 = 0x84;
4766pub const R_IA64_SUB: u32 = 0x85;
4768pub const R_IA64_LTOFF22X: u32 = 0x86;
4770pub const R_IA64_LDXMOV: u32 = 0x87;
4772pub const R_IA64_TPREL14: u32 = 0x91;
4774pub const R_IA64_TPREL22: u32 = 0x92;
4776pub const R_IA64_TPREL64I: u32 = 0x93;
4778pub const R_IA64_TPREL64MSB: u32 = 0x96;
4780pub const R_IA64_TPREL64LSB: u32 = 0x97;
4782pub const R_IA64_LTOFF_TPREL22: u32 = 0x9a;
4784pub const R_IA64_DTPMOD64MSB: u32 = 0xa6;
4786pub const R_IA64_DTPMOD64LSB: u32 = 0xa7;
4788pub const R_IA64_LTOFF_DTPMOD22: u32 = 0xaa;
4790pub const R_IA64_DTPREL14: u32 = 0xb1;
4792pub const R_IA64_DTPREL22: u32 = 0xb2;
4794pub const R_IA64_DTPREL64I: u32 = 0xb3;
4796pub const R_IA64_DTPREL32MSB: u32 = 0xb4;
4798pub const R_IA64_DTPREL32LSB: u32 = 0xb5;
4800pub const R_IA64_DTPREL64MSB: u32 = 0xb6;
4802pub const R_IA64_DTPREL64LSB: u32 = 0xb7;
4804pub const R_IA64_LTOFF_DTPREL22: u32 = 0xba;
4806
4807pub const EF_SH_MACH_MASK: u32 = 0x1f;
4811pub const EF_SH_UNKNOWN: u32 = 0x0;
4812pub const EF_SH1: u32 = 0x1;
4813pub const EF_SH2: u32 = 0x2;
4814pub const EF_SH3: u32 = 0x3;
4815pub const EF_SH_DSP: u32 = 0x4;
4816pub const EF_SH3_DSP: u32 = 0x5;
4817pub const EF_SH4AL_DSP: u32 = 0x6;
4818pub const EF_SH3E: u32 = 0x8;
4819pub const EF_SH4: u32 = 0x9;
4820pub const EF_SH2E: u32 = 0xb;
4821pub const EF_SH4A: u32 = 0xc;
4822pub const EF_SH2A: u32 = 0xd;
4823pub const EF_SH4_NOFPU: u32 = 0x10;
4824pub const EF_SH4A_NOFPU: u32 = 0x11;
4825pub const EF_SH4_NOMMU_NOFPU: u32 = 0x12;
4826pub const EF_SH2A_NOFPU: u32 = 0x13;
4827pub const EF_SH3_NOMMU: u32 = 0x14;
4828pub const EF_SH2A_SH4_NOFPU: u32 = 0x15;
4829pub const EF_SH2A_SH3_NOFPU: u32 = 0x16;
4830pub const EF_SH2A_SH4: u32 = 0x17;
4831pub const EF_SH2A_SH3E: u32 = 0x18;
4832
4833pub const R_SH_NONE: u32 = 0;
4835pub const R_SH_DIR32: u32 = 1;
4836pub const R_SH_REL32: u32 = 2;
4837pub const R_SH_DIR8WPN: u32 = 3;
4838pub const R_SH_IND12W: u32 = 4;
4839pub const R_SH_DIR8WPL: u32 = 5;
4840pub const R_SH_DIR8WPZ: u32 = 6;
4841pub const R_SH_DIR8BP: u32 = 7;
4842pub const R_SH_DIR8W: u32 = 8;
4843pub const R_SH_DIR8L: u32 = 9;
4844pub const R_SH_SWITCH16: u32 = 25;
4845pub const R_SH_SWITCH32: u32 = 26;
4846pub const R_SH_USES: u32 = 27;
4847pub const R_SH_COUNT: u32 = 28;
4848pub const R_SH_ALIGN: u32 = 29;
4849pub const R_SH_CODE: u32 = 30;
4850pub const R_SH_DATA: u32 = 31;
4851pub const R_SH_LABEL: u32 = 32;
4852pub const R_SH_SWITCH8: u32 = 33;
4853pub const R_SH_GNU_VTINHERIT: u32 = 34;
4854pub const R_SH_GNU_VTENTRY: u32 = 35;
4855pub const R_SH_TLS_GD_32: u32 = 144;
4856pub const R_SH_TLS_LD_32: u32 = 145;
4857pub const R_SH_TLS_LDO_32: u32 = 146;
4858pub const R_SH_TLS_IE_32: u32 = 147;
4859pub const R_SH_TLS_LE_32: u32 = 148;
4860pub const R_SH_TLS_DTPMOD32: u32 = 149;
4861pub const R_SH_TLS_DTPOFF32: u32 = 150;
4862pub const R_SH_TLS_TPOFF32: u32 = 151;
4863pub const R_SH_GOT32: u32 = 160;
4864pub const R_SH_PLT32: u32 = 161;
4865pub const R_SH_COPY: u32 = 162;
4866pub const R_SH_GLOB_DAT: u32 = 163;
4867pub const R_SH_JMP_SLOT: u32 = 164;
4868pub const R_SH_RELATIVE: u32 = 165;
4869pub const R_SH_GOTOFF: u32 = 166;
4870pub const R_SH_GOTPC: u32 = 167;
4871
4872pub const EF_S390_HIGH_GPRS: u32 = 0x0000_0001;
4878
4879pub const R_390_NONE: u32 = 0;
4883pub const R_390_8: u32 = 1;
4885pub const R_390_12: u32 = 2;
4887pub const R_390_16: u32 = 3;
4889pub const R_390_32: u32 = 4;
4891pub const R_390_PC32: u32 = 5;
4893pub const R_390_GOT12: u32 = 6;
4895pub const R_390_GOT32: u32 = 7;
4897pub const R_390_PLT32: u32 = 8;
4899pub const R_390_COPY: u32 = 9;
4901pub const R_390_GLOB_DAT: u32 = 10;
4903pub const R_390_JMP_SLOT: u32 = 11;
4905pub const R_390_RELATIVE: u32 = 12;
4907pub const R_390_GOTOFF32: u32 = 13;
4909pub const R_390_GOTPC: u32 = 14;
4911pub const R_390_GOT16: u32 = 15;
4913pub const R_390_PC16: u32 = 16;
4915pub const R_390_PC16DBL: u32 = 17;
4917pub const R_390_PLT16DBL: u32 = 18;
4919pub const R_390_PC32DBL: u32 = 19;
4921pub const R_390_PLT32DBL: u32 = 20;
4923pub const R_390_GOTPCDBL: u32 = 21;
4925pub const R_390_64: u32 = 22;
4927pub const R_390_PC64: u32 = 23;
4929pub const R_390_GOT64: u32 = 24;
4931pub const R_390_PLT64: u32 = 25;
4933pub const R_390_GOTENT: u32 = 26;
4935pub const R_390_GOTOFF16: u32 = 27;
4937pub const R_390_GOTOFF64: u32 = 28;
4939pub const R_390_GOTPLT12: u32 = 29;
4941pub const R_390_GOTPLT16: u32 = 30;
4943pub const R_390_GOTPLT32: u32 = 31;
4945pub const R_390_GOTPLT64: u32 = 32;
4947pub const R_390_GOTPLTENT: u32 = 33;
4949pub const R_390_PLTOFF16: u32 = 34;
4951pub const R_390_PLTOFF32: u32 = 35;
4953pub const R_390_PLTOFF64: u32 = 36;
4955pub const R_390_TLS_LOAD: u32 = 37;
4957pub const R_390_TLS_GDCALL: u32 = 38;
4959pub const R_390_TLS_LDCALL: u32 = 39;
4961pub const R_390_TLS_GD32: u32 = 40;
4963pub const R_390_TLS_GD64: u32 = 41;
4965pub const R_390_TLS_GOTIE12: u32 = 42;
4967pub const R_390_TLS_GOTIE32: u32 = 43;
4969pub const R_390_TLS_GOTIE64: u32 = 44;
4971pub const R_390_TLS_LDM32: u32 = 45;
4973pub const R_390_TLS_LDM64: u32 = 46;
4975pub const R_390_TLS_IE32: u32 = 47;
4977pub const R_390_TLS_IE64: u32 = 48;
4979pub const R_390_TLS_IEENT: u32 = 49;
4981pub const R_390_TLS_LE32: u32 = 50;
4983pub const R_390_TLS_LE64: u32 = 51;
4985pub const R_390_TLS_LDO32: u32 = 52;
4987pub const R_390_TLS_LDO64: u32 = 53;
4989pub const R_390_TLS_DTPMOD: u32 = 54;
4991pub const R_390_TLS_DTPOFF: u32 = 55;
4993pub const R_390_TLS_TPOFF: u32 = 56;
4995pub const R_390_20: u32 = 57;
4997pub const R_390_GOT20: u32 = 58;
4999pub const R_390_GOTPLT20: u32 = 59;
5001pub const R_390_TLS_GOTIE20: u32 = 60;
5003pub const R_390_IRELATIVE: u32 = 61;
5005
5006pub const R_CRIS_NONE: u32 = 0;
5008pub const R_CRIS_8: u32 = 1;
5009pub const R_CRIS_16: u32 = 2;
5010pub const R_CRIS_32: u32 = 3;
5011pub const R_CRIS_8_PCREL: u32 = 4;
5012pub const R_CRIS_16_PCREL: u32 = 5;
5013pub const R_CRIS_32_PCREL: u32 = 6;
5014pub const R_CRIS_GNU_VTINHERIT: u32 = 7;
5015pub const R_CRIS_GNU_VTENTRY: u32 = 8;
5016pub const R_CRIS_COPY: u32 = 9;
5017pub const R_CRIS_GLOB_DAT: u32 = 10;
5018pub const R_CRIS_JUMP_SLOT: u32 = 11;
5019pub const R_CRIS_RELATIVE: u32 = 12;
5020pub const R_CRIS_16_GOT: u32 = 13;
5021pub const R_CRIS_32_GOT: u32 = 14;
5022pub const R_CRIS_16_GOTPLT: u32 = 15;
5023pub const R_CRIS_32_GOTPLT: u32 = 16;
5024pub const R_CRIS_32_GOTREL: u32 = 17;
5025pub const R_CRIS_32_PLT_GOTREL: u32 = 18;
5026pub const R_CRIS_32_PLT_PCREL: u32 = 19;
5027
5028pub const R_X86_64_NONE: u32 = 0;
5031pub const R_X86_64_64: u32 = 1;
5033pub const R_X86_64_PC32: u32 = 2;
5035pub const R_X86_64_GOT32: u32 = 3;
5037pub const R_X86_64_PLT32: u32 = 4;
5039pub const R_X86_64_COPY: u32 = 5;
5041pub const R_X86_64_GLOB_DAT: u32 = 6;
5043pub const R_X86_64_JUMP_SLOT: u32 = 7;
5045pub const R_X86_64_RELATIVE: u32 = 8;
5047pub const R_X86_64_GOTPCREL: u32 = 9;
5049pub const R_X86_64_32: u32 = 10;
5051pub const R_X86_64_32S: u32 = 11;
5053pub const R_X86_64_16: u32 = 12;
5055pub const R_X86_64_PC16: u32 = 13;
5057pub const R_X86_64_8: u32 = 14;
5059pub const R_X86_64_PC8: u32 = 15;
5061pub const R_X86_64_DTPMOD64: u32 = 16;
5063pub const R_X86_64_DTPOFF64: u32 = 17;
5065pub const R_X86_64_TPOFF64: u32 = 18;
5067pub const R_X86_64_TLSGD: u32 = 19;
5069pub const R_X86_64_TLSLD: u32 = 20;
5071pub const R_X86_64_DTPOFF32: u32 = 21;
5073pub const R_X86_64_GOTTPOFF: u32 = 22;
5075pub const R_X86_64_TPOFF32: u32 = 23;
5077pub const R_X86_64_PC64: u32 = 24;
5079pub const R_X86_64_GOTOFF64: u32 = 25;
5081pub const R_X86_64_GOTPC32: u32 = 26;
5083pub const R_X86_64_GOT64: u32 = 27;
5085pub const R_X86_64_GOTPCREL64: u32 = 28;
5087pub const R_X86_64_GOTPC64: u32 = 29;
5089pub const R_X86_64_GOTPLT64: u32 = 30;
5091pub const R_X86_64_PLTOFF64: u32 = 31;
5093pub const R_X86_64_SIZE32: u32 = 32;
5095pub const R_X86_64_SIZE64: u32 = 33;
5097pub const R_X86_64_GOTPC32_TLSDESC: u32 = 34;
5099pub const R_X86_64_TLSDESC_CALL: u32 = 35;
5101pub const R_X86_64_TLSDESC: u32 = 36;
5103pub const R_X86_64_IRELATIVE: u32 = 37;
5105pub const R_X86_64_RELATIVE64: u32 = 38;
5107pub const R_X86_64_GOTPCRELX: u32 = 41;
5111pub const R_X86_64_REX_GOTPCRELX: u32 = 42;
5113pub const R_X86_64_CODE_4_GOTPCRELX: u32 = 43;
5115pub const R_X86_64_CODE_4_GOTTPOFF: u32 = 44;
5117pub const R_X86_64_CODE_4_GOTPC32_TLSDESC: u32 = 45;
5119pub const R_X86_64_CODE_5_GOTPCRELX: u32 = 46;
5121pub const R_X86_64_CODE_5_GOTTPOFF: u32 = 47;
5123pub const R_X86_64_CODE_5_GOTPC32_TLSDESC: u32 = 48;
5125pub const R_X86_64_CODE_6_GOTPCRELX: u32 = 49;
5127pub const R_X86_64_CODE_6_GOTTPOFF: u32 = 50;
5129pub const R_X86_64_CODE_6_GOTPC32_TLSDESC: u32 = 51;
5131
5132pub const SHT_X86_64_UNWIND: u32 = 0x7000_0001;
5135
5136pub const R_MN10300_NONE: u32 = 0;
5139pub const R_MN10300_32: u32 = 1;
5141pub const R_MN10300_16: u32 = 2;
5143pub const R_MN10300_8: u32 = 3;
5145pub const R_MN10300_PCREL32: u32 = 4;
5147pub const R_MN10300_PCREL16: u32 = 5;
5149pub const R_MN10300_PCREL8: u32 = 6;
5151pub const R_MN10300_GNU_VTINHERIT: u32 = 7;
5153pub const R_MN10300_GNU_VTENTRY: u32 = 8;
5155pub const R_MN10300_24: u32 = 9;
5157pub const R_MN10300_GOTPC32: u32 = 10;
5159pub const R_MN10300_GOTPC16: u32 = 11;
5161pub const R_MN10300_GOTOFF32: u32 = 12;
5163pub const R_MN10300_GOTOFF24: u32 = 13;
5165pub const R_MN10300_GOTOFF16: u32 = 14;
5167pub const R_MN10300_PLT32: u32 = 15;
5169pub const R_MN10300_PLT16: u32 = 16;
5171pub const R_MN10300_GOT32: u32 = 17;
5173pub const R_MN10300_GOT24: u32 = 18;
5175pub const R_MN10300_GOT16: u32 = 19;
5177pub const R_MN10300_COPY: u32 = 20;
5179pub const R_MN10300_GLOB_DAT: u32 = 21;
5181pub const R_MN10300_JMP_SLOT: u32 = 22;
5183pub const R_MN10300_RELATIVE: u32 = 23;
5185pub const R_MN10300_TLS_GD: u32 = 24;
5187pub const R_MN10300_TLS_LD: u32 = 25;
5189pub const R_MN10300_TLS_LDO: u32 = 26;
5191pub const R_MN10300_TLS_GOTIE: u32 = 27;
5193pub const R_MN10300_TLS_IE: u32 = 28;
5195pub const R_MN10300_TLS_LE: u32 = 29;
5197pub const R_MN10300_TLS_DTPMOD: u32 = 30;
5199pub const R_MN10300_TLS_DTPOFF: u32 = 31;
5201pub const R_MN10300_TLS_TPOFF: u32 = 32;
5203pub const R_MN10300_SYM_DIFF: u32 = 33;
5205pub const R_MN10300_ALIGN: u32 = 34;
5207
5208pub const R_M32R_NONE: u32 = 0;
5211pub const R_M32R_16: u32 = 1;
5213pub const R_M32R_32: u32 = 2;
5215pub const R_M32R_24: u32 = 3;
5217pub const R_M32R_10_PCREL: u32 = 4;
5219pub const R_M32R_18_PCREL: u32 = 5;
5221pub const R_M32R_26_PCREL: u32 = 6;
5223pub const R_M32R_HI16_ULO: u32 = 7;
5225pub const R_M32R_HI16_SLO: u32 = 8;
5227pub const R_M32R_LO16: u32 = 9;
5229pub const R_M32R_SDA16: u32 = 10;
5231pub const R_M32R_GNU_VTINHERIT: u32 = 11;
5232pub const R_M32R_GNU_VTENTRY: u32 = 12;
5233pub const R_M32R_16_RELA: u32 = 33;
5236pub const R_M32R_32_RELA: u32 = 34;
5238pub const R_M32R_24_RELA: u32 = 35;
5240pub const R_M32R_10_PCREL_RELA: u32 = 36;
5242pub const R_M32R_18_PCREL_RELA: u32 = 37;
5244pub const R_M32R_26_PCREL_RELA: u32 = 38;
5246pub const R_M32R_HI16_ULO_RELA: u32 = 39;
5248pub const R_M32R_HI16_SLO_RELA: u32 = 40;
5250pub const R_M32R_LO16_RELA: u32 = 41;
5252pub const R_M32R_SDA16_RELA: u32 = 42;
5254pub const R_M32R_RELA_GNU_VTINHERIT: u32 = 43;
5255pub const R_M32R_RELA_GNU_VTENTRY: u32 = 44;
5256pub const R_M32R_REL32: u32 = 45;
5258
5259pub const R_M32R_GOT24: u32 = 48;
5261pub const R_M32R_26_PLTREL: u32 = 49;
5263pub const R_M32R_COPY: u32 = 50;
5265pub const R_M32R_GLOB_DAT: u32 = 51;
5267pub const R_M32R_JMP_SLOT: u32 = 52;
5269pub const R_M32R_RELATIVE: u32 = 53;
5271pub const R_M32R_GOTOFF: u32 = 54;
5273pub const R_M32R_GOTPC24: u32 = 55;
5275pub const R_M32R_GOT16_HI_ULO: u32 = 56;
5277pub const R_M32R_GOT16_HI_SLO: u32 = 57;
5279pub const R_M32R_GOT16_LO: u32 = 58;
5281pub const R_M32R_GOTPC_HI_ULO: u32 = 59;
5283pub const R_M32R_GOTPC_HI_SLO: u32 = 60;
5285pub const R_M32R_GOTPC_LO: u32 = 61;
5287pub const R_M32R_GOTOFF_HI_ULO: u32 = 62;
5289pub const R_M32R_GOTOFF_HI_SLO: u32 = 63;
5291pub const R_M32R_GOTOFF_LO: u32 = 64;
5293pub const R_M32R_NUM: u32 = 256;
5295
5296pub const R_MICROBLAZE_NONE: u32 = 0;
5299pub const R_MICROBLAZE_32: u32 = 1;
5301pub const R_MICROBLAZE_32_PCREL: u32 = 2;
5303pub const R_MICROBLAZE_64_PCREL: u32 = 3;
5305pub const R_MICROBLAZE_32_PCREL_LO: u32 = 4;
5307pub const R_MICROBLAZE_64: u32 = 5;
5309pub const R_MICROBLAZE_32_LO: u32 = 6;
5311pub const R_MICROBLAZE_SRO32: u32 = 7;
5313pub const R_MICROBLAZE_SRW32: u32 = 8;
5315pub const R_MICROBLAZE_64_NONE: u32 = 9;
5317pub const R_MICROBLAZE_32_SYM_OP_SYM: u32 = 10;
5319pub const R_MICROBLAZE_GNU_VTINHERIT: u32 = 11;
5321pub const R_MICROBLAZE_GNU_VTENTRY: u32 = 12;
5323pub const R_MICROBLAZE_GOTPC_64: u32 = 13;
5325pub const R_MICROBLAZE_GOT_64: u32 = 14;
5327pub const R_MICROBLAZE_PLT_64: u32 = 15;
5329pub const R_MICROBLAZE_REL: u32 = 16;
5331pub const R_MICROBLAZE_JUMP_SLOT: u32 = 17;
5333pub const R_MICROBLAZE_GLOB_DAT: u32 = 18;
5335pub const R_MICROBLAZE_GOTOFF_64: u32 = 19;
5337pub const R_MICROBLAZE_GOTOFF_32: u32 = 20;
5339pub const R_MICROBLAZE_COPY: u32 = 21;
5341pub const R_MICROBLAZE_TLS: u32 = 22;
5343pub const R_MICROBLAZE_TLSGD: u32 = 23;
5345pub const R_MICROBLAZE_TLSLD: u32 = 24;
5347pub const R_MICROBLAZE_TLSDTPMOD32: u32 = 25;
5349pub const R_MICROBLAZE_TLSDTPREL32: u32 = 26;
5351pub const R_MICROBLAZE_TLSDTPREL64: u32 = 27;
5353pub const R_MICROBLAZE_TLSGOTTPREL32: u32 = 28;
5355pub const R_MICROBLAZE_TLSTPREL32: u32 = 29;
5357
5358pub const DT_NIOS2_GP: i64 = 0x7000_0002;
5361
5362pub const R_NIOS2_NONE: u32 = 0;
5365pub const R_NIOS2_S16: u32 = 1;
5367pub const R_NIOS2_U16: u32 = 2;
5369pub const R_NIOS2_PCREL16: u32 = 3;
5371pub const R_NIOS2_CALL26: u32 = 4;
5373pub const R_NIOS2_IMM5: u32 = 5;
5375pub const R_NIOS2_CACHE_OPX: u32 = 6;
5377pub const R_NIOS2_IMM6: u32 = 7;
5379pub const R_NIOS2_IMM8: u32 = 8;
5381pub const R_NIOS2_HI16: u32 = 9;
5383pub const R_NIOS2_LO16: u32 = 10;
5385pub const R_NIOS2_HIADJ16: u32 = 11;
5387pub const R_NIOS2_BFD_RELOC_32: u32 = 12;
5389pub const R_NIOS2_BFD_RELOC_16: u32 = 13;
5391pub const R_NIOS2_BFD_RELOC_8: u32 = 14;
5393pub const R_NIOS2_GPREL: u32 = 15;
5395pub const R_NIOS2_GNU_VTINHERIT: u32 = 16;
5397pub const R_NIOS2_GNU_VTENTRY: u32 = 17;
5399pub const R_NIOS2_UJMP: u32 = 18;
5401pub const R_NIOS2_CJMP: u32 = 19;
5403pub const R_NIOS2_CALLR: u32 = 20;
5405pub const R_NIOS2_ALIGN: u32 = 21;
5407pub const R_NIOS2_GOT16: u32 = 22;
5409pub const R_NIOS2_CALL16: u32 = 23;
5411pub const R_NIOS2_GOTOFF_LO: u32 = 24;
5413pub const R_NIOS2_GOTOFF_HA: u32 = 25;
5415pub const R_NIOS2_PCREL_LO: u32 = 26;
5417pub const R_NIOS2_PCREL_HA: u32 = 27;
5419pub const R_NIOS2_TLS_GD16: u32 = 28;
5421pub const R_NIOS2_TLS_LDM16: u32 = 29;
5423pub const R_NIOS2_TLS_LDO16: u32 = 30;
5425pub const R_NIOS2_TLS_IE16: u32 = 31;
5427pub const R_NIOS2_TLS_LE16: u32 = 32;
5429pub const R_NIOS2_TLS_DTPMOD: u32 = 33;
5431pub const R_NIOS2_TLS_DTPREL: u32 = 34;
5433pub const R_NIOS2_TLS_TPREL: u32 = 35;
5435pub const R_NIOS2_COPY: u32 = 36;
5437pub const R_NIOS2_GLOB_DAT: u32 = 37;
5439pub const R_NIOS2_JUMP_SLOT: u32 = 38;
5441pub const R_NIOS2_RELATIVE: u32 = 39;
5443pub const R_NIOS2_GOTOFF: u32 = 40;
5445pub const R_NIOS2_CALL26_NOAT: u32 = 41;
5447pub const R_NIOS2_GOT_LO: u32 = 42;
5449pub const R_NIOS2_GOT_HA: u32 = 43;
5451pub const R_NIOS2_CALL_LO: u32 = 44;
5453pub const R_NIOS2_CALL_HA: u32 = 45;
5455
5456pub const R_TILEPRO_NONE: u32 = 0;
5459pub const R_TILEPRO_32: u32 = 1;
5461pub const R_TILEPRO_16: u32 = 2;
5463pub const R_TILEPRO_8: u32 = 3;
5465pub const R_TILEPRO_32_PCREL: u32 = 4;
5467pub const R_TILEPRO_16_PCREL: u32 = 5;
5469pub const R_TILEPRO_8_PCREL: u32 = 6;
5471pub const R_TILEPRO_LO16: u32 = 7;
5473pub const R_TILEPRO_HI16: u32 = 8;
5475pub const R_TILEPRO_HA16: u32 = 9;
5477pub const R_TILEPRO_COPY: u32 = 10;
5479pub const R_TILEPRO_GLOB_DAT: u32 = 11;
5481pub const R_TILEPRO_JMP_SLOT: u32 = 12;
5483pub const R_TILEPRO_RELATIVE: u32 = 13;
5485pub const R_TILEPRO_BROFF_X1: u32 = 14;
5487pub const R_TILEPRO_JOFFLONG_X1: u32 = 15;
5489pub const R_TILEPRO_JOFFLONG_X1_PLT: u32 = 16;
5491pub const R_TILEPRO_IMM8_X0: u32 = 17;
5493pub const R_TILEPRO_IMM8_Y0: u32 = 18;
5495pub const R_TILEPRO_IMM8_X1: u32 = 19;
5497pub const R_TILEPRO_IMM8_Y1: u32 = 20;
5499pub const R_TILEPRO_MT_IMM15_X1: u32 = 21;
5501pub const R_TILEPRO_MF_IMM15_X1: u32 = 22;
5503pub const R_TILEPRO_IMM16_X0: u32 = 23;
5505pub const R_TILEPRO_IMM16_X1: u32 = 24;
5507pub const R_TILEPRO_IMM16_X0_LO: u32 = 25;
5509pub const R_TILEPRO_IMM16_X1_LO: u32 = 26;
5511pub const R_TILEPRO_IMM16_X0_HI: u32 = 27;
5513pub const R_TILEPRO_IMM16_X1_HI: u32 = 28;
5515pub const R_TILEPRO_IMM16_X0_HA: u32 = 29;
5517pub const R_TILEPRO_IMM16_X1_HA: u32 = 30;
5519pub const R_TILEPRO_IMM16_X0_PCREL: u32 = 31;
5521pub const R_TILEPRO_IMM16_X1_PCREL: u32 = 32;
5523pub const R_TILEPRO_IMM16_X0_LO_PCREL: u32 = 33;
5525pub const R_TILEPRO_IMM16_X1_LO_PCREL: u32 = 34;
5527pub const R_TILEPRO_IMM16_X0_HI_PCREL: u32 = 35;
5529pub const R_TILEPRO_IMM16_X1_HI_PCREL: u32 = 36;
5531pub const R_TILEPRO_IMM16_X0_HA_PCREL: u32 = 37;
5533pub const R_TILEPRO_IMM16_X1_HA_PCREL: u32 = 38;
5535pub const R_TILEPRO_IMM16_X0_GOT: u32 = 39;
5537pub const R_TILEPRO_IMM16_X1_GOT: u32 = 40;
5539pub const R_TILEPRO_IMM16_X0_GOT_LO: u32 = 41;
5541pub const R_TILEPRO_IMM16_X1_GOT_LO: u32 = 42;
5543pub const R_TILEPRO_IMM16_X0_GOT_HI: u32 = 43;
5545pub const R_TILEPRO_IMM16_X1_GOT_HI: u32 = 44;
5547pub const R_TILEPRO_IMM16_X0_GOT_HA: u32 = 45;
5549pub const R_TILEPRO_IMM16_X1_GOT_HA: u32 = 46;
5551pub const R_TILEPRO_MMSTART_X0: u32 = 47;
5553pub const R_TILEPRO_MMEND_X0: u32 = 48;
5555pub const R_TILEPRO_MMSTART_X1: u32 = 49;
5557pub const R_TILEPRO_MMEND_X1: u32 = 50;
5559pub const R_TILEPRO_SHAMT_X0: u32 = 51;
5561pub const R_TILEPRO_SHAMT_X1: u32 = 52;
5563pub const R_TILEPRO_SHAMT_Y0: u32 = 53;
5565pub const R_TILEPRO_SHAMT_Y1: u32 = 54;
5567pub const R_TILEPRO_DEST_IMM8_X1: u32 = 55;
5569pub const R_TILEPRO_TLS_GD_CALL: u32 = 60;
5572pub const R_TILEPRO_IMM8_X0_TLS_GD_ADD: u32 = 61;
5574pub const R_TILEPRO_IMM8_X1_TLS_GD_ADD: u32 = 62;
5576pub const R_TILEPRO_IMM8_Y0_TLS_GD_ADD: u32 = 63;
5578pub const R_TILEPRO_IMM8_Y1_TLS_GD_ADD: u32 = 64;
5580pub const R_TILEPRO_TLS_IE_LOAD: u32 = 65;
5582pub const R_TILEPRO_IMM16_X0_TLS_GD: u32 = 66;
5584pub const R_TILEPRO_IMM16_X1_TLS_GD: u32 = 67;
5586pub const R_TILEPRO_IMM16_X0_TLS_GD_LO: u32 = 68;
5588pub const R_TILEPRO_IMM16_X1_TLS_GD_LO: u32 = 69;
5590pub const R_TILEPRO_IMM16_X0_TLS_GD_HI: u32 = 70;
5592pub const R_TILEPRO_IMM16_X1_TLS_GD_HI: u32 = 71;
5594pub const R_TILEPRO_IMM16_X0_TLS_GD_HA: u32 = 72;
5596pub const R_TILEPRO_IMM16_X1_TLS_GD_HA: u32 = 73;
5598pub const R_TILEPRO_IMM16_X0_TLS_IE: u32 = 74;
5600pub const R_TILEPRO_IMM16_X1_TLS_IE: u32 = 75;
5602pub const R_TILEPRO_IMM16_X0_TLS_IE_LO: u32 = 76;
5604pub const R_TILEPRO_IMM16_X1_TLS_IE_LO: u32 = 77;
5606pub const R_TILEPRO_IMM16_X0_TLS_IE_HI: u32 = 78;
5608pub const R_TILEPRO_IMM16_X1_TLS_IE_HI: u32 = 79;
5610pub const R_TILEPRO_IMM16_X0_TLS_IE_HA: u32 = 80;
5612pub const R_TILEPRO_IMM16_X1_TLS_IE_HA: u32 = 81;
5614pub const R_TILEPRO_TLS_DTPMOD32: u32 = 82;
5616pub const R_TILEPRO_TLS_DTPOFF32: u32 = 83;
5618pub const R_TILEPRO_TLS_TPOFF32: u32 = 84;
5620pub const R_TILEPRO_IMM16_X0_TLS_LE: u32 = 85;
5622pub const R_TILEPRO_IMM16_X1_TLS_LE: u32 = 86;
5624pub const R_TILEPRO_IMM16_X0_TLS_LE_LO: u32 = 87;
5626pub const R_TILEPRO_IMM16_X1_TLS_LE_LO: u32 = 88;
5628pub const R_TILEPRO_IMM16_X0_TLS_LE_HI: u32 = 89;
5630pub const R_TILEPRO_IMM16_X1_TLS_LE_HI: u32 = 90;
5632pub const R_TILEPRO_IMM16_X0_TLS_LE_HA: u32 = 91;
5634pub const R_TILEPRO_IMM16_X1_TLS_LE_HA: u32 = 92;
5636
5637pub const R_TILEPRO_GNU_VTINHERIT: u32 = 128;
5639pub const R_TILEPRO_GNU_VTENTRY: u32 = 129;
5641
5642pub const R_TILEGX_NONE: u32 = 0;
5645pub const R_TILEGX_64: u32 = 1;
5647pub const R_TILEGX_32: u32 = 2;
5649pub const R_TILEGX_16: u32 = 3;
5651pub const R_TILEGX_8: u32 = 4;
5653pub const R_TILEGX_64_PCREL: u32 = 5;
5655pub const R_TILEGX_32_PCREL: u32 = 6;
5657pub const R_TILEGX_16_PCREL: u32 = 7;
5659pub const R_TILEGX_8_PCREL: u32 = 8;
5661pub const R_TILEGX_HW0: u32 = 9;
5663pub const R_TILEGX_HW1: u32 = 10;
5665pub const R_TILEGX_HW2: u32 = 11;
5667pub const R_TILEGX_HW3: u32 = 12;
5669pub const R_TILEGX_HW0_LAST: u32 = 13;
5671pub const R_TILEGX_HW1_LAST: u32 = 14;
5673pub const R_TILEGX_HW2_LAST: u32 = 15;
5675pub const R_TILEGX_COPY: u32 = 16;
5677pub const R_TILEGX_GLOB_DAT: u32 = 17;
5679pub const R_TILEGX_JMP_SLOT: u32 = 18;
5681pub const R_TILEGX_RELATIVE: u32 = 19;
5683pub const R_TILEGX_BROFF_X1: u32 = 20;
5685pub const R_TILEGX_JUMPOFF_X1: u32 = 21;
5687pub const R_TILEGX_JUMPOFF_X1_PLT: u32 = 22;
5689pub const R_TILEGX_IMM8_X0: u32 = 23;
5691pub const R_TILEGX_IMM8_Y0: u32 = 24;
5693pub const R_TILEGX_IMM8_X1: u32 = 25;
5695pub const R_TILEGX_IMM8_Y1: u32 = 26;
5697pub const R_TILEGX_DEST_IMM8_X1: u32 = 27;
5699pub const R_TILEGX_MT_IMM14_X1: u32 = 28;
5701pub const R_TILEGX_MF_IMM14_X1: u32 = 29;
5703pub const R_TILEGX_MMSTART_X0: u32 = 30;
5705pub const R_TILEGX_MMEND_X0: u32 = 31;
5707pub const R_TILEGX_SHAMT_X0: u32 = 32;
5709pub const R_TILEGX_SHAMT_X1: u32 = 33;
5711pub const R_TILEGX_SHAMT_Y0: u32 = 34;
5713pub const R_TILEGX_SHAMT_Y1: u32 = 35;
5715pub const R_TILEGX_IMM16_X0_HW0: u32 = 36;
5717pub const R_TILEGX_IMM16_X1_HW0: u32 = 37;
5719pub const R_TILEGX_IMM16_X0_HW1: u32 = 38;
5721pub const R_TILEGX_IMM16_X1_HW1: u32 = 39;
5723pub const R_TILEGX_IMM16_X0_HW2: u32 = 40;
5725pub const R_TILEGX_IMM16_X1_HW2: u32 = 41;
5727pub const R_TILEGX_IMM16_X0_HW3: u32 = 42;
5729pub const R_TILEGX_IMM16_X1_HW3: u32 = 43;
5731pub const R_TILEGX_IMM16_X0_HW0_LAST: u32 = 44;
5733pub const R_TILEGX_IMM16_X1_HW0_LAST: u32 = 45;
5735pub const R_TILEGX_IMM16_X0_HW1_LAST: u32 = 46;
5737pub const R_TILEGX_IMM16_X1_HW1_LAST: u32 = 47;
5739pub const R_TILEGX_IMM16_X0_HW2_LAST: u32 = 48;
5741pub const R_TILEGX_IMM16_X1_HW2_LAST: u32 = 49;
5743pub const R_TILEGX_IMM16_X0_HW0_PCREL: u32 = 50;
5745pub const R_TILEGX_IMM16_X1_HW0_PCREL: u32 = 51;
5747pub const R_TILEGX_IMM16_X0_HW1_PCREL: u32 = 52;
5749pub const R_TILEGX_IMM16_X1_HW1_PCREL: u32 = 53;
5751pub const R_TILEGX_IMM16_X0_HW2_PCREL: u32 = 54;
5753pub const R_TILEGX_IMM16_X1_HW2_PCREL: u32 = 55;
5755pub const R_TILEGX_IMM16_X0_HW3_PCREL: u32 = 56;
5757pub const R_TILEGX_IMM16_X1_HW3_PCREL: u32 = 57;
5759pub const R_TILEGX_IMM16_X0_HW0_LAST_PCREL: u32 = 58;
5761pub const R_TILEGX_IMM16_X1_HW0_LAST_PCREL: u32 = 59;
5763pub const R_TILEGX_IMM16_X0_HW1_LAST_PCREL: u32 = 60;
5765pub const R_TILEGX_IMM16_X1_HW1_LAST_PCREL: u32 = 61;
5767pub const R_TILEGX_IMM16_X0_HW2_LAST_PCREL: u32 = 62;
5769pub const R_TILEGX_IMM16_X1_HW2_LAST_PCREL: u32 = 63;
5771pub const R_TILEGX_IMM16_X0_HW0_GOT: u32 = 64;
5773pub const R_TILEGX_IMM16_X1_HW0_GOT: u32 = 65;
5775pub const R_TILEGX_IMM16_X0_HW0_PLT_PCREL: u32 = 66;
5777pub const R_TILEGX_IMM16_X1_HW0_PLT_PCREL: u32 = 67;
5779pub const R_TILEGX_IMM16_X0_HW1_PLT_PCREL: u32 = 68;
5781pub const R_TILEGX_IMM16_X1_HW1_PLT_PCREL: u32 = 69;
5783pub const R_TILEGX_IMM16_X0_HW2_PLT_PCREL: u32 = 70;
5785pub const R_TILEGX_IMM16_X1_HW2_PLT_PCREL: u32 = 71;
5787pub const R_TILEGX_IMM16_X0_HW0_LAST_GOT: u32 = 72;
5789pub const R_TILEGX_IMM16_X1_HW0_LAST_GOT: u32 = 73;
5791pub const R_TILEGX_IMM16_X0_HW1_LAST_GOT: u32 = 74;
5793pub const R_TILEGX_IMM16_X1_HW1_LAST_GOT: u32 = 75;
5795pub const R_TILEGX_IMM16_X0_HW3_PLT_PCREL: u32 = 76;
5797pub const R_TILEGX_IMM16_X1_HW3_PLT_PCREL: u32 = 77;
5799pub const R_TILEGX_IMM16_X0_HW0_TLS_GD: u32 = 78;
5801pub const R_TILEGX_IMM16_X1_HW0_TLS_GD: u32 = 79;
5803pub const R_TILEGX_IMM16_X0_HW0_TLS_LE: u32 = 80;
5805pub const R_TILEGX_IMM16_X1_HW0_TLS_LE: u32 = 81;
5807pub const R_TILEGX_IMM16_X0_HW0_LAST_TLS_LE: u32 = 82;
5809pub const R_TILEGX_IMM16_X1_HW0_LAST_TLS_LE: u32 = 83;
5811pub const R_TILEGX_IMM16_X0_HW1_LAST_TLS_LE: u32 = 84;
5813pub const R_TILEGX_IMM16_X1_HW1_LAST_TLS_LE: u32 = 85;
5815pub const R_TILEGX_IMM16_X0_HW0_LAST_TLS_GD: u32 = 86;
5817pub const R_TILEGX_IMM16_X1_HW0_LAST_TLS_GD: u32 = 87;
5819pub const R_TILEGX_IMM16_X0_HW1_LAST_TLS_GD: u32 = 88;
5821pub const R_TILEGX_IMM16_X1_HW1_LAST_TLS_GD: u32 = 89;
5823pub const R_TILEGX_IMM16_X0_HW0_TLS_IE: u32 = 92;
5826pub const R_TILEGX_IMM16_X1_HW0_TLS_IE: u32 = 93;
5828pub const R_TILEGX_IMM16_X0_HW0_LAST_PLT_PCREL: u32 = 94;
5830pub const R_TILEGX_IMM16_X1_HW0_LAST_PLT_PCREL: u32 = 95;
5832pub const R_TILEGX_IMM16_X0_HW1_LAST_PLT_PCREL: u32 = 96;
5834pub const R_TILEGX_IMM16_X1_HW1_LAST_PLT_PCREL: u32 = 97;
5836pub const R_TILEGX_IMM16_X0_HW2_LAST_PLT_PCREL: u32 = 98;
5838pub const R_TILEGX_IMM16_X1_HW2_LAST_PLT_PCREL: u32 = 99;
5840pub const R_TILEGX_IMM16_X0_HW0_LAST_TLS_IE: u32 = 100;
5842pub const R_TILEGX_IMM16_X1_HW0_LAST_TLS_IE: u32 = 101;
5844pub const R_TILEGX_IMM16_X0_HW1_LAST_TLS_IE: u32 = 102;
5846pub const R_TILEGX_IMM16_X1_HW1_LAST_TLS_IE: u32 = 103;
5848pub const R_TILEGX_TLS_DTPMOD64: u32 = 106;
5851pub const R_TILEGX_TLS_DTPOFF64: u32 = 107;
5853pub const R_TILEGX_TLS_TPOFF64: u32 = 108;
5855pub const R_TILEGX_TLS_DTPMOD32: u32 = 109;
5857pub const R_TILEGX_TLS_DTPOFF32: u32 = 110;
5859pub const R_TILEGX_TLS_TPOFF32: u32 = 111;
5861pub const R_TILEGX_TLS_GD_CALL: u32 = 112;
5863pub const R_TILEGX_IMM8_X0_TLS_GD_ADD: u32 = 113;
5865pub const R_TILEGX_IMM8_X1_TLS_GD_ADD: u32 = 114;
5867pub const R_TILEGX_IMM8_Y0_TLS_GD_ADD: u32 = 115;
5869pub const R_TILEGX_IMM8_Y1_TLS_GD_ADD: u32 = 116;
5871pub const R_TILEGX_TLS_IE_LOAD: u32 = 117;
5873pub const R_TILEGX_IMM8_X0_TLS_ADD: u32 = 118;
5875pub const R_TILEGX_IMM8_X1_TLS_ADD: u32 = 119;
5877pub const R_TILEGX_IMM8_Y0_TLS_ADD: u32 = 120;
5879pub const R_TILEGX_IMM8_Y1_TLS_ADD: u32 = 121;
5881
5882pub const R_TILEGX_GNU_VTINHERIT: u32 = 128;
5884pub const R_TILEGX_GNU_VTENTRY: u32 = 129;
5886
5887pub const EF_RISCV_RVC: u32 = 0x0001;
5889pub const EF_RISCV_FLOAT_ABI: u32 = 0x0006;
5890pub const EF_RISCV_FLOAT_ABI_SOFT: u32 = 0x0000;
5891pub const EF_RISCV_FLOAT_ABI_SINGLE: u32 = 0x0002;
5892pub const EF_RISCV_FLOAT_ABI_DOUBLE: u32 = 0x0004;
5893pub const EF_RISCV_FLOAT_ABI_QUAD: u32 = 0x0006;
5894pub const EF_RISCV_RVE: u32 = 0x0008;
5895pub const EF_RISCV_TSO: u32 = 0x0010;
5896pub const EF_RISCV_RV64ILP32: u32 = 0x0020;
5897
5898pub const STO_RISCV_VARIANT_CC: u8 = 0x80;
5901
5902pub const SHT_RISCV_ATTRIBUTES: u32 = SHT_LOPROC + 3;
5905
5906pub const PT_RISCV_ATTRIBUTES: u32 = PT_LOPROC + 3;
5909
5910pub const DT_RISCV_VARIANT_CC: i64 = DT_LOPROC + 1;
5913
5914pub const R_RISCV_NONE: u32 = 0;
5916pub const R_RISCV_32: u32 = 1;
5917pub const R_RISCV_64: u32 = 2;
5918pub const R_RISCV_RELATIVE: u32 = 3;
5919pub const R_RISCV_COPY: u32 = 4;
5920pub const R_RISCV_JUMP_SLOT: u32 = 5;
5921pub const R_RISCV_TLS_DTPMOD32: u32 = 6;
5922pub const R_RISCV_TLS_DTPMOD64: u32 = 7;
5923pub const R_RISCV_TLS_DTPREL32: u32 = 8;
5924pub const R_RISCV_TLS_DTPREL64: u32 = 9;
5925pub const R_RISCV_TLS_TPREL32: u32 = 10;
5926pub const R_RISCV_TLS_TPREL64: u32 = 11;
5927pub const R_RISCV_TLSDESC: u32 = 12;
5928pub const R_RISCV_BRANCH: u32 = 16;
5929pub const R_RISCV_JAL: u32 = 17;
5930pub const R_RISCV_CALL: u32 = 18;
5931pub const R_RISCV_CALL_PLT: u32 = 19;
5932pub const R_RISCV_GOT_HI20: u32 = 20;
5933pub const R_RISCV_TLS_GOT_HI20: u32 = 21;
5934pub const R_RISCV_TLS_GD_HI20: u32 = 22;
5935pub const R_RISCV_PCREL_HI20: u32 = 23;
5936pub const R_RISCV_PCREL_LO12_I: u32 = 24;
5937pub const R_RISCV_PCREL_LO12_S: u32 = 25;
5938pub const R_RISCV_HI20: u32 = 26;
5939pub const R_RISCV_LO12_I: u32 = 27;
5940pub const R_RISCV_LO12_S: u32 = 28;
5941pub const R_RISCV_TPREL_HI20: u32 = 29;
5942pub const R_RISCV_TPREL_LO12_I: u32 = 30;
5943pub const R_RISCV_TPREL_LO12_S: u32 = 31;
5944pub const R_RISCV_TPREL_ADD: u32 = 32;
5945pub const R_RISCV_ADD8: u32 = 33;
5946pub const R_RISCV_ADD16: u32 = 34;
5947pub const R_RISCV_ADD32: u32 = 35;
5948pub const R_RISCV_ADD64: u32 = 36;
5949pub const R_RISCV_SUB8: u32 = 37;
5950pub const R_RISCV_SUB16: u32 = 38;
5951pub const R_RISCV_SUB32: u32 = 39;
5952pub const R_RISCV_SUB64: u32 = 40;
5953pub const R_RISCV_GOT32_PCREL: u32 = 41;
5954pub const R_RISCV_ALIGN: u32 = 43;
5956pub const R_RISCV_RVC_BRANCH: u32 = 44;
5957pub const R_RISCV_RVC_JUMP: u32 = 45;
5958pub const R_RISCV_RVC_LUI: u32 = 46;
5959pub const R_RISCV_GPREL_I: u32 = 47;
5960pub const R_RISCV_GPREL_S: u32 = 48;
5961pub const R_RISCV_TPREL_I: u32 = 49;
5962pub const R_RISCV_TPREL_S: u32 = 50;
5963pub const R_RISCV_RELAX: u32 = 51;
5964pub const R_RISCV_SUB6: u32 = 52;
5965pub const R_RISCV_SET6: u32 = 53;
5966pub const R_RISCV_SET8: u32 = 54;
5967pub const R_RISCV_SET16: u32 = 55;
5968pub const R_RISCV_SET32: u32 = 56;
5969pub const R_RISCV_32_PCREL: u32 = 57;
5970pub const R_RISCV_IRELATIVE: u32 = 58;
5971pub const R_RISCV_PLT32: u32 = 59;
5972pub const R_RISCV_SET_ULEB128: u32 = 60;
5973pub const R_RISCV_SUB_ULEB128: u32 = 61;
5974pub const R_RISCV_TLSDESC_HI20: u32 = 62;
5975pub const R_RISCV_TLSDESC_LOAD_LO12: u32 = 63;
5976pub const R_RISCV_TLSDESC_ADD_LO12: u32 = 64;
5977pub const R_RISCV_TLSDESC_CALL: u32 = 65;
5978
5979pub const R_BPF_NONE: u32 = 0;
5982pub const R_BPF_64_64: u32 = 1;
5983pub const R_BPF_64_32: u32 = 10;
5984
5985pub const R_SBF_NONE: u32 = 0;
5988pub const R_SBF_64_64: u32 = 1;
5989pub const R_SBF_64_32: u32 = 10;
5990
5991pub const R_METAG_HIADDR16: u32 = 0;
5994pub const R_METAG_LOADDR16: u32 = 1;
5995pub const R_METAG_ADDR32: u32 = 2;
5997pub const R_METAG_NONE: u32 = 3;
5999pub const R_METAG_RELBRANCH: u32 = 4;
6000pub const R_METAG_GETSETOFF: u32 = 5;
6001
6002pub const R_METAG_REG32OP1: u32 = 6;
6004pub const R_METAG_REG32OP2: u32 = 7;
6005pub const R_METAG_REG32OP3: u32 = 8;
6006pub const R_METAG_REG16OP1: u32 = 9;
6007pub const R_METAG_REG16OP2: u32 = 10;
6008pub const R_METAG_REG16OP3: u32 = 11;
6009pub const R_METAG_REG32OP4: u32 = 12;
6010
6011pub const R_METAG_HIOG: u32 = 13;
6012pub const R_METAG_LOOG: u32 = 14;
6013
6014pub const R_METAG_REL8: u32 = 15;
6015pub const R_METAG_REL16: u32 = 16;
6016
6017pub const R_METAG_GNU_VTINHERIT: u32 = 30;
6018pub const R_METAG_GNU_VTENTRY: u32 = 31;
6019
6020pub const R_METAG_HI16_GOTOFF: u32 = 32;
6022pub const R_METAG_LO16_GOTOFF: u32 = 33;
6023pub const R_METAG_GETSET_GOTOFF: u32 = 34;
6024pub const R_METAG_GETSET_GOT: u32 = 35;
6025pub const R_METAG_HI16_GOTPC: u32 = 36;
6026pub const R_METAG_LO16_GOTPC: u32 = 37;
6027pub const R_METAG_HI16_PLT: u32 = 38;
6028pub const R_METAG_LO16_PLT: u32 = 39;
6029pub const R_METAG_RELBRANCH_PLT: u32 = 40;
6030pub const R_METAG_GOTOFF: u32 = 41;
6031pub const R_METAG_PLT: u32 = 42;
6032pub const R_METAG_COPY: u32 = 43;
6033pub const R_METAG_JMP_SLOT: u32 = 44;
6034pub const R_METAG_RELATIVE: u32 = 45;
6035pub const R_METAG_GLOB_DAT: u32 = 46;
6036
6037pub const R_METAG_TLS_GD: u32 = 47;
6039pub const R_METAG_TLS_LDM: u32 = 48;
6040pub const R_METAG_TLS_LDO_HI16: u32 = 49;
6041pub const R_METAG_TLS_LDO_LO16: u32 = 50;
6042pub const R_METAG_TLS_LDO: u32 = 51;
6043pub const R_METAG_TLS_IE: u32 = 52;
6044pub const R_METAG_TLS_IENONPIC: u32 = 53;
6045pub const R_METAG_TLS_IENONPIC_HI16: u32 = 54;
6046pub const R_METAG_TLS_IENONPIC_LO16: u32 = 55;
6047pub const R_METAG_TLS_TPOFF: u32 = 56;
6048pub const R_METAG_TLS_DTPMOD: u32 = 57;
6049pub const R_METAG_TLS_DTPOFF: u32 = 58;
6050pub const R_METAG_TLS_LE: u32 = 59;
6051pub const R_METAG_TLS_LE_HI16: u32 = 60;
6052pub const R_METAG_TLS_LE_LO16: u32 = 61;
6053
6054pub const R_NDS32_NONE: u32 = 0;
6056pub const R_NDS32_32_RELA: u32 = 20;
6057pub const R_NDS32_COPY: u32 = 39;
6058pub const R_NDS32_GLOB_DAT: u32 = 40;
6059pub const R_NDS32_JMP_SLOT: u32 = 41;
6060pub const R_NDS32_RELATIVE: u32 = 42;
6061pub const R_NDS32_TLS_TPOFF: u32 = 102;
6062pub const R_NDS32_TLS_DESC: u32 = 119;
6063
6064pub const EF_LARCH_ABI_MODIFIER_MASK: u32 = 0x7;
6068pub const EF_LARCH_ABI_SOFT_FLOAT: u32 = 0x1;
6070pub const EF_LARCH_ABI_SINGLE_FLOAT: u32 = 0x2;
6072pub const EF_LARCH_ABI_DOUBLE_FLOAT: u32 = 0x3;
6074pub const EF_LARCH_OBJABI_V1: u32 = 0x40;
6076
6077pub const R_LARCH_NONE: u32 = 0;
6080pub const R_LARCH_32: u32 = 1;
6082pub const R_LARCH_64: u32 = 2;
6084pub const R_LARCH_RELATIVE: u32 = 3;
6086pub const R_LARCH_COPY: u32 = 4;
6088pub const R_LARCH_JUMP_SLOT: u32 = 5;
6090pub const R_LARCH_TLS_DTPMOD32: u32 = 6;
6092pub const R_LARCH_TLS_DTPMOD64: u32 = 7;
6094pub const R_LARCH_TLS_DTPREL32: u32 = 8;
6096pub const R_LARCH_TLS_DTPREL64: u32 = 9;
6098pub const R_LARCH_TLS_TPREL32: u32 = 10;
6100pub const R_LARCH_TLS_TPREL64: u32 = 11;
6102pub const R_LARCH_IRELATIVE: u32 = 12;
6104pub const R_LARCH_TLS_DESC32: u32 = 13;
6106pub const R_LARCH_TLS_DESC64: u32 = 14;
6108pub const R_LARCH_MARK_LA: u32 = 20;
6110pub const R_LARCH_MARK_PCREL: u32 = 21;
6112pub const R_LARCH_SOP_PUSH_PCREL: u32 = 22;
6114pub const R_LARCH_SOP_PUSH_ABSOLUTE: u32 = 23;
6116pub const R_LARCH_SOP_PUSH_DUP: u32 = 24;
6118pub const R_LARCH_SOP_PUSH_GPREL: u32 = 25;
6120pub const R_LARCH_SOP_PUSH_TLS_TPREL: u32 = 26;
6122pub const R_LARCH_SOP_PUSH_TLS_GOT: u32 = 27;
6124pub const R_LARCH_SOP_PUSH_TLS_GD: u32 = 28;
6126pub const R_LARCH_SOP_PUSH_PLT_PCREL: u32 = 29;
6128pub const R_LARCH_SOP_ASSERT: u32 = 30;
6130pub const R_LARCH_SOP_NOT: u32 = 31;
6132pub const R_LARCH_SOP_SUB: u32 = 32;
6134pub const R_LARCH_SOP_SL: u32 = 33;
6136pub const R_LARCH_SOP_SR: u32 = 34;
6138pub const R_LARCH_SOP_ADD: u32 = 35;
6140pub const R_LARCH_SOP_AND: u32 = 36;
6142pub const R_LARCH_SOP_IF_ELSE: u32 = 37;
6144pub const R_LARCH_SOP_POP_32_S_10_5: u32 = 38;
6146pub const R_LARCH_SOP_POP_32_U_10_12: u32 = 39;
6148pub const R_LARCH_SOP_POP_32_S_10_12: u32 = 40;
6150pub const R_LARCH_SOP_POP_32_S_10_16: u32 = 41;
6152pub const R_LARCH_SOP_POP_32_S_10_16_S2: u32 = 42;
6155pub const R_LARCH_SOP_POP_32_S_5_20: u32 = 43;
6157pub const R_LARCH_SOP_POP_32_S_0_5_10_16_S2: u32 = 44;
6160pub const R_LARCH_SOP_POP_32_S_0_10_10_16_S2: u32 = 45;
6163pub const R_LARCH_SOP_POP_32_U: u32 = 46;
6165pub const R_LARCH_ADD8: u32 = 47;
6167pub const R_LARCH_ADD16: u32 = 48;
6169pub const R_LARCH_ADD24: u32 = 49;
6171pub const R_LARCH_ADD32: u32 = 50;
6173pub const R_LARCH_ADD64: u32 = 51;
6175pub const R_LARCH_SUB8: u32 = 52;
6177pub const R_LARCH_SUB16: u32 = 53;
6179pub const R_LARCH_SUB24: u32 = 54;
6181pub const R_LARCH_SUB32: u32 = 55;
6183pub const R_LARCH_SUB64: u32 = 56;
6185pub const R_LARCH_GNU_VTINHERIT: u32 = 57;
6187pub const R_LARCH_GNU_VTENTRY: u32 = 58;
6189pub const R_LARCH_B16: u32 = 64;
6191pub const R_LARCH_B21: u32 = 65;
6193pub const R_LARCH_B26: u32 = 66;
6195pub const R_LARCH_ABS_HI20: u32 = 67;
6197pub const R_LARCH_ABS_LO12: u32 = 68;
6199pub const R_LARCH_ABS64_LO20: u32 = 69;
6201pub const R_LARCH_ABS64_HI12: u32 = 70;
6203pub const R_LARCH_PCALA_HI20: u32 = 71;
6209pub const R_LARCH_PCALA_LO12: u32 = 72;
6212pub const R_LARCH_PCALA64_LO20: u32 = 73;
6215pub const R_LARCH_PCALA64_HI12: u32 = 74;
6218pub const R_LARCH_GOT_PC_HI20: u32 = 75;
6224pub const R_LARCH_GOT_PC_LO12: u32 = 76;
6227pub const R_LARCH_GOT64_PC_LO20: u32 = 77;
6230pub const R_LARCH_GOT64_PC_HI12: u32 = 78;
6233pub const R_LARCH_GOT_HI20: u32 = 79;
6235pub const R_LARCH_GOT_LO12: u32 = 80;
6237pub const R_LARCH_GOT64_LO20: u32 = 81;
6239pub const R_LARCH_GOT64_HI12: u32 = 82;
6241pub const R_LARCH_TLS_LE_HI20: u32 = 83;
6243pub const R_LARCH_TLS_LE_LO12: u32 = 84;
6245pub const R_LARCH_TLS_LE64_LO20: u32 = 85;
6247pub const R_LARCH_TLS_LE64_HI12: u32 = 86;
6249pub const R_LARCH_TLS_IE_PC_HI20: u32 = 87;
6255pub const R_LARCH_TLS_IE_PC_LO12: u32 = 88;
6258pub const R_LARCH_TLS_IE64_PC_LO20: u32 = 89;
6261pub const R_LARCH_TLS_IE64_PC_HI12: u32 = 90;
6264pub const R_LARCH_TLS_IE_HI20: u32 = 91;
6266pub const R_LARCH_TLS_IE_LO12: u32 = 92;
6268pub const R_LARCH_TLS_IE64_LO20: u32 = 93;
6270pub const R_LARCH_TLS_IE64_HI12: u32 = 94;
6272pub const R_LARCH_TLS_LD_PC_HI20: u32 = 95;
6275pub const R_LARCH_TLS_LD_HI20: u32 = 96;
6277pub const R_LARCH_TLS_GD_PC_HI20: u32 = 97;
6280pub const R_LARCH_TLS_GD_HI20: u32 = 98;
6282pub const R_LARCH_32_PCREL: u32 = 99;
6284pub const R_LARCH_RELAX: u32 = 100;
6287pub const R_LARCH_DELETE: u32 = 101;
6289pub const R_LARCH_ALIGN: u32 = 102;
6292pub const R_LARCH_PCREL20_S2: u32 = 103;
6294pub const R_LARCH_CFA: u32 = 104;
6296pub const R_LARCH_ADD6: u32 = 105;
6298pub const R_LARCH_SUB6: u32 = 106;
6300pub const R_LARCH_ADD_ULEB128: u32 = 107;
6302pub const R_LARCH_SUB_ULEB128: u32 = 108;
6304pub const R_LARCH_64_PCREL: u32 = 109;
6306pub const R_LARCH_CALL36: u32 = 110;
6309pub const R_LARCH_TLS_DESC_PC_HI20: u32 = 111;
6311pub const R_LARCH_TLS_DESC_PC_LO12: u32 = 112;
6313pub const R_LARCH_TLS_DESC64_PC_LO20: u32 = 113;
6315pub const R_LARCH_TLS_DESC64_PC_HI12: u32 = 114;
6317pub const R_LARCH_TLS_DESC_HI20: u32 = 115;
6319pub const R_LARCH_TLS_DESC_LO12: u32 = 116;
6321pub const R_LARCH_TLS_DESC64_LO20: u32 = 117;
6323pub const R_LARCH_TLS_DESC64_HI12: u32 = 118;
6325pub const R_LARCH_TLS_DESC_LD: u32 = 119;
6328pub const R_LARCH_TLS_DESC_CALL: u32 = 120;
6330pub const R_LARCH_TLS_LE_HI20_R: u32 = 121;
6332pub const R_LARCH_TLS_LE_ADD_R: u32 = 122;
6334pub const R_LARCH_TLS_LE_LO12_R: u32 = 123;
6337pub const R_LARCH_TLS_LD_PCREL20_S2: u32 = 124;
6339pub const R_LARCH_TLS_GD_PCREL20_S2: u32 = 125;
6341pub const R_LARCH_TLS_DESC_PCREL20_S2: u32 = 126;
6343pub const R_LARCH_CALL30: u32 = 127;
6346pub const R_LARCH_PCADD_HI20: u32 = 128;
6351pub const R_LARCH_PCADD_LO12: u32 = 129;
6354pub const R_LARCH_GOT_PCADD_HI20: u32 = 130;
6360pub const R_LARCH_GOT_PCADD_LO12: u32 = 131;
6363pub const R_LARCH_TLS_IE_PCADD_HI20: u32 = 132;
6369pub const R_LARCH_TLS_IE_PCADD_LO12: u32 = 133;
6372pub const R_LARCH_TLS_LD_PCADD_HI20: u32 = 134;
6378pub const R_LARCH_TLS_LD_PCADD_LO12: u32 = 135;
6381pub const R_LARCH_TLS_GD_PCADD_HI20: u32 = 136;
6387pub const R_LARCH_TLS_GD_PCADD_LO12: u32 = 137;
6390pub const R_LARCH_TLS_DESC_PCADD_HI20: u32 = 138;
6396pub const R_LARCH_TLS_DESC_PCADD_LO12: u32 = 139;
6399
6400pub const R_XTENSA_NONE: u32 = 0;
6402pub const R_XTENSA_32: u32 = 1;
6403pub const R_XTENSA_RTLD: u32 = 2;
6404pub const R_XTENSA_GLOB_DAT: u32 = 3;
6405pub const R_XTENSA_JMP_SLOT: u32 = 4;
6406pub const R_XTENSA_RELATIVE: u32 = 5;
6407pub const R_XTENSA_PLT: u32 = 6;
6408pub const R_XTENSA_OP0: u32 = 8;
6409pub const R_XTENSA_OP1: u32 = 9;
6410pub const R_XTENSA_OP2: u32 = 10;
6411pub const R_XTENSA_ASM_EXPAND: u32 = 11;
6412pub const R_XTENSA_ASM_SIMPLIFY: u32 = 12;
6413pub const R_XTENSA_32_PCREL: u32 = 14;
6414pub const R_XTENSA_GNU_VTINHERIT: u32 = 15;
6415pub const R_XTENSA_GNU_VTENTRY: u32 = 16;
6416pub const R_XTENSA_DIFF8: u32 = 17;
6417pub const R_XTENSA_DIFF16: u32 = 18;
6418pub const R_XTENSA_DIFF32: u32 = 19;
6419pub const R_XTENSA_SLOT0_OP: u32 = 20;
6420pub const R_XTENSA_SLOT1_OP: u32 = 21;
6421pub const R_XTENSA_SLOT2_OP: u32 = 22;
6422pub const R_XTENSA_SLOT3_OP: u32 = 23;
6423pub const R_XTENSA_SLOT4_OP: u32 = 24;
6424pub const R_XTENSA_SLOT5_OP: u32 = 25;
6425pub const R_XTENSA_SLOT6_OP: u32 = 26;
6426pub const R_XTENSA_SLOT7_OP: u32 = 27;
6427pub const R_XTENSA_SLOT8_OP: u32 = 28;
6428pub const R_XTENSA_SLOT9_OP: u32 = 29;
6429pub const R_XTENSA_SLOT10_OP: u32 = 30;
6430pub const R_XTENSA_SLOT11_OP: u32 = 31;
6431pub const R_XTENSA_SLOT12_OP: u32 = 32;
6432pub const R_XTENSA_SLOT13_OP: u32 = 33;
6433pub const R_XTENSA_SLOT14_OP: u32 = 34;
6434pub const R_XTENSA_SLOT0_ALT: u32 = 35;
6435pub const R_XTENSA_SLOT1_ALT: u32 = 36;
6436pub const R_XTENSA_SLOT2_ALT: u32 = 37;
6437pub const R_XTENSA_SLOT3_ALT: u32 = 38;
6438pub const R_XTENSA_SLOT4_ALT: u32 = 39;
6439pub const R_XTENSA_SLOT5_ALT: u32 = 40;
6440pub const R_XTENSA_SLOT6_ALT: u32 = 41;
6441pub const R_XTENSA_SLOT7_ALT: u32 = 42;
6442pub const R_XTENSA_SLOT8_ALT: u32 = 43;
6443pub const R_XTENSA_SLOT9_ALT: u32 = 44;
6444pub const R_XTENSA_SLOT10_ALT: u32 = 45;
6445pub const R_XTENSA_SLOT11_ALT: u32 = 46;
6446pub const R_XTENSA_SLOT12_ALT: u32 = 47;
6447pub const R_XTENSA_SLOT13_ALT: u32 = 48;
6448pub const R_XTENSA_SLOT14_ALT: u32 = 49;
6449pub const R_XTENSA_TLSDESC_FN: u32 = 50;
6450pub const R_XTENSA_TLSDESC_ARG: u32 = 51;
6451pub const R_XTENSA_TLS_DTPOFF: u32 = 52;
6452pub const R_XTENSA_TLS_TPOFF: u32 = 53;
6453pub const R_XTENSA_TLS_FUNC: u32 = 54;
6454pub const R_XTENSA_TLS_ARG: u32 = 55;
6455pub const R_XTENSA_TLS_CALL: u32 = 56;
6456pub const R_XTENSA_PDIFF8: u32 = 57;
6457pub const R_XTENSA_PDIFF16: u32 = 58;
6458pub const R_XTENSA_PDIFF32: u32 = 59;
6459pub const R_XTENSA_NDIFF8: u32 = 60;
6460pub const R_XTENSA_NDIFF16: u32 = 61;
6461pub const R_XTENSA_NDIFF32: u32 = 62;
6462
6463pub const EF_E2K_IPD: u32 = 3;
6465pub const EF_E2K_X86APP: u32 = 4;
6466pub const EF_E2K_4MB_PAGES: u32 = 8;
6467pub const EF_E2K_INCOMPAT: u32 = 16;
6468pub const EF_E2K_PM: u32 = 32;
6469pub const EF_E2K_PACK_SEGMENTS: u32 = 64;
6470
6471pub const fn ef_e2k_mach_to_flag(e_flags: u32, x: u32) -> u32 {
6473 (e_flags & 0xffffff) | (x << 24)
6474}
6475
6476pub const fn ef_e2k_flag_to_mach(e_flags: u32) -> u32 {
6478 e_flags >> 24
6479}
6480
6481pub const E_E2K_MACH_BASE: u32 = 0;
6487pub const E_E2K_MACH_EV1: u32 = 1;
6491pub const E_E2K_MACH_EV2: u32 = 2;
6493pub const E_E2K_MACH_EV3: u32 = 3;
6495pub const E_E2K_MACH_EV4: u32 = 4;
6497pub const E_E2K_MACH_EV5: u32 = 5;
6499pub const E_E2K_MACH_EV6: u32 = 6;
6501pub const E_E2K_MACH_EV7: u32 = 7;
6503pub const E_E2K_MACH_8C: u32 = 19;
6505pub const E_E2K_MACH_1CPLUS: u32 = 20;
6507pub const E_E2K_MACH_12C: u32 = 21;
6509pub const E_E2K_MACH_16C: u32 = 22;
6511pub const E_E2K_MACH_2C3: u32 = 23;
6513pub const E_E2K_MACH_48C: u32 = 24;
6515pub const E_E2K_MACH_8V7: u32 = 25;
6517
6518pub const R_E2K_32_ABS: u32 = 0;
6522pub const R_E2K_32_PC: u32 = 2;
6524pub const R_E2K_AP_GOT: u32 = 3;
6526pub const R_E2K_PL_GOT: u32 = 4;
6528pub const R_E2K_32_JMP_SLOT: u32 = 8;
6530pub const R_E2K_32_COPY: u32 = 9;
6532pub const R_E2K_32_RELATIVE: u32 = 10;
6534pub const R_E2K_32_IRELATIVE: u32 = 11;
6536pub const R_E2K_32_SIZE: u32 = 12;
6538pub const R_E2K_32_DYNOPT: u32 = 13;
6541pub const R_E2K_64_ABS: u32 = 50;
6543pub const R_E2K_64_ABS_LIT: u32 = 51;
6545pub const R_E2K_64_PC_LIT: u32 = 54;
6547pub const R_E2K_64_JMP_SLOT: u32 = 63;
6549pub const R_E2K_64_COPY: u32 = 64;
6551pub const R_E2K_64_RELATIVE: u32 = 65;
6553pub const R_E2K_64_RELATIVE_LIT: u32 = 66;
6555pub const R_E2K_64_IRELATIVE: u32 = 67;
6557pub const R_E2K_64_SIZE: u32 = 68;
6559pub const R_E2K_64_GOTOFF: u32 = 69;
6561
6562pub const R_E2K_TLS_GDMOD: u32 = 70;
6564pub const R_E2K_TLS_GDREL: u32 = 71;
6566pub const R_E2K_TLS_IE: u32 = 74;
6568pub const R_E2K_32_TLS_LE: u32 = 75;
6570pub const R_E2K_64_TLS_LE: u32 = 76;
6572pub const R_E2K_TLS_32_DTPMOD: u32 = 80;
6574pub const R_E2K_TLS_32_DTPREL: u32 = 81;
6576pub const R_E2K_TLS_64_DTPMOD: u32 = 82;
6578pub const R_E2K_TLS_64_DTPREL: u32 = 83;
6580pub const R_E2K_TLS_32_TPREL: u32 = 84;
6582pub const R_E2K_TLS_64_TPREL: u32 = 85;
6584
6585pub const R_E2K_AP: u32 = 100;
6587pub const R_E2K_PL: u32 = 101;
6589
6590pub const R_E2K_GOT: u32 = 108;
6592pub const R_E2K_GOTOFF: u32 = 109;
6594pub const R_E2K_DISP: u32 = 110;
6596pub const R_E2K_PREF: u32 = 111;
6598pub const R_E2K_NONE: u32 = 112;
6600pub const R_E2K_GOTPLT: u32 = 114;
6602pub const R_E2K_ISLOCAL: u32 = 115;
6605pub const R_E2K_ISLOCAL32: u32 = 118;
6608pub const R_E2K_64_GOTOFF_LIT: u32 = 256;
6610pub const R_E2K_64_DYNOPT: u32 = 257;
6613pub const R_E2K_64_PC: u32 = 258;
6615
6616pub const DT_E2K_LAZY: i64 = DT_LOPROC + 1;
6619pub const DT_E2K_LAZY_GOT: i64 = DT_LOPROC + 3;
6620
6621pub const DT_E2K_INIT_GOT: i64 = DT_LOPROC + 0x101c;
6622pub const DT_E2K_EXPORT_PL: i64 = DT_LOPROC + 0x101d;
6623pub const DT_E2K_EXPORT_PLSZ: i64 = DT_LOPROC + 0x101e;
6624pub const DT_E2K_REAL_PLTGOT: i64 = DT_LOPROC + 0x101f;
6625pub const DT_E2K_NO_SELFINIT: i64 = DT_LOPROC + 0x1020;
6626
6627pub const DT_E2K_NUM: i64 = 0x1021;
6628
6629#[allow(non_upper_case_globals)]
6630pub const Tag_File: u8 = 1;
6631#[allow(non_upper_case_globals)]
6632pub const Tag_Section: u8 = 2;
6633#[allow(non_upper_case_globals)]
6634pub const Tag_Symbol: u8 = 3;
6635
6636unsafe_impl_endian_pod!(
6637 FileHeader32,
6638 FileHeader64,
6639 SectionHeader32,
6640 SectionHeader64,
6641 CompressionHeader32,
6642 CompressionHeader64,
6643 Sym32,
6644 Sym64,
6645 Syminfo32,
6646 Syminfo64,
6647 Rel32,
6648 Rel64,
6649 Rela32,
6650 Rela64,
6651 Relr32,
6652 Relr64,
6653 ProgramHeader32,
6654 ProgramHeader64,
6655 Dyn32,
6656 Dyn64,
6657 Versym,
6658 Verdef,
6659 Verdaux,
6660 Verneed,
6661 Vernaux,
6662 NoteHeader32,
6663 NoteHeader64,
6664 HashHeader,
6665 GnuHashHeader,
6666);