1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*ae316d1dSXin LI# $File: elf,v 1.91 2024/11/09 23:52:23 christos Exp $ 4b6cee71dSXin LI# elf: file(1) magic for ELF executables 5b6cee71dSXin LI# 6b6cee71dSXin LI# We have to check the byte order flag to see what byte order all the 7b6cee71dSXin LI# other stuff in the header is in. 8b6cee71dSXin LI# 9b6cee71dSXin LI# What're the correct byte orders for the nCUBE and the Fujitsu VPP500? 10b6cee71dSXin LI# 11898496eeSXin LI# https://www.sco.com/developers/gabi/latest/ch4.eheader.html 12898496eeSXin LI# 13b6cee71dSXin LI# Created by: unknown 14b6cee71dSXin LI# Modified by (1): Daniel Quinlan <quinlan@yggdrasil.com> 15b6cee71dSXin LI# Modified by (2): Peter Tobias <tobias@server.et-inf.fho-emden.de> (core support) 16b6cee71dSXin LI# Modified by (3): Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de> (fix of core support) 17b6cee71dSXin LI# Modified by (4): <gerardo.cacciari@gmail.com> (VMS Itanium) 18b6cee71dSXin LI# Modified by (5): Matthias Urlichs <smurf@debian.org> (Listing of many architectures) 19b6cee71dSXin LI 209fc5c47fSXin LI0 name elf-mips 219fc5c47fSXin LI>0 lelong&0xf0000000 0x00000000 MIPS-I 229fc5c47fSXin LI>0 lelong&0xf0000000 0x10000000 MIPS-II 239fc5c47fSXin LI>0 lelong&0xf0000000 0x20000000 MIPS-III 249fc5c47fSXin LI>0 lelong&0xf0000000 0x30000000 MIPS-IV 259fc5c47fSXin LI>0 lelong&0xf0000000 0x40000000 MIPS-V 269fc5c47fSXin LI>0 lelong&0xf0000000 0x50000000 MIPS32 279fc5c47fSXin LI>0 lelong&0xf0000000 0x60000000 MIPS64 289fc5c47fSXin LI>0 lelong&0xf0000000 0x70000000 MIPS32 rel2 299fc5c47fSXin LI>0 lelong&0xf0000000 0x80000000 MIPS64 rel2 309fc5c47fSXin LI>0 lelong&0xf0000000 0x90000000 MIPS32 rel6 319fc5c47fSXin LI>0 lelong&0xf0000000 0xa0000000 MIPS64 rel6 329fc5c47fSXin LI 339fc5c47fSXin LI0 name elf-sparc 349fc5c47fSXin LI>0 lelong&0x00ffff00 0x00000100 V8+ Required, 359fc5c47fSXin LI>0 lelong&0x00ffff00 0x00000200 Sun UltraSPARC1 Extensions Required, 369fc5c47fSXin LI>0 lelong&0x00ffff00 0x00000400 HaL R1 Extensions Required, 379fc5c47fSXin LI>0 lelong&0x00ffff00 0x00000800 Sun UltraSPARC3 Extensions Required, 389fc5c47fSXin LI>0 lelong&0x3 0 total store ordering, 399fc5c47fSXin LI>0 lelong&0x3 1 partial store ordering, 409fc5c47fSXin LI>0 lelong&0x3 2 relaxed memory ordering, 419fc5c47fSXin LI 429fc5c47fSXin LI0 name elf-pa-risc 43d38c30c0SXin LI>2 leshort 0x020b 1.0 4448c779cdSXin LI>2 leshort 0x0210 1.1 459fc5c47fSXin LI>2 leshort 0x0214 2.0 469fc5c47fSXin LI>0 leshort &0x0008 (LP64) 479fc5c47fSXin LI 4843a5ec4eSXin LI0 name elf-riscv 4943a5ec4eSXin LI>0 lelong&0x00000001 0x00000001 RVC, 5043a5ec4eSXin LI>0 lelong&0x00000008 0x00000008 RVE, 5143a5ec4eSXin LI>0 lelong&0x00000006 0x00000000 soft-float ABI, 5243a5ec4eSXin LI>0 lelong&0x00000006 0x00000002 single-float ABI, 5343a5ec4eSXin LI>0 lelong&0x00000006 0x00000004 double-float ABI, 5443a5ec4eSXin LI>0 lelong&0x00000006 0x00000006 quad-float ABI, 5543a5ec4eSXin LI 56b6cee71dSXin LI0 name elf-le 57b6cee71dSXin LI>16 leshort 0 no file type, 58b6cee71dSXin LI!:mime application/octet-stream 59b6cee71dSXin LI>16 leshort 1 relocatable, 60b6cee71dSXin LI!:mime application/x-object 61b6cee71dSXin LI>16 leshort 2 executable, 62b6cee71dSXin LI!:mime application/x-executable 634e22eafcSEd Maste>16 leshort 3 ${x?pie executable:shared object}, 644e22eafcSEd Maste 654e22eafcSEd Maste!:mime application/x-${x?pie-executable:sharedlib} 662dc4dbb9SEitan Adler>16 leshort 4 core file, 67b6cee71dSXin LI!:mime application/x-coredump 682dc4dbb9SEitan Adler# OS-specific 692dc4dbb9SEitan Adler>7 byte 202 702dc4dbb9SEitan Adler>>16 leshort 0xFE01 executable, 712dc4dbb9SEitan Adler!:mime application/x-executable 72b6cee71dSXin LI# Core file detection is not reliable. 73b6cee71dSXin LI#>>>(0x38+0xcc) string >\0 of '%s' 74b6cee71dSXin LI#>>>(0x38+0x10) lelong >0 (signal %d), 7543a5ec4eSXin LI>16 leshort &0xff00 7643a5ec4eSXin LI>>18 leshort !8 processor-specific, 7743a5ec4eSXin LI>>18 leshort 8 7843a5ec4eSXin LI>>>16 leshort 0xFF80 PlayStation 2 IOP module, 7943a5ec4eSXin LI!:mime application/x-sharedlib 8043a5ec4eSXin LI>>>16 leshort !0xFF80 processor-specific, 81b6cee71dSXin LI>18 clear x 82b6cee71dSXin LI>18 leshort 0 no machine, 83b6cee71dSXin LI>18 leshort 1 AT&T WE32100, 84b6cee71dSXin LI>18 leshort 2 SPARC, 85*ae316d1dSXin LI>18 leshort 3 Intel i386, 86b6cee71dSXin LI>18 leshort 4 Motorola m68k, 87b6cee71dSXin LI>>4 byte 1 88b6cee71dSXin LI>>>36 lelong &0x01000000 68000, 89b6cee71dSXin LI>>>36 lelong &0x00810000 CPU32, 90b6cee71dSXin LI>>>36 lelong 0 68020, 91b6cee71dSXin LI>18 leshort 5 Motorola m88k, 92*ae316d1dSXin LI>18 leshort 6 Intel i486, 93*ae316d1dSXin LI>18 leshort 7 Intel i860, 94b6cee71dSXin LI# The official e_machine number for MIPS is now #8, regardless of endianness. 95b6cee71dSXin LI# The second number (#10) will be deprecated later. For now, we still 96b6cee71dSXin LI# say something if #10 is encountered, but only gory details for #8. 97b6cee71dSXin LI>18 leshort 8 MIPS, 98b6cee71dSXin LI>>4 byte 1 99b6cee71dSXin LI>>>36 lelong &0x20 N32 100b6cee71dSXin LI>18 leshort 10 MIPS, 101b6cee71dSXin LI>>4 byte 1 102b6cee71dSXin LI>>>36 lelong &0x20 N32 103b6cee71dSXin LI>18 leshort 8 104b6cee71dSXin LI# only for 32-bit 105b6cee71dSXin LI>>4 byte 1 1069fc5c47fSXin LI>>>36 use elf-mips 107b6cee71dSXin LI# only for 64-bit 108b6cee71dSXin LI>>4 byte 2 1099fc5c47fSXin LI>>>48 use elf-mips 110b6cee71dSXin LI>18 leshort 9 Amdahl, 111b6cee71dSXin LI>18 leshort 10 MIPS (deprecated), 112b6cee71dSXin LI>18 leshort 11 RS6000, 113b6cee71dSXin LI>18 leshort 15 PA-RISC, 114b6cee71dSXin LI# only for 32-bit 115b6cee71dSXin LI>>4 byte 1 1169fc5c47fSXin LI>>>36 use elf-pa-risc 117b6cee71dSXin LI# only for 64-bit 118b6cee71dSXin LI>>4 byte 2 1199fc5c47fSXin LI>>>48 use elf-pa-risc 120b6cee71dSXin LI>18 leshort 16 nCUBE, 121b6cee71dSXin LI>18 leshort 17 Fujitsu VPP500, 122b6cee71dSXin LI>18 leshort 18 SPARC32PLUS, 123b6cee71dSXin LI# only for 32-bit 124b6cee71dSXin LI>>4 byte 1 1259fc5c47fSXin LI>>>36 use elf-sparc 126b6cee71dSXin LI>18 leshort 19 Intel 80960, 127b6cee71dSXin LI>18 leshort 20 PowerPC or cisco 4500, 128b6cee71dSXin LI>18 leshort 21 64-bit PowerPC or cisco 7500, 129c4e127e2SLeandro Lupori>>48 lelong 0 Unspecified or Power ELF V1 ABI, 130c4e127e2SLeandro Lupori>>48 lelong 1 Power ELF V1 ABI, 131c4e127e2SLeandro Lupori>>48 lelong 2 OpenPOWER ELF V2 ABI, 132b6cee71dSXin LI>18 leshort 22 IBM S/390, 133b6cee71dSXin LI>18 leshort 23 Cell SPU, 134b6cee71dSXin LI>18 leshort 24 cisco SVIP, 135b6cee71dSXin LI>18 leshort 25 cisco 7200, 136b6cee71dSXin LI>18 leshort 36 NEC V800 or cisco 12000, 137b6cee71dSXin LI>18 leshort 37 Fujitsu FR20, 138b6cee71dSXin LI>18 leshort 38 TRW RH-32, 139b6cee71dSXin LI>18 leshort 39 Motorola RCE, 140b6cee71dSXin LI>18 leshort 40 ARM, 141b6cee71dSXin LI>>4 byte 1 142b6cee71dSXin LI>>>36 lelong&0xff000000 0x04000000 EABI4 143b6cee71dSXin LI>>>36 lelong&0xff000000 0x05000000 EABI5 144b6cee71dSXin LI>>>36 lelong &0x00800000 BE8 145b6cee71dSXin LI>>>36 lelong &0x00400000 LE8 146b6cee71dSXin LI>18 leshort 41 Alpha, 147b6cee71dSXin LI>18 leshort 42 Renesas SH, 148b6cee71dSXin LI>18 leshort 43 SPARC V9, 149b6cee71dSXin LI>>4 byte 2 1509fc5c47fSXin LI>>>48 use elf-sparc 151b6cee71dSXin LI>18 leshort 44 Siemens Tricore Embedded Processor, 152b6cee71dSXin LI>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., 153b6cee71dSXin LI>18 leshort 46 Renesas H8/300, 154b6cee71dSXin LI>18 leshort 47 Renesas H8/300H, 155b6cee71dSXin LI>18 leshort 48 Renesas H8S, 156b6cee71dSXin LI>18 leshort 49 Renesas H8/500, 157b6cee71dSXin LI>18 leshort 50 IA-64, 158b6cee71dSXin LI>18 leshort 51 Stanford MIPS-X, 159b6cee71dSXin LI>18 leshort 52 Motorola Coldfire, 160b6cee71dSXin LI>18 leshort 53 Motorola M68HC12, 161b6cee71dSXin LI>18 leshort 54 Fujitsu MMA, 162b6cee71dSXin LI>18 leshort 55 Siemens PCP, 163b6cee71dSXin LI>18 leshort 56 Sony nCPU, 164b6cee71dSXin LI>18 leshort 57 Denso NDR1, 165b6cee71dSXin LI>18 leshort 58 Start*Core, 166b6cee71dSXin LI>18 leshort 59 Toyota ME16, 167b6cee71dSXin LI>18 leshort 60 ST100, 168b6cee71dSXin LI>18 leshort 61 Tinyj emb., 169b6cee71dSXin LI>18 leshort 62 x86-64, 170b6cee71dSXin LI>18 leshort 63 Sony DSP, 171b6cee71dSXin LI>18 leshort 64 DEC PDP-10, 172b6cee71dSXin LI>18 leshort 65 DEC PDP-11, 173b6cee71dSXin LI>18 leshort 66 FX66, 174b6cee71dSXin LI>18 leshort 67 ST9+ 8/16 bit, 175b6cee71dSXin LI>18 leshort 68 ST7 8 bit, 176b6cee71dSXin LI>18 leshort 69 MC68HC16, 177b6cee71dSXin LI>18 leshort 70 MC68HC11, 178b6cee71dSXin LI>18 leshort 71 MC68HC08, 179b6cee71dSXin LI>18 leshort 72 MC68HC05, 180b6cee71dSXin LI>18 leshort 73 SGI SVx or Cray NV1, 181b6cee71dSXin LI>18 leshort 74 ST19 8 bit, 182b6cee71dSXin LI>18 leshort 75 Digital VAX, 183b6cee71dSXin LI>18 leshort 76 Axis cris, 184b6cee71dSXin LI>18 leshort 77 Infineon 32-bit embedded, 185b6cee71dSXin LI>18 leshort 78 Element 14 64-bit DSP, 186b6cee71dSXin LI>18 leshort 79 LSI Logic 16-bit DSP, 187b6cee71dSXin LI>18 leshort 80 MMIX, 188b6cee71dSXin LI>18 leshort 81 Harvard machine-independent, 189b6cee71dSXin LI>18 leshort 82 SiTera Prism, 190b6cee71dSXin LI>18 leshort 83 Atmel AVR 8-bit, 191b6cee71dSXin LI>18 leshort 84 Fujitsu FR30, 192b6cee71dSXin LI>18 leshort 85 Mitsubishi D10V, 193b6cee71dSXin LI>18 leshort 86 Mitsubishi D30V, 194b6cee71dSXin LI>18 leshort 87 NEC v850, 195b6cee71dSXin LI>18 leshort 88 Renesas M32R, 196b6cee71dSXin LI>18 leshort 89 Matsushita MN10300, 197b6cee71dSXin LI>18 leshort 90 Matsushita MN10200, 198b6cee71dSXin LI>18 leshort 91 picoJava, 199b6cee71dSXin LI>18 leshort 92 OpenRISC, 20043a5ec4eSXin LI>18 leshort 93 Synopsys ARCompact ARC700 cores, 201b6cee71dSXin LI>18 leshort 94 Tensilica Xtensa, 202b6cee71dSXin LI>18 leshort 95 Alphamosaic VideoCore, 203b6cee71dSXin LI>18 leshort 96 Thompson Multimedia, 204b6cee71dSXin LI>18 leshort 97 NatSemi 32k, 205b6cee71dSXin LI>18 leshort 98 Tenor Network TPC, 206b6cee71dSXin LI>18 leshort 99 Trebia SNP 1000, 207b6cee71dSXin LI>18 leshort 100 STMicroelectronics ST200, 208b6cee71dSXin LI>18 leshort 101 Ubicom IP2022, 209b6cee71dSXin LI>18 leshort 102 MAX Processor, 210b6cee71dSXin LI>18 leshort 103 NatSemi CompactRISC, 211b6cee71dSXin LI>18 leshort 104 Fujitsu F2MC16, 212b6cee71dSXin LI>18 leshort 105 TI msp430, 213b6cee71dSXin LI>18 leshort 106 Analog Devices Blackfin, 214b6cee71dSXin LI>18 leshort 107 S1C33 Family of Seiko Epson, 215b6cee71dSXin LI>18 leshort 108 Sharp embedded, 216b6cee71dSXin LI>18 leshort 109 Arca RISC, 217b6cee71dSXin LI>18 leshort 110 PKU-Unity Ltd., 218b6cee71dSXin LI>18 leshort 111 eXcess: 16/32/64-bit, 219b6cee71dSXin LI>18 leshort 112 Icera Deep Execution Processor, 220b6cee71dSXin LI>18 leshort 113 Altera Nios II, 221b6cee71dSXin LI>18 leshort 114 NatSemi CRX, 222b6cee71dSXin LI>18 leshort 115 Motorola XGATE, 223b6cee71dSXin LI>18 leshort 116 Infineon C16x/XC16x, 224b6cee71dSXin LI>18 leshort 117 Renesas M16C series, 225b6cee71dSXin LI>18 leshort 118 Microchip dsPIC30F, 226b6cee71dSXin LI>18 leshort 119 Freescale RISC core, 227b6cee71dSXin LI>18 leshort 120 Renesas M32C series, 228b6cee71dSXin LI>18 leshort 131 Altium TSK3000 core, 229b6cee71dSXin LI>18 leshort 132 Freescale RS08, 230b6cee71dSXin LI>18 leshort 134 Cyan Technology eCOG2, 231b6cee71dSXin LI>18 leshort 135 Sunplus S+core7 RISC, 232b6cee71dSXin LI>18 leshort 136 New Japan Radio (NJR) 24-bit DSP, 233b6cee71dSXin LI>18 leshort 137 Broadcom VideoCore III, 234b6cee71dSXin LI>18 leshort 138 LatticeMico32, 235b6cee71dSXin LI>18 leshort 139 Seiko Epson C17 family, 236b6cee71dSXin LI>18 leshort 140 TI TMS320C6000 DSP family, 237b6cee71dSXin LI>18 leshort 141 TI TMS320C2000 DSP family, 238b6cee71dSXin LI>18 leshort 142 TI TMS320C55x DSP family, 23943a5ec4eSXin LI>18 leshort 144 TI Programmable Realtime Unit 240b6cee71dSXin LI>18 leshort 160 STMicroelectronics 64bit VLIW DSP, 241b6cee71dSXin LI>18 leshort 161 Cypress M8C, 242b6cee71dSXin LI>18 leshort 162 Renesas R32C series, 243b6cee71dSXin LI>18 leshort 163 NXP TriMedia family, 244b6cee71dSXin LI>18 leshort 164 QUALCOMM DSP6, 245b6cee71dSXin LI>18 leshort 165 Intel 8051 and variants, 246b6cee71dSXin LI>18 leshort 166 STMicroelectronics STxP7x family, 247b6cee71dSXin LI>18 leshort 167 Andes embedded RISC, 248b6cee71dSXin LI>18 leshort 168 Cyan eCOG1X family, 249b6cee71dSXin LI>18 leshort 169 Dallas MAXQ30, 250b6cee71dSXin LI>18 leshort 170 New Japan Radio (NJR) 16-bit DSP, 251b6cee71dSXin LI>18 leshort 171 M2000 Reconfigurable RISC, 252b6cee71dSXin LI>18 leshort 172 Cray NV2 vector architecture, 253b6cee71dSXin LI>18 leshort 173 Renesas RX family, 254b6cee71dSXin LI>18 leshort 174 META, 255b6cee71dSXin LI>18 leshort 175 MCST Elbrus, 256b6cee71dSXin LI>18 leshort 176 Cyan Technology eCOG16 family, 257b6cee71dSXin LI>18 leshort 177 NatSemi CompactRISC, 258b6cee71dSXin LI>18 leshort 178 Freescale Extended Time Processing Unit, 259b6cee71dSXin LI>18 leshort 179 Infineon SLE9X, 260b6cee71dSXin LI>18 leshort 180 Intel L1OM, 261b6cee71dSXin LI>18 leshort 181 Intel K1OM, 262b6cee71dSXin LI>18 leshort 183 ARM aarch64, 263b6cee71dSXin LI>18 leshort 185 Atmel 32-bit family, 264b6cee71dSXin LI>18 leshort 186 STMicroeletronics STM8 8-bit, 265b6cee71dSXin LI>18 leshort 187 Tilera TILE64, 266b6cee71dSXin LI>18 leshort 188 Tilera TILEPro, 267b6cee71dSXin LI>18 leshort 189 Xilinx MicroBlaze 32-bit RISC, 268b6cee71dSXin LI>18 leshort 190 NVIDIA CUDA architecture, 269b6cee71dSXin LI>18 leshort 191 Tilera TILE-Gx, 27043a5ec4eSXin LI>18 leshort 195 Synopsys ARCv2/HS3x/HS4x cores, 271b6cee71dSXin LI>18 leshort 197 Renesas RL78 family, 272b6cee71dSXin LI>18 leshort 199 Renesas 78K0R, 273b6cee71dSXin LI>18 leshort 200 Freescale 56800EX, 274b6cee71dSXin LI>18 leshort 201 Beyond BA1, 275b6cee71dSXin LI>18 leshort 202 Beyond BA2, 276b6cee71dSXin LI>18 leshort 203 XMOS xCORE, 277b6cee71dSXin LI>18 leshort 204 Microchip 8-bit PIC(r), 278b6cee71dSXin LI>18 leshort 210 KM211 KM32, 279b6cee71dSXin LI>18 leshort 211 KM211 KMX32, 280b6cee71dSXin LI>18 leshort 212 KM211 KMX16, 281b6cee71dSXin LI>18 leshort 213 KM211 KMX8, 282b6cee71dSXin LI>18 leshort 214 KM211 KVARC, 283b6cee71dSXin LI>18 leshort 215 Paneve CDP, 284b6cee71dSXin LI>18 leshort 216 Cognitive Smart Memory, 285b6cee71dSXin LI>18 leshort 217 iCelero CoolEngine, 286b6cee71dSXin LI>18 leshort 218 Nanoradio Optimized RISC, 287898496eeSXin LI>18 leshort 219 CSR Kalimba architecture family 288898496eeSXin LI>18 leshort 220 Zilog Z80 289898496eeSXin LI>18 leshort 221 Controls and Data Services VISIUMcore processor 290898496eeSXin LI>18 leshort 222 FTDI Chip FT32 high performance 32-bit RISC architecture 291898496eeSXin LI>18 leshort 223 Moxie processor family 292898496eeSXin LI>18 leshort 224 AMD GPU architecture 293c2931133SXin LI>18 leshort 243 UCB RISC-V, 29443a5ec4eSXin LI# only for 32-bit 29543a5ec4eSXin LI>>4 byte 1 29643a5ec4eSXin LI>>>36 use elf-riscv 29743a5ec4eSXin LI# only for 64-bit 29843a5ec4eSXin LI>>4 byte 2 29943a5ec4eSXin LI>>>48 use elf-riscv 30043a5ec4eSXin LI>18 leshort 244 Lanai 32-bit processor, 30143a5ec4eSXin LI>18 leshort 245 CEVA Processor Architecture Family, 30243a5ec4eSXin LI>18 leshort 246 CEVA X2 Processor Family, 30348c779cdSXin LI>18 leshort 247 eBPF, 30443a5ec4eSXin LI>18 leshort 248 Graphcore Intelligent Processing Unit, 30543a5ec4eSXin LI>18 leshort 249 Imagination Technologies, 30643a5ec4eSXin LI>18 leshort 250 Netronome Flow Processor, 30743a5ec4eSXin LI>18 leshort 251 NEC Vector Engine, 30843a5ec4eSXin LI>18 leshort 252 C-SKY processor family, 30943a5ec4eSXin LI>18 leshort 253 Synopsys ARCv3 64-bit ISA/HS6x cores, 31043a5ec4eSXin LI>18 leshort 254 MOS Technology MCS 6502 processor, 31143a5ec4eSXin LI>18 leshort 255 Synopsys ARCv3 32-bit, 31243a5ec4eSXin LI>18 leshort 256 Kalray VLIW core of the MPPA family, 31343a5ec4eSXin LI>18 leshort 257 WDC 65816/65C816, 31443a5ec4eSXin LI>18 leshort 258 LoongArch, 31543a5ec4eSXin LI>18 leshort 259 ChipON KungFu32, 316b6cee71dSXin LI>18 leshort 0x1057 AVR (unofficial), 317b6cee71dSXin LI>18 leshort 0x1059 MSP430 (unofficial), 318b6cee71dSXin LI>18 leshort 0x1223 Adapteva Epiphany (unofficial), 319b6cee71dSXin LI>18 leshort 0x2530 Morpho MT (unofficial), 320b6cee71dSXin LI>18 leshort 0x3330 FR30 (unofficial), 321b6cee71dSXin LI>18 leshort 0x3426 OpenRISC (obsolete), 322b6cee71dSXin LI>18 leshort 0x4688 Infineon C166 (unofficial), 323b6cee71dSXin LI>18 leshort 0x5441 Cygnus FRV (unofficial), 324b6cee71dSXin LI>18 leshort 0x5aa5 DLX (unofficial), 325b6cee71dSXin LI>18 leshort 0x7650 Cygnus D10V (unofficial), 326b6cee71dSXin LI>18 leshort 0x7676 Cygnus D30V (unofficial), 327b6cee71dSXin LI>18 leshort 0x8217 Ubicom IP2xxx (unofficial), 328b6cee71dSXin LI>18 leshort 0x8472 OpenRISC (obsolete), 329b6cee71dSXin LI>18 leshort 0x9025 Cygnus PowerPC (unofficial), 330b6cee71dSXin LI>18 leshort 0x9026 Alpha (unofficial), 331b6cee71dSXin LI>18 leshort 0x9041 Cygnus M32R (unofficial), 332b6cee71dSXin LI>18 leshort 0x9080 Cygnus V850 (unofficial), 333b6cee71dSXin LI>18 leshort 0xa390 IBM S/390 (obsolete), 334b6cee71dSXin LI>18 leshort 0xabc7 Old Xtensa (unofficial), 335b6cee71dSXin LI>18 leshort 0xad45 xstormy16 (unofficial), 336b6cee71dSXin LI>18 leshort 0xbaab Old MicroBlaze (unofficial),, 337b6cee71dSXin LI>18 leshort 0xbeef Cygnus MN10300 (unofficial), 338b6cee71dSXin LI>18 leshort 0xdead Cygnus MN10200 (unofficial), 339b6cee71dSXin LI>18 leshort 0xf00d Toshiba MeP (unofficial), 340b6cee71dSXin LI>18 leshort 0xfeb0 Renesas M32C (unofficial), 341b6cee71dSXin LI>18 leshort 0xfeba Vitesse IQ2000 (unofficial), 342b6cee71dSXin LI>18 leshort 0xfebb NIOS (unofficial), 343b6cee71dSXin LI>18 leshort 0xfeed Moxie (unofficial), 344b6cee71dSXin LI>18 default x 34543a5ec4eSXin LI>>18 leshort x *unknown arch %#x* 346b6cee71dSXin LI>20 lelong 0 invalid version 347b6cee71dSXin LI>20 lelong 1 version 1 348b6cee71dSXin LI 349b6cee71dSXin LI0 string \177ELF ELF 350b6cee71dSXin LI!:strength *2 351b6cee71dSXin LI>4 byte 0 invalid class 352b6cee71dSXin LI>4 byte 1 32-bit 353b6cee71dSXin LI>4 byte 2 64-bit 354b6cee71dSXin LI>5 byte 0 invalid byte order 355b6cee71dSXin LI>5 byte 1 LSB 356b6cee71dSXin LI>>0 use elf-le 357b6cee71dSXin LI>5 byte 2 MSB 358b6cee71dSXin LI>>0 use \^elf-le 359282e23f0SXin LI>7 byte 0 (SYSV) 360282e23f0SXin LI>7 byte 1 (HP-UX) 361282e23f0SXin LI>7 byte 2 (NetBSD) 362282e23f0SXin LI>7 byte 3 (GNU/Linux) 363282e23f0SXin LI>7 byte 4 (GNU/Hurd) 364282e23f0SXin LI>7 byte 5 (86Open) 365282e23f0SXin LI>7 byte 6 (Solaris) 366282e23f0SXin LI>7 byte 7 (Monterey) 367282e23f0SXin LI>7 byte 8 (IRIX) 368282e23f0SXin LI>7 byte 9 (FreeBSD) 369282e23f0SXin LI>7 byte 10 (Tru64) 370282e23f0SXin LI>7 byte 11 (Novell Modesto) 371282e23f0SXin LI>7 byte 12 (OpenBSD) 372282e23f0SXin LI>7 byte 13 (OpenVMS) 373282e23f0SXin LI>7 byte 14 (HP NonStop Kernel) 374282e23f0SXin LI>7 byte 15 (AROS Research Operating System) 375282e23f0SXin LI>7 byte 16 (FenixOS) 376282e23f0SXin LI>7 byte 17 (Nuxi CloudABI) 377282e23f0SXin LI>7 byte 97 (ARM) 378*ae316d1dSXin LI>7 byte 102 (Cell LV2) 3792dc4dbb9SEitan Adler>7 byte 202 (Cafe OS) 380282e23f0SXin LI>7 byte 255 (embedded) 381*ae316d1dSXin LI 382*ae316d1dSXin LI# SELF Signed ELF used on the playstation 383*ae316d1dSXin LI# https://www.psdevwiki.com/ps4/SELF_File_Format#make_fself_by_flatz 384*ae316d1dSXin LI# https://www.psdevwiki.com/ps3/SELF_-_SPRX 385*ae316d1dSXin LI0 lelong 0x4F153D1D 386*ae316d1dSXin LI>4 lelong 0x00010112 PS4 Signed ELF file 387*ae316d1dSXin LI>8 byte 1 \b, SELF/SPRX signed-elf/prx 388*ae316d1dSXin LI>8 byte 2 \b, SRVK signed-revoke-list 389*ae316d1dSXin LI>8 byte 3 \b, SPKG signed-package 390*ae316d1dSXin LI>8 byte 4 \b, SSPP signed-security-policy-profile 391*ae316d1dSXin LI>8 byte 5 \b, SDIFF signed-diff 392*ae316d1dSXin LI>8 byte 6 \b, SPSFO signed-param-sfo 393*ae316d1dSXin LI>9 byte&0xf0 x \b, version %#x 394*ae316d1dSXin LI>9 byte&0x0f 4 \b, game 395*ae316d1dSXin LI>9 byte&0x0f 5 \b, module 396*ae316d1dSXin LI>9 byte&0x0f 6 \b, video app 397*ae316d1dSXin LI>9 byte&0x0f 8 \b, System/EX application 398*ae316d1dSXin LI>9 byte&0x0f 9 \b, System/EX module/dll 399*ae316d1dSXin LI#>12 leshort x \b, header size %d 400*ae316d1dSXin LI#>14 leshort x \b, signature size %d 401*ae316d1dSXin LI#>16 lelong x \b, file size %d 402*ae316d1dSXin LI#>18 leshort x \b, number of segments %d 403*ae316d1dSXin LI#>20 leshort 22 404