head 1.22; access; symbols netbsd-11-0-RC4:1.22 netbsd-11-0-RC3:1.22 netbsd-11-0-RC2:1.22 netbsd-11-0-RC1:1.22 perseant-exfatfs-base-20250801:1.22 netbsd-11:1.22.0.4 netbsd-11-base:1.22 netbsd-10-1-RELEASE:1.21 perseant-exfatfs-base-20240630:1.22 perseant-exfatfs:1.22.0.2 perseant-exfatfs-base:1.22 netbsd-8-3-RELEASE:1.14 netbsd-9-4-RELEASE:1.17 netbsd-10-0-RELEASE:1.21 netbsd-10-0-RC6:1.21 netbsd-10-0-RC5:1.21 netbsd-10-0-RC4:1.21 netbsd-10-0-RC3:1.21 netbsd-10-0-RC2:1.21 netbsd-10-0-RC1:1.21 FILE5_45:1.1.1.17 netbsd-10:1.21.0.2 netbsd-10-base:1.21 FILE5_43:1.1.1.16 netbsd-9-3-RELEASE:1.17 cjep_sun2x-base1:1.20 cjep_sun2x:1.20.0.4 cjep_sun2x-base:1.20 cjep_staticlib_x-base1:1.20 netbsd-9-2-RELEASE:1.17 cjep_staticlib_x:1.20.0.2 cjep_staticlib_x-base:1.20 FILE5_40:1.1.1.15 netbsd-9-1-RELEASE:1.17 FILE5_39:1.1.1.14 phil-wifi-20200421:1.18 phil-wifi-20200411:1.18 is-mlppp:1.18.0.2 is-mlppp-base:1.18 phil-wifi-20200406:1.18 netbsd-8-2-RELEASE:1.14 netbsd-9-0-RELEASE:1.17 netbsd-9-0-RC2:1.17 FILE5_38:1.1.1.13 netbsd-9-0-RC1:1.17 phil-wifi-20191119:1.17 netbsd-9:1.17.0.2 netbsd-9-base:1.17 phil-wifi-20190609:1.17 netbsd-8-1-RELEASE:1.14 FILE5_37:1.1.1.12 netbsd-8-1-RC1:1.14 pgoyette-compat-merge-20190127:1.14.10.2 pgoyette-compat-20190127:1.16 pgoyette-compat-20190118:1.16 pgoyette-compat-1226:1.16 pgoyette-compat-1126:1.16 pgoyette-compat-1020:1.16 FILE5_35:1.1.1.11 pgoyette-compat-0930:1.15 pgoyette-compat-0906:1.15 netbsd-7-2-RELEASE:1.9 pgoyette-compat-0728:1.15 netbsd-8-0-RELEASE:1.14 phil-wifi:1.15.0.2 phil-wifi-base:1.15 pgoyette-compat-0625:1.15 netbsd-8-0-RC2:1.14 pgoyette-compat-0521:1.15 pgoyette-compat-0502:1.15 pgoyette-compat-0422:1.15 netbsd-8-0-RC1:1.14 FILE5_33:1.1.1.10 pgoyette-compat-0415:1.14 pgoyette-compat-0407:1.14 pgoyette-compat-0330:1.14 pgoyette-compat-0322:1.14 pgoyette-compat-0315:1.14 netbsd-7-1-2-RELEASE:1.9 pgoyette-compat:1.14.0.10 pgoyette-compat-base:1.14 netbsd-7-1-1-RELEASE:1.9 matt-nb8-mediatek:1.14.0.8 matt-nb8-mediatek-base:1.14 FILE5_32:1.1.1.9 perseant-stdc-iso10646:1.14.0.6 perseant-stdc-iso10646-base:1.14 netbsd-8:1.14.0.4 netbsd-8-base:1.14 FILE5_31:1.1.1.9 prg-localcount2-base3:1.14 prg-localcount2-base2:1.14 prg-localcount2-base1:1.14 prg-localcount2:1.14.0.2 prg-localcount2-base:1.14 pgoyette-localcount-20170426:1.14 bouyer-socketcan-base1:1.14 pgoyette-localcount-20170320:1.14 netbsd-7-1:1.9.0.8 netbsd-7-1-RELEASE:1.9 netbsd-7-1-RC2:1.9 FILE5_30:1.1.1.9 netbsd-7-nhusb-base-20170116:1.9 bouyer-socketcan:1.13.0.4 bouyer-socketcan-base:1.13 pgoyette-localcount-20170107:1.13 netbsd-7-1-RC1:1.9 pgoyette-localcount-20161104:1.13 netbsd-7-0-2-RELEASE:1.9 localcount-20160914:1.13 netbsd-7-nhusb:1.9.0.6 netbsd-7-nhusb-base:1.9 pgoyette-localcount-20160806:1.13 pgoyette-localcount-20160726:1.13 pgoyette-localcount:1.13.0.2 pgoyette-localcount-base:1.13 netbsd-7-0-1-RELEASE:1.9 netbsd-7-0:1.9.0.4 netbsd-7-0-RELEASE:1.9 netbsd-7-0-RC3:1.9 netbsd-7-0-RC2:1.9 netbsd-7-0-RC1:1.9 FILE5_22:1.1.1.8 FILE5_20:1.1.1.8 netbsd-6-0-6-RELEASE:1.1.1.2.6.1 netbsd-6-1-5-RELEASE:1.1.1.2.6.1 netbsd-7:1.9.0.2 netbsd-7-base:1.9 FILE5_19:1.1.1.7 yamt-pagecache-base9:1.8 yamt-pagecache-tag8:1.1.1.2.4.3 netbsd-6-1-4-RELEASE:1.1.1.2.6.1 netbsd-6-0-5-RELEASE:1.1.1.2.6.1 tls-earlyentropy:1.8.0.2 tls-earlyentropy-base:1.9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.8 riastradh-drm2-base3:1.8 netbsd-6-1-3-RELEASE:1.1.1.2.6.1 netbsd-6-0-4-RELEASE:1.1.1.2.6.1 FILE5_16:1.1.1.6 netbsd-6-1-2-RELEASE:1.1.1.2.6.1 netbsd-6-0-3-RELEASE:1.1.1.2.6.1 netbsd-6-1-1-RELEASE:1.1.1.2.6.1 riastradh-drm2-base2:1.6 riastradh-drm2-base1:1.6 riastradh-drm2:1.6.0.6 riastradh-drm2-base:1.6 netbsd-6-1:1.1.1.2.6.1.0.6 netbsd-6-0-2-RELEASE:1.1.1.2.6.1 netbsd-6-1-RELEASE:1.1.1.2.6.1 khorben-n900:1.6.0.4 netbsd-6-1-RC4:1.1.1.2.6.1 netbsd-6-1-RC3:1.1.1.2.6.1 agc-symver:1.6.0.2 agc-symver-base:1.6 FILE5_14:1.1.1.5 netbsd-6-1-RC2:1.1.1.2.6.1 netbsd-6-1-RC1:1.1.1.2.6.1 yamt-pagecache-base8:1.4 FILE_5_12:1.1.1.4 netbsd-6-0-1-RELEASE:1.1.1.2.6.1 yamt-pagecache-base7:1.3 matt-nb6-plus-nbase:1.1.1.2.6.1 yamt-pagecache-base6:1.3 netbsd-6-0:1.1.1.2.6.1.0.4 netbsd-6-0-RELEASE:1.1.1.2.6.1 netbsd-6-0-RC2:1.1.1.2.6.1 tls-maxphys:1.3.0.2 tls-maxphys-base:1.9 matt-nb6-plus:1.1.1.2.6.1.0.2 matt-nb6-plus-base:1.1.1.2.6.1 netbsd-6-0-RC1:1.1.1.2.6.1 yamt-pagecache-base5:1.2 yamt-pagecache-base4:1.2 FILE5_11:1.1.1.3 netbsd-6:1.1.1.2.0.6 netbsd-6-base:1.1.1.2 yamt-pagecache-base3:1.1.1.2 yamt-pagecache-base2:1.1.1.2 yamt-pagecache:1.1.1.2.0.4 yamt-pagecache-base:1.1.1.2 FILE5_09:1.1.1.2 cherry-xenmp:1.1.1.2.0.2 cherry-xenmp-base:1.1.1.2 FILE5_07:1.1.1.2 bouyer-quota2-nbase:1.1.1.1 bouyer-quota2:1.1.1.1.0.4 bouyer-quota2-base:1.1.1.1 matt-mips64-premerge-20101231:1.1.1.1 matt-premerge-20091211:1.1.1.1 jym-xensuspend-base:1.1.1.1 jym-xensuspend:1.1.1.1.0.2 jym-xensuspend-nbase:1.1.1.1 FILE5_03:1.1.1.1 CHRISTOS:1.1.1; locks; strict; comment @# @; 1.22 date 2023.08.18.19.00.10; author christos; state Exp; branches; next 1.21; commitid MBLVQLzqzmQ7IiBE; 1.21 date 2022.09.24.20.21.46; author christos; state Exp; branches; next 1.20; commitid zJ5LoIcubBSIH9VD; 1.20 date 2021.04.09.19.11.41; author christos; state Exp; branches; next 1.19; commitid hKe2GL3vw8SVrEOC; 1.19 date 2020.06.15.00.37.24; author christos; state Exp; branches; next 1.18; commitid OSLCnHKb0ryCRfcC; 1.18 date 2019.12.17.02.31.05; author christos; state Exp; branches; next 1.17; commitid T4BTFY7rQ43kj0PB; 1.17 date 2019.05.22.17.26.05; author christos; state Exp; branches; next 1.16; commitid GumkPZ4rDiPTYdoB; 1.16 date 2018.10.19.00.11.48; author christos; state Exp; branches; next 1.15; commitid rS69r6X9WBZwavWA; 1.15 date 2018.04.15.19.45.32; author christos; state Exp; branches 1.15.2.1; next 1.14; commitid PISTUVsbDjqSFzyA; 1.14 date 2017.02.10.17.53.24; author christos; state Exp; branches 1.14.10.1; next 1.13; commitid bl2PZy94aycnQqFz; 1.13 date 2015.01.02.23.38.45; author christos; state Exp; branches 1.13.2.1 1.13.4.1; next 1.12; commitid HUMUFqiFjuLmvv4y; 1.12 date 2014.10.20.21.48.57; author christos; state Exp; branches; next 1.11; commitid hE8TPef93m86hZUx; 1.11 date 2014.10.10.20.15.01; author christos; state Exp; branches; next 1.10; commitid DPDduhHSBYgR4HTx; 1.10 date 2014.09.19.08.59.38; author matt; state Exp; branches; next 1.9; commitid 69qTdyvYn3A01WQx; 1.9 date 2014.06.13.02.08.06; author christos; state Exp; branches; next 1.8; commitid 4S2W0uH1Gw96TiEx; 1.8 date 2013.12.01.19.32.14; author christos; state Exp; branches 1.8.2.1; next 1.7; commitid gZ22t2PQqTQYTsfx; 1.7 date 2013.08.04.07.49.07; author matt; state Exp; branches; next 1.6; commitid 1vZ3dCyqVLdVP60x; 1.6 date 2013.03.23.16.23.46; author christos; state Exp; branches; next 1.5; 1.5 date 2013.03.23.16.15.58; author christos; state Exp; branches; next 1.4; 1.4 date 2013.01.03.23.05.37; author christos; state Exp; branches; next 1.3; 1.3 date 2012.08.04.15.51.20; author matt; state Exp; branches 1.3.2.1; next 1.2; 1.2 date 2012.02.22.18.25.12; author christos; state Exp; branches; next 1.1; 1.1 date 2009.05.08.16.35.08; author christos; state Exp; branches 1.1.1.1; next ; 1.15.2.1 date 2019.06.10.21.44.46; author christos; state Exp; branches; next 1.15.2.2; commitid jtc8rnCzWiEEHGqB; 1.15.2.2 date 2020.04.08.14.04.04; author martin; state Exp; branches; next ; commitid Qli2aW9E74UFuA3C; 1.14.10.1 date 2018.04.22.07.20.08; author pgoyette; state Exp; branches; next 1.14.10.2; commitid W6xykws0Zbl4kpzA; 1.14.10.2 date 2018.10.20.06.58.20; author pgoyette; state Exp; branches; next ; commitid mTSoqZEZ4arHnFWA; 1.13.2.1 date 2017.03.20.06.52.19; author pgoyette; state Exp; branches; next ; commitid jjw7cAwgyKq7RfKz; 1.13.4.1 date 2017.04.21.16.51.24; author bouyer; state Exp; branches; next ; commitid dUG7nkTKALCadqOz; 1.8.2.1 date 2014.08.10.07.07.10; author tls; state Exp; branches; next ; commitid b1wUlsZGswrdGMLx; 1.3.2.1 date 2013.02.25.00.26.06; author tls; state Exp; branches; next 1.3.2.2; 1.3.2.2 date 2013.06.23.06.26.32; author tls; state Exp; branches; next 1.3.2.3; commitid OnlO1cBgtQRcIHUw; 1.3.2.3 date 2014.08.19.23.46.47; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; 1.1.1.1 date 2009.05.08.16.35.08; author christos; state Exp; branches 1.1.1.1.2.1; next 1.1.1.2; 1.1.1.2 date 2011.05.12.20.46.59; author christos; state Exp; branches 1.1.1.2.4.1 1.1.1.2.6.1; next 1.1.1.3; 1.1.1.3 date 2012.02.22.17.48.32; author christos; state Exp; branches; next 1.1.1.4; 1.1.1.4 date 2013.01.03.16.27.54; author christos; state Exp; branches; next 1.1.1.5; 1.1.1.5 date 2013.03.23.15.49.17; author christos; state Exp; branches; next 1.1.1.6; 1.1.1.6 date 2013.12.01.19.28.18; author christos; state Exp; branches; next 1.1.1.7; commitid RVQIxe3FpM3lSsfx; 1.1.1.7 date 2014.06.13.01.48.24; author christos; state Exp; branches; next 1.1.1.8; commitid jtTYsE5FmJU6MiEx; 1.1.1.8 date 2014.10.10.20.08.21; author christos; state Exp; branches; next 1.1.1.9; commitid pfOzhE33qnut2HTx; 1.1.1.9 date 2017.02.10.17.42.57; author christos; state Exp; branches; next 1.1.1.10; commitid HAP3kn9Hn6ovMqFz; 1.1.1.10 date 2018.04.15.19.32.48; author christos; state Exp; branches; next 1.1.1.11; commitid unKSwpX2g9VqBzyA; 1.1.1.11 date 2018.10.18.23.54.09; author christos; state Exp; branches; next 1.1.1.12; commitid e8WctwerBeEm4vWA; 1.1.1.12 date 2019.05.22.17.19.57; author christos; state Exp; branches; next 1.1.1.13; commitid VXeNRYYruN1MWdoB; 1.1.1.13 date 2019.12.17.02.23.53; author christos; state Exp; branches; next 1.1.1.14; commitid vqYTz60fS9PNg0PB; 1.1.1.14 date 2020.06.15.00.18.48; author christos; state Exp; branches; next 1.1.1.15; commitid HMbuXSjPojU5LfcC; 1.1.1.15 date 2021.04.09.18.58.01; author christos; state Exp; branches; next 1.1.1.16; commitid W9ddLLbSkHHinEOC; 1.1.1.16 date 2022.09.24.20.07.54; author christos; state Exp; branches; next 1.1.1.17; commitid Nf6F9kcpc0EPC9VD; 1.1.1.17 date 2023.08.18.18.36.50; author christos; state Exp; branches; next ; commitid IX26ghc1E2S0AiBE; 1.1.1.1.2.1 date 2009.05.08.16.35.08; author jym; state dead; branches; next 1.1.1.1.2.2; 1.1.1.1.2.2 date 2009.05.13.18.51.55; author jym; state Exp; branches; next ; 1.1.1.2.4.1 date 2012.04.17.00.03.08; author yamt; state Exp; branches; next 1.1.1.2.4.2; 1.1.1.2.4.2 date 2012.10.30.18.54.57; author yamt; state Exp; branches; next 1.1.1.2.4.3; 1.1.1.2.4.3 date 2013.01.23.00.04.35; author yamt; state Exp; branches; next 1.1.1.2.4.4; 1.1.1.2.4.4 date 2014.05.22.15.44.59; author yamt; state Exp; branches; next ; commitid tYJXbWAuFvTh7yBx; 1.1.1.2.6.1 date 2012.03.07.23.18.26; author riz; state Exp; branches; next ; desc @@ 1.22 log @merge conflicts between file-5.43 and file-5.45 @ text @ #------------------------------------------------------------------------------ # $File: elf,v 1.88 2023/01/08 17:09:18 christos Exp $ # elf: file(1) magic for ELF executables # # We have to check the byte order flag to see what byte order all the # other stuff in the header is in. # # What're the correct byte orders for the nCUBE and the Fujitsu VPP500? # # https://www.sco.com/developers/gabi/latest/ch4.eheader.html # # Created by: unknown # Modified by (1): Daniel Quinlan # Modified by (2): Peter Tobias (core support) # Modified by (3): Christian 'Dr. Disk' Hechelmann (fix of core support) # Modified by (4): (VMS Itanium) # Modified by (5): Matthias Urlichs (Listing of many architectures) 0 name elf-mips >0 lelong&0xf0000000 0x00000000 MIPS-I >0 lelong&0xf0000000 0x10000000 MIPS-II >0 lelong&0xf0000000 0x20000000 MIPS-III >0 lelong&0xf0000000 0x30000000 MIPS-IV >0 lelong&0xf0000000 0x40000000 MIPS-V >0 lelong&0xf0000000 0x50000000 MIPS32 >0 lelong&0xf0000000 0x60000000 MIPS64 >0 lelong&0xf0000000 0x70000000 MIPS32 rel2 >0 lelong&0xf0000000 0x80000000 MIPS64 rel2 >0 lelong&0xf0000000 0x90000000 MIPS32 rel6 >0 lelong&0xf0000000 0xa0000000 MIPS64 rel6 0 name elf-sparc >0 lelong&0x00ffff00 0x00000100 V8+ Required, >0 lelong&0x00ffff00 0x00000200 Sun UltraSPARC1 Extensions Required, >0 lelong&0x00ffff00 0x00000400 HaL R1 Extensions Required, >0 lelong&0x00ffff00 0x00000800 Sun UltraSPARC3 Extensions Required, >0 lelong&0x3 0 total store ordering, >0 lelong&0x3 1 partial store ordering, >0 lelong&0x3 2 relaxed memory ordering, 0 name elf-pa-risc >2 leshort 0x020b 1.0 >2 leshort 0x0210 1.1 >2 leshort 0x0214 2.0 >0 leshort &0x0008 (LP64) 0 name elf-riscv >0 lelong&0x00000001 0x00000001 RVC, >0 lelong&0x00000008 0x00000008 RVE, >0 lelong&0x00000006 0x00000000 soft-float ABI, >0 lelong&0x00000006 0x00000002 single-float ABI, >0 lelong&0x00000006 0x00000004 double-float ABI, >0 lelong&0x00000006 0x00000006 quad-float ABI, 0 name elf-le >16 leshort 0 no file type, !:mime application/octet-stream >16 leshort 1 relocatable, !:mime application/x-object >16 leshort 2 executable, !:mime application/x-executable >16 leshort 3 ${x?pie executable:shared object}, !:mime application/x-${x?pie-executable:sharedlib} >16 leshort 4 core file, !:mime application/x-coredump # OS-specific >7 byte 202 >>16 leshort 0xFE01 executable, !:mime application/x-executable # Core file detection is not reliable. #>>>(0x38+0xcc) string >\0 of '%s' #>>>(0x38+0x10) lelong >0 (signal %d), >16 leshort &0xff00 >>18 leshort !8 processor-specific, >>18 leshort 8 >>>16 leshort 0xFF80 PlayStation 2 IOP module, !:mime application/x-sharedlib >>>16 leshort !0xFF80 processor-specific, >18 clear x >18 leshort 0 no machine, >18 leshort 1 AT&T WE32100, >18 leshort 2 SPARC, >18 leshort 3 Intel 80386, >18 leshort 4 Motorola m68k, >>4 byte 1 >>>36 lelong &0x01000000 68000, >>>36 lelong &0x00810000 CPU32, >>>36 lelong 0 68020, >18 leshort 5 Motorola m88k, >18 leshort 6 Intel 80486, >18 leshort 7 Intel 80860, # The official e_machine number for MIPS is now #8, regardless of endianness. # The second number (#10) will be deprecated later. For now, we still # say something if #10 is encountered, but only gory details for #8. >18 leshort 8 MIPS, >>4 byte 1 >>>36 lelong &0x20 N32 >18 leshort 10 MIPS, >>4 byte 1 >>>36 lelong &0x20 N32 >18 leshort 8 # only for 32-bit >>4 byte 1 >>>36 use elf-mips # only for 64-bit >>4 byte 2 >>>48 use elf-mips >18 leshort 9 Amdahl, >18 leshort 10 MIPS (deprecated), >18 leshort 11 RS6000, >18 leshort 15 PA-RISC, # only for 32-bit >>4 byte 1 >>>36 use elf-pa-risc # only for 64-bit >>4 byte 2 >>>48 use elf-pa-risc >18 leshort 16 nCUBE, >18 leshort 17 Fujitsu VPP500, >18 leshort 18 SPARC32PLUS, # only for 32-bit >>4 byte 1 >>>36 use elf-sparc >18 leshort 19 Intel 80960, >18 leshort 20 PowerPC or cisco 4500, >18 leshort 21 64-bit PowerPC or cisco 7500, >>48 lelong 0 Unspecified or Power ELF V1 ABI, >>48 lelong 1 Power ELF V1 ABI, >>48 lelong 2 OpenPOWER ELF V2 ABI, >18 leshort 22 IBM S/390, >18 leshort 23 Cell SPU, >18 leshort 24 cisco SVIP, >18 leshort 25 cisco 7200, >18 leshort 36 NEC V800 or cisco 12000, >18 leshort 37 Fujitsu FR20, >18 leshort 38 TRW RH-32, >18 leshort 39 Motorola RCE, >18 leshort 40 ARM, >>4 byte 1 >>>36 lelong&0xff000000 0x04000000 EABI4 >>>36 lelong&0xff000000 0x05000000 EABI5 >>>36 lelong &0x00800000 BE8 >>>36 lelong &0x00400000 LE8 >18 leshort 41 Alpha, >18 leshort 42 Renesas SH, >18 leshort 43 SPARC V9, >>4 byte 2 >>>48 use elf-sparc >18 leshort 44 Siemens Tricore Embedded Processor, >18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >18 leshort 46 Renesas H8/300, >18 leshort 47 Renesas H8/300H, >18 leshort 48 Renesas H8S, >18 leshort 49 Renesas H8/500, >18 leshort 50 IA-64, >18 leshort 51 Stanford MIPS-X, >18 leshort 52 Motorola Coldfire, >18 leshort 53 Motorola M68HC12, >18 leshort 54 Fujitsu MMA, >18 leshort 55 Siemens PCP, >18 leshort 56 Sony nCPU, >18 leshort 57 Denso NDR1, >18 leshort 58 Start*Core, >18 leshort 59 Toyota ME16, >18 leshort 60 ST100, >18 leshort 61 Tinyj emb., >18 leshort 62 x86-64, >18 leshort 63 Sony DSP, >18 leshort 64 DEC PDP-10, >18 leshort 65 DEC PDP-11, >18 leshort 66 FX66, >18 leshort 67 ST9+ 8/16 bit, >18 leshort 68 ST7 8 bit, >18 leshort 69 MC68HC16, >18 leshort 70 MC68HC11, >18 leshort 71 MC68HC08, >18 leshort 72 MC68HC05, >18 leshort 73 SGI SVx or Cray NV1, >18 leshort 74 ST19 8 bit, >18 leshort 75 Digital VAX, >18 leshort 76 Axis cris, >18 leshort 77 Infineon 32-bit embedded, >18 leshort 78 Element 14 64-bit DSP, >18 leshort 79 LSI Logic 16-bit DSP, >18 leshort 80 MMIX, >18 leshort 81 Harvard machine-independent, >18 leshort 82 SiTera Prism, >18 leshort 83 Atmel AVR 8-bit, >18 leshort 84 Fujitsu FR30, >18 leshort 85 Mitsubishi D10V, >18 leshort 86 Mitsubishi D30V, >18 leshort 87 NEC v850, >18 leshort 88 Renesas M32R, >18 leshort 89 Matsushita MN10300, >18 leshort 90 Matsushita MN10200, >18 leshort 91 picoJava, >18 leshort 92 OpenRISC, >18 leshort 93 Synopsys ARCompact ARC700 cores, >18 leshort 94 Tensilica Xtensa, >18 leshort 95 Alphamosaic VideoCore, >18 leshort 96 Thompson Multimedia, >18 leshort 97 NatSemi 32k, >18 leshort 98 Tenor Network TPC, >18 leshort 99 Trebia SNP 1000, >18 leshort 100 STMicroelectronics ST200, >18 leshort 101 Ubicom IP2022, >18 leshort 102 MAX Processor, >18 leshort 103 NatSemi CompactRISC, >18 leshort 104 Fujitsu F2MC16, >18 leshort 105 TI msp430, >18 leshort 106 Analog Devices Blackfin, >18 leshort 107 S1C33 Family of Seiko Epson, >18 leshort 108 Sharp embedded, >18 leshort 109 Arca RISC, >18 leshort 110 PKU-Unity Ltd., >18 leshort 111 eXcess: 16/32/64-bit, >18 leshort 112 Icera Deep Execution Processor, >18 leshort 113 Altera Nios II, >18 leshort 114 NatSemi CRX, >18 leshort 115 Motorola XGATE, >18 leshort 116 Infineon C16x/XC16x, >18 leshort 117 Renesas M16C series, >18 leshort 118 Microchip dsPIC30F, >18 leshort 119 Freescale RISC core, >18 leshort 120 Renesas M32C series, >18 leshort 131 Altium TSK3000 core, >18 leshort 132 Freescale RS08, >18 leshort 134 Cyan Technology eCOG2, >18 leshort 135 Sunplus S+core7 RISC, >18 leshort 136 New Japan Radio (NJR) 24-bit DSP, >18 leshort 137 Broadcom VideoCore III, >18 leshort 138 LatticeMico32, >18 leshort 139 Seiko Epson C17 family, >18 leshort 140 TI TMS320C6000 DSP family, >18 leshort 141 TI TMS320C2000 DSP family, >18 leshort 142 TI TMS320C55x DSP family, >18 leshort 144 TI Programmable Realtime Unit >18 leshort 160 STMicroelectronics 64bit VLIW DSP, >18 leshort 161 Cypress M8C, >18 leshort 162 Renesas R32C series, >18 leshort 163 NXP TriMedia family, >18 leshort 164 QUALCOMM DSP6, >18 leshort 165 Intel 8051 and variants, >18 leshort 166 STMicroelectronics STxP7x family, >18 leshort 167 Andes embedded RISC, >18 leshort 168 Cyan eCOG1X family, >18 leshort 169 Dallas MAXQ30, >18 leshort 170 New Japan Radio (NJR) 16-bit DSP, >18 leshort 171 M2000 Reconfigurable RISC, >18 leshort 172 Cray NV2 vector architecture, >18 leshort 173 Renesas RX family, >18 leshort 174 META, >18 leshort 175 MCST Elbrus, >18 leshort 176 Cyan Technology eCOG16 family, >18 leshort 177 NatSemi CompactRISC, >18 leshort 178 Freescale Extended Time Processing Unit, >18 leshort 179 Infineon SLE9X, >18 leshort 180 Intel L1OM, >18 leshort 181 Intel K1OM, >18 leshort 183 ARM aarch64, >18 leshort 185 Atmel 32-bit family, >18 leshort 186 STMicroeletronics STM8 8-bit, >18 leshort 187 Tilera TILE64, >18 leshort 188 Tilera TILEPro, >18 leshort 189 Xilinx MicroBlaze 32-bit RISC, >18 leshort 190 NVIDIA CUDA architecture, >18 leshort 191 Tilera TILE-Gx, >18 leshort 195 Synopsys ARCv2/HS3x/HS4x cores, >18 leshort 197 Renesas RL78 family, >18 leshort 199 Renesas 78K0R, >18 leshort 200 Freescale 56800EX, >18 leshort 201 Beyond BA1, >18 leshort 202 Beyond BA2, >18 leshort 203 XMOS xCORE, >18 leshort 204 Microchip 8-bit PIC(r), >18 leshort 210 KM211 KM32, >18 leshort 211 KM211 KMX32, >18 leshort 212 KM211 KMX16, >18 leshort 213 KM211 KMX8, >18 leshort 214 KM211 KVARC, >18 leshort 215 Paneve CDP, >18 leshort 216 Cognitive Smart Memory, >18 leshort 217 iCelero CoolEngine, >18 leshort 218 Nanoradio Optimized RISC, >18 leshort 219 CSR Kalimba architecture family >18 leshort 220 Zilog Z80 >18 leshort 221 Controls and Data Services VISIUMcore processor >18 leshort 222 FTDI Chip FT32 high performance 32-bit RISC architecture >18 leshort 223 Moxie processor family >18 leshort 224 AMD GPU architecture >18 leshort 243 UCB RISC-V, # only for 32-bit >>4 byte 1 >>>36 use elf-riscv # only for 64-bit >>4 byte 2 >>>48 use elf-riscv >18 leshort 244 Lanai 32-bit processor, >18 leshort 245 CEVA Processor Architecture Family, >18 leshort 246 CEVA X2 Processor Family, >18 leshort 247 eBPF, >18 leshort 248 Graphcore Intelligent Processing Unit, >18 leshort 249 Imagination Technologies, >18 leshort 250 Netronome Flow Processor, >18 leshort 251 NEC Vector Engine, >18 leshort 252 C-SKY processor family, >18 leshort 253 Synopsys ARCv3 64-bit ISA/HS6x cores, >18 leshort 254 MOS Technology MCS 6502 processor, >18 leshort 255 Synopsys ARCv3 32-bit, >18 leshort 256 Kalray VLIW core of the MPPA family, >18 leshort 257 WDC 65816/65C816, >18 leshort 258 LoongArch, >18 leshort 259 ChipON KungFu32, >18 leshort 0x1057 AVR (unofficial), >18 leshort 0x1059 MSP430 (unofficial), >18 leshort 0x1223 Adapteva Epiphany (unofficial), >18 leshort 0x2530 Morpho MT (unofficial), >18 leshort 0x3330 FR30 (unofficial), >18 leshort 0x3426 OpenRISC (obsolete), >18 leshort 0x4688 Infineon C166 (unofficial), >18 leshort 0x5441 Cygnus FRV (unofficial), >18 leshort 0x5aa5 DLX (unofficial), >18 leshort 0x7650 Cygnus D10V (unofficial), >18 leshort 0x7676 Cygnus D30V (unofficial), >18 leshort 0x8217 Ubicom IP2xxx (unofficial), >18 leshort 0x8472 OpenRISC (obsolete), >18 leshort 0x9025 Cygnus PowerPC (unofficial), >18 leshort 0x9026 Alpha (unofficial), >18 leshort 0x9041 Cygnus M32R (unofficial), >18 leshort 0x9080 Cygnus V850 (unofficial), >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 0xabc7 Old Xtensa (unofficial), >18 leshort 0xad45 xstormy16 (unofficial), >18 leshort 0xbaab Old MicroBlaze (unofficial),, >18 leshort 0xbeef Cygnus MN10300 (unofficial), >18 leshort 0xdead Cygnus MN10200 (unofficial), >18 leshort 0xf00d Toshiba MeP (unofficial), >18 leshort 0xfeb0 Renesas M32C (unofficial), >18 leshort 0xfeba Vitesse IQ2000 (unofficial), >18 leshort 0xfebb NIOS (unofficial), >18 leshort 0xfeed Moxie (unofficial), >18 default x >>18 leshort x *unknown arch %#x* >20 lelong 0 invalid version >20 lelong 1 version 1 0 string \177ELF ELF !:strength *2 >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB >>0 use elf-le >5 byte 2 MSB >>0 use \^elf-le >7 byte 0 (SYSV) >7 byte 1 (HP-UX) >7 byte 2 (NetBSD) >7 byte 3 (GNU/Linux) >7 byte 4 (GNU/Hurd) >7 byte 5 (86Open) >7 byte 6 (Solaris) >7 byte 7 (Monterey) >7 byte 8 (IRIX) >7 byte 9 (FreeBSD) >7 byte 10 (Tru64) >7 byte 11 (Novell Modesto) >7 byte 12 (OpenBSD) >7 byte 13 (OpenVMS) >7 byte 14 (HP NonStop Kernel) >7 byte 15 (AROS Research Operating System) >7 byte 16 (FenixOS) >7 byte 17 (Nuxi CloudABI) >7 byte 97 (ARM) >7 byte 202 (Cafe OS) >7 byte 255 (embedded) @ 1.21 log @merge changes between 5.40 and 5.43 @ text @d3 1 a3 1 # $File: elf,v 1.87 2021/05/25 15:19:51 christos Exp $ d11 2 d287 6 @ 1.20 log @merge local changes between 5.39 and 5.40 and add magic entries from HEAD. @ text @d3 1 a3 1 # $File: elf,v 1.85 2021/03/27 20:18:38 christos Exp $ d306 1 a306 1 >18 leshort 258 Loongson Loongarch, d337 1 a337 1 >>18 leshort x *unknown arch 0x%x* @ 1.19 log @merge conflicts @ text @d3 1 a3 1 # $File: elf,v 1.80 2020/02/12 22:17:33 christos Exp $ d46 8 d73 6 a78 1 >16 leshort &0xff00 processor-specific, d127 3 d198 1 a198 1 >18 leshort 93 ARC Cores Tangent-A5, d237 1 d268 1 d286 9 d296 12 a307 1 >18 leshort 251 NEC VE, @ 1.18 log @merge conflicts @ text @d3 1 a3 1 # $File: elf,v 1.79 2019/12/16 04:24:01 christos Exp $ d53 3 a55 2 >16 leshort 3 shared object, !:mime application/x-sharedlib @ 1.17 log @merge conflicts @ text @d3 1 a3 1 # $File: elf,v 1.77 2019/01/16 19:33:35 christos Exp $ d41 1 a41 1 >2 leshort 0x0208 1.0 d53 2 a54 3 >16 leshort 3 ${x?pie executable:shared object}, !:mime application/x-${x?pie-executable:sharedlib} @ 1.16 log @Merge conflicts @ text @d3 1 a3 1 # $File: elf,v 1.74 2018/06/23 16:39:53 christos Exp $ d41 2 d268 2 @ 1.15 log @merge conflicts for file-5.33 @ text @d3 1 a3 1 # $File: elf,v 1.72 2018/02/24 19:50:04 christos Exp $ d51 1 a51 1 >16 leshort 3 ${x?pie executable:shared object} d54 1 a54 1 >16 leshort 4 core file d56 4 d328 1 @ 1.15.2.1 log @Sync with HEAD @ text @d3 1 a3 1 # $File: elf,v 1.77 2019/01/16 19:33:35 christos Exp $ a40 2 >2 leshort 0x0208 1.0 >2 leshort 0x0210 1.1 d51 1 a51 1 >16 leshort 3 ${x?pie executable:shared object}, d54 1 a54 1 >16 leshort 4 core file, a55 4 # OS-specific >7 byte 202 >>16 leshort 0xFE01 executable, !:mime application/x-executable a261 2 >18 leshort 247 eBPF, >18 leshort 251 NEC VE, a323 1 >7 byte 202 (Cafe OS) @ 1.15.2.2 log @Merge changes from current as of 20200406 @ text @d3 1 a3 1 # $File: elf,v 1.79 2019/12/16 04:24:01 christos Exp $ d41 1 a41 1 >2 leshort 0x020b 1.0 d53 3 a55 2 >16 leshort 3 shared object, !:mime application/x-sharedlib @ 1.14 log @merge conflicts @ text @d3 1 a3 1 # $File: elf,v 1.70 2016/06/02 12:36:30 christos Exp $ d51 3 a53 2 >16 leshort 3 shared object, !:mime application/x-sharedlib @ 1.14.10.1 log @Sync with HEAD @ text @d3 1 a3 1 # $File: elf,v 1.72 2018/02/24 19:50:04 christos Exp $ d51 2 a52 3 >16 leshort 3 ${x?pie executable:shared object} !:mime application/x-${x?pie-executable:sharedlib} @ 1.14.10.2 log @Sync with head @ text @d3 1 a3 1 # $File: elf,v 1.74 2018/06/23 16:39:53 christos Exp $ d51 1 a51 1 >16 leshort 3 ${x?pie executable:shared object}, d54 1 a54 1 >16 leshort 4 core file, a55 4 # OS-specific >7 byte 202 >>16 leshort 0xFE01 executable, !:mime application/x-executable a323 1 >7 byte 202 (Cafe OS) @ 1.13 log @add a clear that did not merge. @ text @d3 1 a3 1 # $File: elf,v 1.68 2014/09/19 19:05:57 christos Exp $ d18 26 d84 1 a84 9 >>>36 lelong&0xf0000000 0x00000000 MIPS-I >>>36 lelong&0xf0000000 0x10000000 MIPS-II >>>36 lelong&0xf0000000 0x20000000 MIPS-III >>>36 lelong&0xf0000000 0x30000000 MIPS-IV >>>36 lelong&0xf0000000 0x40000000 MIPS-V >>>36 lelong&0xf0000000 0x50000000 MIPS32 >>>36 lelong&0xf0000000 0x60000000 MIPS64 >>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 d87 1 a87 9 >>>48 lelong&0xf0000000 0x00000000 MIPS-I >>>48 lelong&0xf0000000 0x10000000 MIPS-II >>>48 lelong&0xf0000000 0x20000000 MIPS-III >>>48 lelong&0xf0000000 0x30000000 MIPS-IV >>>48 lelong&0xf0000000 0x40000000 MIPS-V >>>48 lelong&0xf0000000 0x50000000 MIPS32 >>>48 lelong&0xf0000000 0x60000000 MIPS64 >>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 d94 1 a94 2 >>>38 leshort 0x0214 2.0 >>>36 leshort &0x0008 (LP64) d97 1 a97 2 >>>50 leshort 0x0214 2.0 >>>48 leshort &0x0008 (LP64) d103 1 a103 4 >>>36 lelong&0xffff00 0x000100 V8+ Required, >>>36 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>36 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>36 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, d125 1 a125 6 >>>48 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>48 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>48 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>48 lelong&0x3 0 total store ordering, >>>48 lelong&0x3 1 partial store ordering, >>>48 lelong&0x3 2 relaxed memory ordering, d304 20 a323 22 # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed # like proper ELF, but extracting the string had bad results. >4 byte <0x80 >>8 string >\0 (%s) >8 string \0 >>7 byte 0 (SYSV) >>7 byte 1 (HP-UX) >>7 byte 2 (NetBSD) >>7 byte 3 (GNU/Linux) >>7 byte 4 (GNU/Hurd) >>7 byte 5 (86Open) >>7 byte 6 (Solaris) >>7 byte 7 (Monterey) >>7 byte 8 (IRIX) >>7 byte 9 (FreeBSD) >>7 byte 10 (Tru64) >>7 byte 11 (Novell Modesto) >>7 byte 12 (OpenBSD) >8 string \2 >>7 byte 13 (OpenVMS) >>7 byte 97 (ARM) >>7 byte 255 (embedded) @ 1.13.4.1 log @Sync with HEAD @ text @d3 1 a3 1 # $File: elf,v 1.70 2016/06/02 12:36:30 christos Exp $ a17 26 0 name elf-mips >0 lelong&0xf0000000 0x00000000 MIPS-I >0 lelong&0xf0000000 0x10000000 MIPS-II >0 lelong&0xf0000000 0x20000000 MIPS-III >0 lelong&0xf0000000 0x30000000 MIPS-IV >0 lelong&0xf0000000 0x40000000 MIPS-V >0 lelong&0xf0000000 0x50000000 MIPS32 >0 lelong&0xf0000000 0x60000000 MIPS64 >0 lelong&0xf0000000 0x70000000 MIPS32 rel2 >0 lelong&0xf0000000 0x80000000 MIPS64 rel2 >0 lelong&0xf0000000 0x90000000 MIPS32 rel6 >0 lelong&0xf0000000 0xa0000000 MIPS64 rel6 0 name elf-sparc >0 lelong&0x00ffff00 0x00000100 V8+ Required, >0 lelong&0x00ffff00 0x00000200 Sun UltraSPARC1 Extensions Required, >0 lelong&0x00ffff00 0x00000400 HaL R1 Extensions Required, >0 lelong&0x00ffff00 0x00000800 Sun UltraSPARC3 Extensions Required, >0 lelong&0x3 0 total store ordering, >0 lelong&0x3 1 partial store ordering, >0 lelong&0x3 2 relaxed memory ordering, 0 name elf-pa-risc >2 leshort 0x0214 2.0 >0 leshort &0x0008 (LP64) d58 9 a66 1 >>>36 use elf-mips d69 9 a77 1 >>>48 use elf-mips d84 2 a85 1 >>>36 use elf-pa-risc d88 2 a89 1 >>>48 use elf-pa-risc d95 4 a98 1 >>>36 use elf-sparc d120 6 a125 1 >>>48 use elf-sparc d304 22 a325 20 >7 byte 0 (SYSV) >7 byte 1 (HP-UX) >7 byte 2 (NetBSD) >7 byte 3 (GNU/Linux) >7 byte 4 (GNU/Hurd) >7 byte 5 (86Open) >7 byte 6 (Solaris) >7 byte 7 (Monterey) >7 byte 8 (IRIX) >7 byte 9 (FreeBSD) >7 byte 10 (Tru64) >7 byte 11 (Novell Modesto) >7 byte 12 (OpenBSD) >7 byte 13 (OpenVMS) >7 byte 14 (HP NonStop Kernel) >7 byte 15 (AROS Research Operating System) >7 byte 16 (FenixOS) >7 byte 17 (Nuxi CloudABI) >7 byte 97 (ARM) >7 byte 255 (embedded) @ 1.13.2.1 log @Sync with HEAD @ text @d3 1 a3 1 # $File: elf,v 1.70 2016/06/02 12:36:30 christos Exp $ a17 26 0 name elf-mips >0 lelong&0xf0000000 0x00000000 MIPS-I >0 lelong&0xf0000000 0x10000000 MIPS-II >0 lelong&0xf0000000 0x20000000 MIPS-III >0 lelong&0xf0000000 0x30000000 MIPS-IV >0 lelong&0xf0000000 0x40000000 MIPS-V >0 lelong&0xf0000000 0x50000000 MIPS32 >0 lelong&0xf0000000 0x60000000 MIPS64 >0 lelong&0xf0000000 0x70000000 MIPS32 rel2 >0 lelong&0xf0000000 0x80000000 MIPS64 rel2 >0 lelong&0xf0000000 0x90000000 MIPS32 rel6 >0 lelong&0xf0000000 0xa0000000 MIPS64 rel6 0 name elf-sparc >0 lelong&0x00ffff00 0x00000100 V8+ Required, >0 lelong&0x00ffff00 0x00000200 Sun UltraSPARC1 Extensions Required, >0 lelong&0x00ffff00 0x00000400 HaL R1 Extensions Required, >0 lelong&0x00ffff00 0x00000800 Sun UltraSPARC3 Extensions Required, >0 lelong&0x3 0 total store ordering, >0 lelong&0x3 1 partial store ordering, >0 lelong&0x3 2 relaxed memory ordering, 0 name elf-pa-risc >2 leshort 0x0214 2.0 >0 leshort &0x0008 (LP64) d58 9 a66 1 >>>36 use elf-mips d69 9 a77 1 >>>48 use elf-mips d84 2 a85 1 >>>36 use elf-pa-risc d88 2 a89 1 >>>48 use elf-pa-risc d95 4 a98 1 >>>36 use elf-sparc d120 6 a125 1 >>>48 use elf-sparc d304 22 a325 20 >7 byte 0 (SYSV) >7 byte 1 (HP-UX) >7 byte 2 (NetBSD) >7 byte 3 (GNU/Linux) >7 byte 4 (GNU/Hurd) >7 byte 5 (86Open) >7 byte 6 (Solaris) >7 byte 7 (Monterey) >7 byte 8 (IRIX) >7 byte 9 (FreeBSD) >7 byte 10 (Tru64) >7 byte 11 (Novell Modesto) >7 byte 12 (OpenBSD) >7 byte 13 (OpenVMS) >7 byte 14 (HP NonStop Kernel) >7 byte 15 (AROS Research Operating System) >7 byte 16 (FenixOS) >7 byte 17 (Nuxi CloudABI) >7 byte 97 (ARM) >7 byte 255 (embedded) @ 1.12 log @sync with head of upstream to fix MacOS/X compilation and more. @ text @d33 1 @ 1.11 log @welcome to file-5.20 @ text @a32 1 >18 clear x @ 1.10 log @Add UCB RISC-V EM value @ text @d3 1 a3 1 # $File: elf,v 1.67 2014/06/12 13:52:48 christos Exp $ d260 1 a260 1 >18 leshort 243 UCB RISC-V @ 1.9 log @merge conflicts @ text @d260 1 @ 1.8 log @merge conflicts @ text @d3 1 a3 1 # $File: elf,v 1.64 2013/08/04 09:31:47 christos Exp $ d35 2 a36 2 >18 leshort 1 AT&T WE32100 >18 leshort 2 SPARC d38 1 a38 1 >18 leshort 4 Motorola d43 1 a43 1 >18 leshort 5 Motorola 88000, d99 1 a116 1 >18 leshort 0xa390 IBM S/390 (obsolete), d146 2 d177 2 d180 8 d189 6 d196 32 a227 1 >18 beshort 138 LatticeMico32, d229 7 d237 2 d241 2 d244 21 d266 6 d273 1 d275 13 @ 1.8.2.1 log @Rebase. @ text @d3 1 a3 1 # $File: elf,v 1.67 2014/06/12 13:52:48 christos Exp $ d35 2 a36 2 >18 leshort 1 AT&T WE32100, >18 leshort 2 SPARC, d38 1 a38 1 >18 leshort 4 Motorola m68k, d43 1 a43 1 >18 leshort 5 Motorola m88k, a98 1 >18 leshort 19 Intel 80960, d116 1 a145 2 >18 leshort 64 DEC PDP-10, >18 leshort 65 DEC PDP-11, a174 2 >18 leshort 95 Alphamosaic VideoCore, >18 leshort 96 Thompson Multimedia, a175 8 >18 leshort 98 Tenor Network TPC, >18 leshort 99 Trebia SNP 1000, >18 leshort 100 STMicroelectronics ST200, >18 leshort 101 Ubicom IP2022, >18 leshort 102 MAX Processor, >18 leshort 103 NatSemi CompactRISC, >18 leshort 104 Fujitsu F2MC16, >18 leshort 105 TI msp430, a176 6 >18 leshort 107 S1C33 Family of Seiko Epson, >18 leshort 108 Sharp embedded, >18 leshort 109 Arca RISC, >18 leshort 110 PKU-Unity Ltd., >18 leshort 111 eXcess: 16/32/64-bit, >18 leshort 112 Icera Deep Execution Processor, d178 1 a178 32 >18 leshort 114 NatSemi CRX, >18 leshort 115 Motorola XGATE, >18 leshort 116 Infineon C16x/XC16x, >18 leshort 117 Renesas M16C series, >18 leshort 118 Microchip dsPIC30F, >18 leshort 119 Freescale RISC core, >18 leshort 120 Renesas M32C series, >18 leshort 131 Altium TSK3000 core, >18 leshort 132 Freescale RS08, >18 leshort 134 Cyan Technology eCOG2, >18 leshort 135 Sunplus S+core7 RISC, >18 leshort 136 New Japan Radio (NJR) 24-bit DSP, >18 leshort 137 Broadcom VideoCore III, >18 leshort 138 LatticeMico32, >18 leshort 139 Seiko Epson C17 family, >18 leshort 140 TI TMS320C6000 DSP family, >18 leshort 141 TI TMS320C2000 DSP family, >18 leshort 142 TI TMS320C55x DSP family, >18 leshort 160 STMicroelectronics 64bit VLIW DSP, >18 leshort 161 Cypress M8C, >18 leshort 162 Renesas R32C series, >18 leshort 163 NXP TriMedia family, >18 leshort 164 QUALCOMM DSP6, >18 leshort 165 Intel 8051 and variants, >18 leshort 166 STMicroelectronics STxP7x family, >18 leshort 167 Andes embedded RISC, >18 leshort 168 Cyan eCOG1X family, >18 leshort 169 Dallas MAXQ30, >18 leshort 170 New Japan Radio (NJR) 16-bit DSP, >18 leshort 171 M2000 Reconfigurable RISC, >18 leshort 172 Cray NV2 vector architecture, >18 leshort 173 Renesas RX family, a179 7 >18 leshort 175 MCST Elbrus, >18 leshort 176 Cyan Technology eCOG16 family, >18 leshort 177 NatSemi CompactRISC, >18 leshort 178 Freescale Extended Time Processing Unit, >18 leshort 179 Infineon SLE9X, >18 leshort 180 Intel L1OM, >18 leshort 181 Intel K1OM, a180 2 >18 leshort 185 Atmel 32-bit family, >18 leshort 186 STMicroeletronics STM8 8-bit, a182 2 >18 leshort 189 Xilinx MicroBlaze 32-bit RISC, >18 leshort 190 NVIDIA CUDA architecture, a183 21 >18 leshort 197 Renesas RL78 family, >18 leshort 199 Renesas 78K0R, >18 leshort 200 Freescale 56800EX, >18 leshort 201 Beyond BA1, >18 leshort 202 Beyond BA2, >18 leshort 203 XMOS xCORE, >18 leshort 204 Microchip 8-bit PIC(r), >18 leshort 210 KM211 KM32, >18 leshort 211 KM211 KMX32, >18 leshort 212 KM211 KMX16, >18 leshort 213 KM211 KMX8, >18 leshort 214 KM211 KVARC, >18 leshort 215 Paneve CDP, >18 leshort 216 Cognitive Smart Memory, >18 leshort 217 iCelero CoolEngine, >18 leshort 218 Nanoradio Optimized RISC, >18 leshort 0x1057 AVR (unofficial), >18 leshort 0x1059 MSP430 (unofficial), >18 leshort 0x1223 Adapteva Epiphany (unofficial), >18 leshort 0x2530 Morpho MT (unofficial), >18 leshort 0x3330 FR30 (unofficial), a184 6 >18 leshort 0x4688 Infineon C166 (unofficial), >18 leshort 0x5441 Cygnus FRV (unofficial), >18 leshort 0x5aa5 DLX (unofficial), >18 leshort 0x7650 Cygnus D10V (unofficial), >18 leshort 0x7676 Cygnus D30V (unofficial), >18 leshort 0x8217 Ubicom IP2xxx (unofficial), a185 1 >18 leshort 0x9025 Cygnus PowerPC (unofficial), a186 13 >18 leshort 0x9041 Cygnus M32R (unofficial), >18 leshort 0x9080 Cygnus V850 (unofficial), >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 0xabc7 Old Xtensa (unofficial), >18 leshort 0xad45 xstormy16 (unofficial), >18 leshort 0xbaab Old MicroBlaze (unofficial),, >18 leshort 0xbeef Cygnus MN10300 (unofficial), >18 leshort 0xdead Cygnus MN10200 (unofficial), >18 leshort 0xf00d Toshiba MeP (unofficial), >18 leshort 0xfeb0 Renesas M32C (unofficial), >18 leshort 0xfeba Vitesse IQ2000 (unofficial), >18 leshort 0xfebb NIOS (unofficial), >18 leshort 0xfeed Moxie (unofficial), @ 1.7 log @Print out BE8 and LE8 for arm elf @ text @d3 1 a3 1 # $File: elf,v 1.59 2013/03/21 17:50:02 christos Exp $ d33 1 d40 4 a43 4 >>>36 lelong &0x01000000 68000 - invalid byte order, >>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>36 lelong 0 68020 - invalid byte order, >18 leshort 5 Motorola 88000 - invalid byte order, d78 1 a78 1 >18 leshort 9 Amdahl - invalid byte order, d80 2 a81 2 >18 leshort 11 RS6000 - invalid byte order, >18 leshort 15 PA-RISC - invalid byte order, d178 1 d187 2 @ 1.6 log @remove extra space @ text @d112 2 @ 1.5 log @merge new file @ text @d192 1 a192 1 >5 byte 1 LSB d194 1 a194 1 >5 byte 2 MSB @ 1.4 log @merge changes @ text @d3 1 a3 1 # $File: elf,v 1.58 2012/11/06 20:43:52 christos Exp $ a19 1 !:strength *2 d187 1 @ 1.3 log @Add EABI4 and EABI5 for arm @ text @d3 1 a3 1 # $File: elf,v 1.54 2011/12/17 17:16:29 christos Exp $ d17 3 a19 7 0 string \177ELF ELF >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB >>16 leshort 0 no file type, d22 1 a22 1 >>16 leshort 1 relocatable, d24 1 a24 1 >>16 leshort 2 executable, d26 1 a26 1 >>16 leshort 3 shared object, d28 1 a28 1 >>16 leshort 4 core file d33 13 a45 13 >>16 leshort &0xff00 processor-specific, >>18 leshort 0 no machine, >>18 leshort 1 AT&T WE32100 - invalid byte order, >>18 leshort 2 SPARC - invalid byte order, >>18 leshort 3 Intel 80386, >>18 leshort 4 Motorola >>>4 byte 1 >>>>36 lelong &0x01000000 68000 - invalid byte order, >>>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>>36 lelong 0 68020 - invalid byte order, >>18 leshort 5 Motorola 88000 - invalid byte order, >>18 leshort 6 Intel 80486, >>18 leshort 7 Intel 80860, d49 7 a55 153 >>18 leshort 8 MIPS, >>>4 byte 1 >>>>36 lelong &0x20 N32 >>18 leshort 10 MIPS, >>>4 byte 1 >>>>36 lelong &0x20 N32 >>18 leshort 8 # only for 32-bit >>>4 byte 1 >>>>36 lelong&0xf0000000 0x00000000 MIPS-I >>>>36 lelong&0xf0000000 0x10000000 MIPS-II >>>>36 lelong&0xf0000000 0x20000000 MIPS-III >>>>36 lelong&0xf0000000 0x30000000 MIPS-IV >>>>36 lelong&0xf0000000 0x40000000 MIPS-V >>>>36 lelong&0xf0000000 0x50000000 MIPS32 >>>>36 lelong&0xf0000000 0x60000000 MIPS64 >>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 # only for 64-bit >>>4 byte 2 >>>>48 lelong&0xf0000000 0x00000000 MIPS-I >>>>48 lelong&0xf0000000 0x10000000 MIPS-II >>>>48 lelong&0xf0000000 0x20000000 MIPS-III >>>>48 lelong&0xf0000000 0x30000000 MIPS-IV >>>>48 lelong&0xf0000000 0x40000000 MIPS-V >>>>48 lelong&0xf0000000 0x50000000 MIPS32 >>>>48 lelong&0xf0000000 0x60000000 MIPS64 >>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 >>18 leshort 9 Amdahl - invalid byte order, >>18 leshort 10 MIPS (deprecated), >>18 leshort 11 RS6000 - invalid byte order, >>18 leshort 15 PA-RISC - invalid byte order, # only for 32-bit >>>4 byte 1 >>>>38 leshort 0x0214 2.0 >>>>36 leshort &0x0008 (LP64) # only for 64-bit >>>4 byte 2 >>>>50 leshort 0x0214 2.0 >>>>48 leshort &0x0008 (LP64) >>18 leshort 16 nCUBE, >>18 leshort 17 Fujitsu VPP500, >>18 leshort 18 SPARC32PLUS - invalid byte order, >>18 leshort 20 PowerPC, >>18 leshort 22 IBM S/390, >>18 leshort 36 NEC V800, >>18 leshort 37 Fujitsu FR20, >>18 leshort 38 TRW RH-32, >>18 leshort 39 Motorola RCE, >>18 leshort 40 ARM, >>>4 byte 1 >>>>36 lelong&0xff000000 0x04000000 EABI4 >>>>36 lelong&0xff000000 0x05000000 EABI5 >>18 leshort 41 Alpha, >>18 leshort 0xa390 IBM S/390 (obsolete), >>18 leshort 42 Renesas SH, >>18 leshort 43 SPARC V9 - invalid byte order, >>18 leshort 44 Siemens Tricore Embedded Processor, >>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >>18 leshort 46 Renesas H8/300, >>18 leshort 47 Renesas H8/300H, >>18 leshort 48 Renesas H8S, >>18 leshort 49 Renesas H8/500, >>18 leshort 50 IA-64, >>18 leshort 51 Stanford MIPS-X, >>18 leshort 52 Motorola Coldfire, >>18 leshort 53 Motorola M68HC12, >>18 leshort 54 Fujitsu MMA, >>18 leshort 55 Siemens PCP, >>18 leshort 56 Sony nCPU, >>18 leshort 57 Denso NDR1, >>18 leshort 58 Start*Core, >>18 leshort 59 Toyota ME16, >>18 leshort 60 ST100, >>18 leshort 61 Tinyj emb., >>18 leshort 62 x86-64, >>18 leshort 63 Sony DSP, >>18 leshort 66 FX66, >>18 leshort 67 ST9+ 8/16 bit, >>18 leshort 68 ST7 8 bit, >>18 leshort 69 MC68HC16, >>18 leshort 70 MC68HC11, >>18 leshort 71 MC68HC08, >>18 leshort 72 MC68HC05, >>18 leshort 73 SGI SVx, >>18 leshort 74 ST19 8 bit, >>18 leshort 75 Digital VAX, >>18 leshort 76 Axis cris, >>18 leshort 77 Infineon 32-bit embedded, >>18 leshort 78 Element 14 64-bit DSP, >>18 leshort 79 LSI Logic 16-bit DSP, >>18 leshort 80 MMIX, >>18 leshort 81 Harvard machine-independent, >>18 leshort 82 SiTera Prism, >>18 leshort 83 Atmel AVR 8-bit, >>18 leshort 84 Fujitsu FR30, >>18 leshort 85 Mitsubishi D10V, >>18 leshort 86 Mitsubishi D30V, >>18 leshort 87 NEC v850, >>18 leshort 88 Renesas M32R, >>18 leshort 89 Matsushita MN10300, >>18 leshort 90 Matsushita MN10200, >>18 leshort 91 picoJava, >>18 leshort 92 OpenRISC, >>18 leshort 93 ARC Cores Tangent-A5, >>18 leshort 94 Tensilica Xtensa, >>18 leshort 97 NatSemi 32k, >>18 leshort 106 Analog Devices Blackfin, >>18 leshort 113 Altera Nios II, >>18 leshort 0xae META, >>18 leshort 187 Tilera TILE64, >>18 leshort 188 Tilera TILEPro, >>18 leshort 191 Tilera TILE-Gx, >>18 leshort 0x3426 OpenRISC (obsolete), >>18 leshort 0x8472 OpenRISC (obsolete), >>18 leshort 0x9026 Alpha (unofficial), >>20 lelong 0 invalid version >>20 lelong 1 version 1 >5 byte 2 MSB >>16 beshort 0 no file type, !:mime application/octet-stream >>16 beshort 1 relocatable, !:mime application/x-object >>16 beshort 2 executable, !:mime application/x-executable >>16 beshort 3 shared object, !:mime application/x-sharedlib >>16 beshort 4 core file, !:mime application/x-coredump #>>>(0x38+0xcc) string >\0 of '%s' #>>>(0x38+0x10) belong >0 (signal %d), >>16 beshort &0xff00 processor-specific, >>18 beshort 0 no machine, >>18 beshort 1 AT&T WE32100, >>18 beshort 2 SPARC, >>18 beshort 3 Intel 80386 - invalid byte order, >>18 beshort 4 Motorola >>>4 byte 1 >>>>36 belong &0x01000000 68000, >>>>36 belong &0x00810000 CPU32, >>>>36 belong 0 68020, >>18 beshort 5 Motorola 88000, >>18 beshort 6 Intel 80486 - invalid byte order, >>18 beshort 7 Intel 80860, # only for MIPS - see comment in little-endian section above. >>18 beshort 8 MIPS, >>>4 byte 1 >>>>36 belong &0x20 N32 >>18 beshort 10 MIPS, >>>4 byte 1 >>>>36 belong &0x20 N32 >>18 beshort 8 d57 10 a66 10 >>>4 byte 1 >>>>36 belong&0xf0000000 0x00000000 MIPS-I >>>>36 belong&0xf0000000 0x10000000 MIPS-II >>>>36 belong&0xf0000000 0x20000000 MIPS-III >>>>36 belong&0xf0000000 0x30000000 MIPS-IV >>>>36 belong&0xf0000000 0x40000000 MIPS-V >>>>36 belong&0xf0000000 0x50000000 MIPS32 >>>>36 belong&0xf0000000 0x60000000 MIPS64 >>>>36 belong&0xf0000000 0x70000000 MIPS32 rel2 >>>>36 belong&0xf0000000 0x80000000 MIPS64 rel2 d68 14 a81 14 >>>4 byte 2 >>>>48 belong&0xf0000000 0x00000000 MIPS-I >>>>48 belong&0xf0000000 0x10000000 MIPS-II >>>>48 belong&0xf0000000 0x20000000 MIPS-III >>>>48 belong&0xf0000000 0x30000000 MIPS-IV >>>>48 belong&0xf0000000 0x40000000 MIPS-V >>>>48 belong&0xf0000000 0x50000000 MIPS32 >>>>48 belong&0xf0000000 0x60000000 MIPS64 >>>>48 belong&0xf0000000 0x70000000 MIPS32 rel2 >>>>48 belong&0xf0000000 0x80000000 MIPS64 rel2 >>18 beshort 9 Amdahl, >>18 beshort 10 MIPS (deprecated), >>18 beshort 11 RS6000, >>18 beshort 15 PA-RISC d83 3 a85 3 >>>4 byte 1 >>>>38 beshort 0x0214 2.0 >>>>36 beshort &0x0008 (LP64) d87 6 a92 6 >>>4 byte 2 >>>>50 beshort 0x0214 2.0 >>>>48 beshort &0x0008 (LP64) >>18 beshort 16 nCUBE, >>18 beshort 17 Fujitsu VPP500, >>18 beshort 18 SPARC32PLUS, d94 102 a195 57 >>>4 byte 1 >>>>36 belong&0xffff00 0x000100 V8+ Required, >>>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>18 beshort 20 PowerPC or cisco 4500, >>18 beshort 21 64-bit PowerPC or cisco 7500, >>18 beshort 22 IBM S/390, >>18 beshort 23 Cell SPU, >>18 beshort 24 cisco SVIP, >>18 beshort 25 cisco 7200, >>18 beshort 36 NEC V800 or cisco 12000, >>18 beshort 37 Fujitsu FR20, >>18 beshort 38 TRW RH-32, >>18 beshort 39 Motorola RCE, >>18 beshort 40 ARM, >>>4 byte 2 >>>>36 belong&0xff000000 0x04000000 EABI4 >>>>36 belong&0xff000000 0x05000000 EABI5 >>18 beshort 41 Alpha, >>18 beshort 42 Renesas SH, >>18 beshort 43 SPARC V9, >>>4 byte 2 >>>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>>48 belong&0x3 0 total store ordering, >>>>48 belong&0x3 1 partial store ordering, >>>>48 belong&0x3 2 relaxed memory ordering, >>18 beshort 44 Siemens Tricore Embedded Processor, >>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >>18 beshort 46 Renesas H8/300, >>18 beshort 47 Renesas H8/300H, >>18 beshort 48 Renesas H8S, >>18 beshort 49 Renesas H8/500, >>18 beshort 50 IA-64, >>18 beshort 51 Stanford MIPS-X, >>18 beshort 52 Motorola Coldfire, >>18 beshort 53 Motorola M68HC12, >>18 beshort 73 Cray NV1, >>18 beshort 75 Digital VAX, >>18 beshort 88 Renesas M32R, >>18 leshort 92 OpenRISC, >>18 leshort 0x3426 OpenRISC (obsolete), >>18 leshort 0x8472 OpenRISC (obsolete), >>18 beshort 94 Tensilica Xtensa, >>18 beshort 97 NatSemi 32k, >>18 beshort 187 Tilera TILE64, >>18 beshort 188 Tilera TILEPro, >>18 beshort 191 Tilera TILE-Gx, >>18 beshort 0x18ad AVR32 (unofficial), >>18 beshort 0x9026 Alpha (unofficial), >>18 beshort 0xa390 IBM S/390 (obsolete), >>>20 belong 0 invalid version >>>20 belong 1 version 1 >>>4 byte 1 >>>>36 belong 1 MathCoPro/FPU/MAU Required @ 1.3.2.1 log @resync with head @ text @d3 1 a3 1 # $File: elf,v 1.58 2012/11/06 20:43:52 christos Exp $ d17 7 a23 3 0 name elf-le >16 leshort 0 no file type, d26 1 a26 1 >16 leshort 1 relocatable, d28 1 a28 1 >16 leshort 2 executable, d30 1 a30 1 >16 leshort 3 shared object, d32 1 a32 1 >16 leshort 4 core file d37 13 a49 13 >16 leshort &0xff00 processor-specific, >18 leshort 0 no machine, >18 leshort 1 AT&T WE32100 >18 leshort 2 SPARC >18 leshort 3 Intel 80386, >18 leshort 4 Motorola >>4 byte 1 >>>36 lelong &0x01000000 68000 - invalid byte order, >>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>36 lelong 0 68020 - invalid byte order, >18 leshort 5 Motorola 88000 - invalid byte order, >18 leshort 6 Intel 80486, >18 leshort 7 Intel 80860, d53 153 a205 7 >18 leshort 8 MIPS, >>4 byte 1 >>>36 lelong &0x20 N32 >18 leshort 10 MIPS, >>4 byte 1 >>>36 lelong &0x20 N32 >18 leshort 8 d207 10 a216 10 >>4 byte 1 >>>36 lelong&0xf0000000 0x00000000 MIPS-I >>>36 lelong&0xf0000000 0x10000000 MIPS-II >>>36 lelong&0xf0000000 0x20000000 MIPS-III >>>36 lelong&0xf0000000 0x30000000 MIPS-IV >>>36 lelong&0xf0000000 0x40000000 MIPS-V >>>36 lelong&0xf0000000 0x50000000 MIPS32 >>>36 lelong&0xf0000000 0x60000000 MIPS64 >>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 d218 14 a231 14 >>4 byte 2 >>>48 lelong&0xf0000000 0x00000000 MIPS-I >>>48 lelong&0xf0000000 0x10000000 MIPS-II >>>48 lelong&0xf0000000 0x20000000 MIPS-III >>>48 lelong&0xf0000000 0x30000000 MIPS-IV >>>48 lelong&0xf0000000 0x40000000 MIPS-V >>>48 lelong&0xf0000000 0x50000000 MIPS32 >>>48 lelong&0xf0000000 0x60000000 MIPS64 >>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 >18 leshort 9 Amdahl - invalid byte order, >18 leshort 10 MIPS (deprecated), >18 leshort 11 RS6000 - invalid byte order, >18 leshort 15 PA-RISC - invalid byte order, d233 3 a235 3 >>4 byte 1 >>>38 leshort 0x0214 2.0 >>>36 leshort &0x0008 (LP64) d237 6 a242 6 >>4 byte 2 >>>50 leshort 0x0214 2.0 >>>48 leshort &0x0008 (LP64) >18 leshort 16 nCUBE, >18 leshort 17 Fujitsu VPP500, >18 leshort 18 SPARC32PLUS, d244 57 a300 102 >>4 byte 1 >>>36 lelong&0xffff00 0x000100 V8+ Required, >>>36 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>36 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>36 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >18 leshort 20 PowerPC or cisco 4500, >18 leshort 21 64-bit PowerPC or cisco 7500, >18 leshort 22 IBM S/390, >18 leshort 23 Cell SPU, >18 leshort 24 cisco SVIP, >18 leshort 25 cisco 7200, >18 leshort 36 NEC V800 or cisco 12000, >18 leshort 37 Fujitsu FR20, >18 leshort 38 TRW RH-32, >18 leshort 39 Motorola RCE, >18 leshort 40 ARM, >>4 byte 1 >>>36 lelong&0xff000000 0x04000000 EABI4 >>>36 lelong&0xff000000 0x05000000 EABI5 >18 leshort 41 Alpha, >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 42 Renesas SH, >18 leshort 43 SPARC V9, >>4 byte 2 >>>48 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>48 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>48 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>48 lelong&0x3 0 total store ordering, >>>48 lelong&0x3 1 partial store ordering, >>>48 lelong&0x3 2 relaxed memory ordering, >18 leshort 44 Siemens Tricore Embedded Processor, >18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >18 leshort 46 Renesas H8/300, >18 leshort 47 Renesas H8/300H, >18 leshort 48 Renesas H8S, >18 leshort 49 Renesas H8/500, >18 leshort 50 IA-64, >18 leshort 51 Stanford MIPS-X, >18 leshort 52 Motorola Coldfire, >18 leshort 53 Motorola M68HC12, >18 leshort 54 Fujitsu MMA, >18 leshort 55 Siemens PCP, >18 leshort 56 Sony nCPU, >18 leshort 57 Denso NDR1, >18 leshort 58 Start*Core, >18 leshort 59 Toyota ME16, >18 leshort 60 ST100, >18 leshort 61 Tinyj emb., >18 leshort 62 x86-64, >18 leshort 63 Sony DSP, >18 leshort 66 FX66, >18 leshort 67 ST9+ 8/16 bit, >18 leshort 68 ST7 8 bit, >18 leshort 69 MC68HC16, >18 leshort 70 MC68HC11, >18 leshort 71 MC68HC08, >18 leshort 72 MC68HC05, >18 leshort 73 SGI SVx or Cray NV1, >18 leshort 74 ST19 8 bit, >18 leshort 75 Digital VAX, >18 leshort 76 Axis cris, >18 leshort 77 Infineon 32-bit embedded, >18 leshort 78 Element 14 64-bit DSP, >18 leshort 79 LSI Logic 16-bit DSP, >18 leshort 80 MMIX, >18 leshort 81 Harvard machine-independent, >18 leshort 82 SiTera Prism, >18 leshort 83 Atmel AVR 8-bit, >18 leshort 84 Fujitsu FR30, >18 leshort 85 Mitsubishi D10V, >18 leshort 86 Mitsubishi D30V, >18 leshort 87 NEC v850, >18 leshort 88 Renesas M32R, >18 leshort 89 Matsushita MN10300, >18 leshort 90 Matsushita MN10200, >18 leshort 91 picoJava, >18 leshort 92 OpenRISC, >18 leshort 93 ARC Cores Tangent-A5, >18 leshort 94 Tensilica Xtensa, >18 leshort 97 NatSemi 32k, >18 leshort 106 Analog Devices Blackfin, >18 leshort 113 Altera Nios II, >18 leshort 174 META, >18 leshort 183 ARM aarch64, >18 leshort 187 Tilera TILE64, >18 leshort 188 Tilera TILEPro, >18 leshort 191 Tilera TILE-Gx, >18 leshort 0x3426 OpenRISC (obsolete), >18 leshort 0x8472 OpenRISC (obsolete), >18 leshort 0x9026 Alpha (unofficial), >20 lelong 0 invalid version >20 lelong 1 version 1 0 string \177ELF ELF >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB >>0 use elf-le >5 byte 2 MSB >>0 use \^elf-le @ 1.3.2.2 log @resync from head @ text @d3 1 a3 1 # $File: elf,v 1.59 2013/03/21 17:50:02 christos Exp $ d20 1 a187 1 !:strength *2 d192 1 a192 1 >5 byte 1 LSB d194 1 a194 1 >5 byte 2 MSB @ 1.3.2.3 log @Rebase to HEAD as of a few days ago. @ text @d3 1 a3 1 # $File: elf,v 1.67 2014/06/12 13:52:48 christos Exp $ a32 1 >18 clear x d34 2 a35 2 >18 leshort 1 AT&T WE32100, >18 leshort 2 SPARC, d37 1 a37 1 >18 leshort 4 Motorola m68k, d39 4 a42 4 >>>36 lelong &0x01000000 68000, >>>36 lelong &0x00810000 CPU32, >>>36 lelong 0 68020, >18 leshort 5 Motorola m88k, d77 1 a77 1 >18 leshort 9 Amdahl, d79 2 a80 2 >18 leshort 11 RS6000, >18 leshort 15 PA-RISC, a97 1 >18 leshort 19 Intel 80960, a111 2 >>>36 lelong &0x00800000 BE8 >>>36 lelong &0x00400000 LE8 d113 1 a142 2 >18 leshort 64 DEC PDP-10, >18 leshort 65 DEC PDP-11, a171 2 >18 leshort 95 Alphamosaic VideoCore, >18 leshort 96 Thompson Multimedia, a172 8 >18 leshort 98 Tenor Network TPC, >18 leshort 99 Trebia SNP 1000, >18 leshort 100 STMicroelectronics ST200, >18 leshort 101 Ubicom IP2022, >18 leshort 102 MAX Processor, >18 leshort 103 NatSemi CompactRISC, >18 leshort 104 Fujitsu F2MC16, >18 leshort 105 TI msp430, a173 6 >18 leshort 107 S1C33 Family of Seiko Epson, >18 leshort 108 Sharp embedded, >18 leshort 109 Arca RISC, >18 leshort 110 PKU-Unity Ltd., >18 leshort 111 eXcess: 16/32/64-bit, >18 leshort 112 Icera Deep Execution Processor, a174 32 >18 leshort 114 NatSemi CRX, >18 leshort 115 Motorola XGATE, >18 leshort 116 Infineon C16x/XC16x, >18 leshort 117 Renesas M16C series, >18 leshort 118 Microchip dsPIC30F, >18 leshort 119 Freescale RISC core, >18 leshort 120 Renesas M32C series, >18 leshort 131 Altium TSK3000 core, >18 leshort 132 Freescale RS08, >18 leshort 134 Cyan Technology eCOG2, >18 leshort 135 Sunplus S+core7 RISC, >18 leshort 136 New Japan Radio (NJR) 24-bit DSP, >18 leshort 137 Broadcom VideoCore III, >18 leshort 138 LatticeMico32, >18 leshort 139 Seiko Epson C17 family, >18 leshort 140 TI TMS320C6000 DSP family, >18 leshort 141 TI TMS320C2000 DSP family, >18 leshort 142 TI TMS320C55x DSP family, >18 leshort 160 STMicroelectronics 64bit VLIW DSP, >18 leshort 161 Cypress M8C, >18 leshort 162 Renesas R32C series, >18 leshort 163 NXP TriMedia family, >18 leshort 164 QUALCOMM DSP6, >18 leshort 165 Intel 8051 and variants, >18 leshort 166 STMicroelectronics STxP7x family, >18 leshort 167 Andes embedded RISC, >18 leshort 168 Cyan eCOG1X family, >18 leshort 169 Dallas MAXQ30, >18 leshort 170 New Japan Radio (NJR) 16-bit DSP, >18 leshort 171 M2000 Reconfigurable RISC, >18 leshort 172 Cray NV2 vector architecture, >18 leshort 173 Renesas RX family, a175 7 >18 leshort 175 MCST Elbrus, >18 leshort 176 Cyan Technology eCOG16 family, >18 leshort 177 NatSemi CompactRISC, >18 leshort 178 Freescale Extended Time Processing Unit, >18 leshort 179 Infineon SLE9X, >18 leshort 180 Intel L1OM, >18 leshort 181 Intel K1OM, a176 2 >18 leshort 185 Atmel 32-bit family, >18 leshort 186 STMicroeletronics STM8 8-bit, a178 2 >18 leshort 189 Xilinx MicroBlaze 32-bit RISC, >18 leshort 190 NVIDIA CUDA architecture, a179 21 >18 leshort 197 Renesas RL78 family, >18 leshort 199 Renesas 78K0R, >18 leshort 200 Freescale 56800EX, >18 leshort 201 Beyond BA1, >18 leshort 202 Beyond BA2, >18 leshort 203 XMOS xCORE, >18 leshort 204 Microchip 8-bit PIC(r), >18 leshort 210 KM211 KM32, >18 leshort 211 KM211 KMX32, >18 leshort 212 KM211 KMX16, >18 leshort 213 KM211 KMX8, >18 leshort 214 KM211 KVARC, >18 leshort 215 Paneve CDP, >18 leshort 216 Cognitive Smart Memory, >18 leshort 217 iCelero CoolEngine, >18 leshort 218 Nanoradio Optimized RISC, >18 leshort 0x1057 AVR (unofficial), >18 leshort 0x1059 MSP430 (unofficial), >18 leshort 0x1223 Adapteva Epiphany (unofficial), >18 leshort 0x2530 Morpho MT (unofficial), >18 leshort 0x3330 FR30 (unofficial), a180 6 >18 leshort 0x4688 Infineon C166 (unofficial), >18 leshort 0x5441 Cygnus FRV (unofficial), >18 leshort 0x5aa5 DLX (unofficial), >18 leshort 0x7650 Cygnus D10V (unofficial), >18 leshort 0x7676 Cygnus D30V (unofficial), >18 leshort 0x8217 Ubicom IP2xxx (unofficial), a181 1 >18 leshort 0x9025 Cygnus PowerPC (unofficial), a182 15 >18 leshort 0x9041 Cygnus M32R (unofficial), >18 leshort 0x9080 Cygnus V850 (unofficial), >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 0xabc7 Old Xtensa (unofficial), >18 leshort 0xad45 xstormy16 (unofficial), >18 leshort 0xbaab Old MicroBlaze (unofficial),, >18 leshort 0xbeef Cygnus MN10300 (unofficial), >18 leshort 0xdead Cygnus MN10200 (unofficial), >18 leshort 0xf00d Toshiba MeP (unofficial), >18 leshort 0xfeb0 Renesas M32C (unofficial), >18 leshort 0xfeba Vitesse IQ2000 (unofficial), >18 leshort 0xfebb NIOS (unofficial), >18 leshort 0xfeed Moxie (unofficial), >18 default x >>18 leshort x *unknown arch 0x%x* @ 1.2 log @Look at the proper offsets for MD info, depending on the size of the binary 32 or 64. @ text @d104 3 d260 3 @ 1.1 log @Initial revision @ text @d3 1 d43 4 a46 3 >>>36 lelong &0x01000000 68000 - invalid byte order, >>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>36 lelong 0 68020 - invalid byte order, d54 2 a55 1 >>>36 lelong &0x20 N32 d57 2 a58 1 >>>36 lelong &0x20 N32 d86 8 a93 2 >>>50 leshort 0x0214 2.0 >>>48 leshort &0x0008 (LP64), d161 3 a168 1 >>36 lelong 1 MathCoPro/FPU/MAU Required d188 4 a191 3 >>>36 belong &0x01000000 68000, >>>36 belong &0x00810000 CPU32, >>>36 belong 0 68020, d197 2 a198 1 >>>36 belong &0x20 N32 d200 2 a201 1 >>>36 belong &0x20 N32 d229 8 a236 2 >>>50 beshort 0x0214 2.0 >>>48 beshort &0x0008 (LP64) d240 6 a245 4 >>>36 belong&0xffff00 0x000100 V8+ Required, >>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, d260 7 a266 6 >>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>48 belong&0x3 0 total store ordering, >>>48 belong&0x3 1 partial store ordering, >>>48 belong&0x3 2 relaxed memory ordering, d285 3 d291 4 a294 3 >>20 belong 0 invalid version >>20 belong 1 version 1 >>36 belong 1 MathCoPro/FPU/MAU Required @ 1.1.1.1 log @from ftp.astron.com @ text @@ 1.1.1.2 log @from ftp.astron.com. - many security related fixes - no MAXPATHLEN limits - fixed missing text specification on ascii magic - new ``pascal'' style string formats - whitespace comparison fix - more magic @ text @a2 1 # $File: elf,v 1.53 2009/09/19 16:28:09 christos Exp $ @ 1.1.1.2.4.1 log @sync with head @ text @d3 1 a3 1 # $File: elf,v 1.54 2011/12/17 17:16:29 christos Exp $ d43 3 a45 4 >>>4 byte 1 >>>>36 lelong &0x01000000 68000 - invalid byte order, >>>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>>36 lelong 0 68020 - invalid byte order, d53 1 a53 2 >>>4 byte 1 >>>>36 lelong &0x20 N32 d55 1 a55 2 >>>4 byte 1 >>>>36 lelong &0x20 N32 d83 2 a84 8 # only for 32-bit >>>4 byte 1 >>>>38 leshort 0x0214 2.0 >>>>36 leshort &0x0008 (LP64) # only for 64-bit >>>4 byte 2 >>>>50 leshort 0x0214 2.0 >>>>48 leshort &0x0008 (LP64) a151 3 >>18 leshort 187 Tilera TILE64, >>18 leshort 188 Tilera TILEPro, >>18 leshort 191 Tilera TILE-Gx, d157 1 d177 3 a179 4 >>>4 byte 1 >>>>36 belong &0x01000000 68000, >>>>36 belong &0x00810000 CPU32, >>>>36 belong 0 68020, d185 1 a185 2 >>>4 byte 1 >>>>36 belong &0x20 N32 d187 1 a187 2 >>>4 byte 1 >>>>36 belong &0x20 N32 d215 2 a216 8 # only for 32-bit >>>4 byte 1 >>>>38 beshort 0x0214 2.0 >>>>36 beshort &0x0008 (LP64) # only for 64-bit >>>4 byte 2 >>>>50 beshort 0x0214 2.0 >>>>48 beshort &0x0008 (LP64) d220 4 a223 6 # only for 32-bit >>>4 byte 1 >>>>36 belong&0xffff00 0x000100 V8+ Required, >>>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, d238 6 a243 7 >>>4 byte 2 >>>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>>48 belong&0x3 0 total store ordering, >>>>48 belong&0x3 1 partial store ordering, >>>>48 belong&0x3 2 relaxed memory ordering, a261 3 >>18 beshort 187 Tilera TILE64, >>18 beshort 188 Tilera TILEPro, >>18 beshort 191 Tilera TILE-Gx, d265 3 a267 4 >>>20 belong 0 invalid version >>>20 belong 1 version 1 >>>4 byte 1 >>>>36 belong 1 MathCoPro/FPU/MAU Required @ 1.1.1.2.4.2 log @sync with head @ text @a103 3 >>>4 byte 1 >>>>36 lelong&0xff000000 0x04000000 EABI4 >>>>36 lelong&0xff000000 0x05000000 EABI5 a256 3 >>>4 byte 2 >>>>36 belong&0xff000000 0x04000000 EABI4 >>>>36 belong&0xff000000 0x05000000 EABI5 @ 1.1.1.2.4.3 log @sync with head @ text @d3 1 a3 1 # $File: elf,v 1.58 2012/11/06 20:43:52 christos Exp $ d17 7 a23 3 0 name elf-le >16 leshort 0 no file type, d26 1 a26 1 >16 leshort 1 relocatable, d28 1 a28 1 >16 leshort 2 executable, d30 1 a30 1 >16 leshort 3 shared object, d32 1 a32 1 >16 leshort 4 core file d37 13 a49 13 >16 leshort &0xff00 processor-specific, >18 leshort 0 no machine, >18 leshort 1 AT&T WE32100 >18 leshort 2 SPARC >18 leshort 3 Intel 80386, >18 leshort 4 Motorola >>4 byte 1 >>>36 lelong &0x01000000 68000 - invalid byte order, >>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>36 lelong 0 68020 - invalid byte order, >18 leshort 5 Motorola 88000 - invalid byte order, >18 leshort 6 Intel 80486, >18 leshort 7 Intel 80860, d53 153 a205 7 >18 leshort 8 MIPS, >>4 byte 1 >>>36 lelong &0x20 N32 >18 leshort 10 MIPS, >>4 byte 1 >>>36 lelong &0x20 N32 >18 leshort 8 d207 10 a216 10 >>4 byte 1 >>>36 lelong&0xf0000000 0x00000000 MIPS-I >>>36 lelong&0xf0000000 0x10000000 MIPS-II >>>36 lelong&0xf0000000 0x20000000 MIPS-III >>>36 lelong&0xf0000000 0x30000000 MIPS-IV >>>36 lelong&0xf0000000 0x40000000 MIPS-V >>>36 lelong&0xf0000000 0x50000000 MIPS32 >>>36 lelong&0xf0000000 0x60000000 MIPS64 >>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 d218 14 a231 14 >>4 byte 2 >>>48 lelong&0xf0000000 0x00000000 MIPS-I >>>48 lelong&0xf0000000 0x10000000 MIPS-II >>>48 lelong&0xf0000000 0x20000000 MIPS-III >>>48 lelong&0xf0000000 0x30000000 MIPS-IV >>>48 lelong&0xf0000000 0x40000000 MIPS-V >>>48 lelong&0xf0000000 0x50000000 MIPS32 >>>48 lelong&0xf0000000 0x60000000 MIPS64 >>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 >18 leshort 9 Amdahl - invalid byte order, >18 leshort 10 MIPS (deprecated), >18 leshort 11 RS6000 - invalid byte order, >18 leshort 15 PA-RISC - invalid byte order, d233 3 a235 3 >>4 byte 1 >>>38 leshort 0x0214 2.0 >>>36 leshort &0x0008 (LP64) d237 6 a242 6 >>4 byte 2 >>>50 leshort 0x0214 2.0 >>>48 leshort &0x0008 (LP64) >18 leshort 16 nCUBE, >18 leshort 17 Fujitsu VPP500, >18 leshort 18 SPARC32PLUS, d244 57 a300 102 >>4 byte 1 >>>36 lelong&0xffff00 0x000100 V8+ Required, >>>36 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>36 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>36 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >18 leshort 20 PowerPC or cisco 4500, >18 leshort 21 64-bit PowerPC or cisco 7500, >18 leshort 22 IBM S/390, >18 leshort 23 Cell SPU, >18 leshort 24 cisco SVIP, >18 leshort 25 cisco 7200, >18 leshort 36 NEC V800 or cisco 12000, >18 leshort 37 Fujitsu FR20, >18 leshort 38 TRW RH-32, >18 leshort 39 Motorola RCE, >18 leshort 40 ARM, >>4 byte 1 >>>36 lelong&0xff000000 0x04000000 EABI4 >>>36 lelong&0xff000000 0x05000000 EABI5 >18 leshort 41 Alpha, >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 42 Renesas SH, >18 leshort 43 SPARC V9, >>4 byte 2 >>>48 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>48 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>48 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>48 lelong&0x3 0 total store ordering, >>>48 lelong&0x3 1 partial store ordering, >>>48 lelong&0x3 2 relaxed memory ordering, >18 leshort 44 Siemens Tricore Embedded Processor, >18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >18 leshort 46 Renesas H8/300, >18 leshort 47 Renesas H8/300H, >18 leshort 48 Renesas H8S, >18 leshort 49 Renesas H8/500, >18 leshort 50 IA-64, >18 leshort 51 Stanford MIPS-X, >18 leshort 52 Motorola Coldfire, >18 leshort 53 Motorola M68HC12, >18 leshort 54 Fujitsu MMA, >18 leshort 55 Siemens PCP, >18 leshort 56 Sony nCPU, >18 leshort 57 Denso NDR1, >18 leshort 58 Start*Core, >18 leshort 59 Toyota ME16, >18 leshort 60 ST100, >18 leshort 61 Tinyj emb., >18 leshort 62 x86-64, >18 leshort 63 Sony DSP, >18 leshort 66 FX66, >18 leshort 67 ST9+ 8/16 bit, >18 leshort 68 ST7 8 bit, >18 leshort 69 MC68HC16, >18 leshort 70 MC68HC11, >18 leshort 71 MC68HC08, >18 leshort 72 MC68HC05, >18 leshort 73 SGI SVx or Cray NV1, >18 leshort 74 ST19 8 bit, >18 leshort 75 Digital VAX, >18 leshort 76 Axis cris, >18 leshort 77 Infineon 32-bit embedded, >18 leshort 78 Element 14 64-bit DSP, >18 leshort 79 LSI Logic 16-bit DSP, >18 leshort 80 MMIX, >18 leshort 81 Harvard machine-independent, >18 leshort 82 SiTera Prism, >18 leshort 83 Atmel AVR 8-bit, >18 leshort 84 Fujitsu FR30, >18 leshort 85 Mitsubishi D10V, >18 leshort 86 Mitsubishi D30V, >18 leshort 87 NEC v850, >18 leshort 88 Renesas M32R, >18 leshort 89 Matsushita MN10300, >18 leshort 90 Matsushita MN10200, >18 leshort 91 picoJava, >18 leshort 92 OpenRISC, >18 leshort 93 ARC Cores Tangent-A5, >18 leshort 94 Tensilica Xtensa, >18 leshort 97 NatSemi 32k, >18 leshort 106 Analog Devices Blackfin, >18 leshort 113 Altera Nios II, >18 leshort 174 META, >18 leshort 183 ARM aarch64, >18 leshort 187 Tilera TILE64, >18 leshort 188 Tilera TILEPro, >18 leshort 191 Tilera TILE-Gx, >18 leshort 0x3426 OpenRISC (obsolete), >18 leshort 0x8472 OpenRISC (obsolete), >18 leshort 0x9026 Alpha (unofficial), >20 lelong 0 invalid version >20 lelong 1 version 1 0 string \177ELF ELF >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB >>0 use elf-le >5 byte 2 MSB >>0 use \^elf-le @ 1.1.1.2.4.4 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @d3 1 a3 1 # $File: elf,v 1.64 2013/08/04 09:31:47 christos Exp $ d20 1 a33 1 >18 clear x d40 4 a43 4 >>>36 lelong &0x01000000 68000, >>>36 lelong &0x00810000 CPU32, >>>36 lelong 0 68020, >18 leshort 5 Motorola 88000, d78 1 a78 1 >18 leshort 9 Amdahl, d80 2 a81 2 >18 leshort 11 RS6000, >18 leshort 15 PA-RISC, a112 2 >>>36 lelong &0x00800000 BE8 >>>36 lelong &0x00400000 LE8 a175 1 >18 beshort 138 LatticeMico32, a183 2 >18 default x >>18 leshort x *unknown arch 0x%x* a187 1 !:strength *2 d192 1 a192 1 >5 byte 1 LSB d194 1 a194 1 >5 byte 2 MSB @ 1.1.1.2.6.1 log @Pull up following revision(s) (requested by christos in ticket #30): Update file to 5.11 (CDF security fixes) @ text @d3 1 a3 1 # $File: elf,v 1.54 2011/12/17 17:16:29 christos Exp $ d43 3 a45 4 >>>4 byte 1 >>>>36 lelong &0x01000000 68000 - invalid byte order, >>>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>>36 lelong 0 68020 - invalid byte order, d53 1 a53 2 >>>4 byte 1 >>>>36 lelong &0x20 N32 d55 1 a55 2 >>>4 byte 1 >>>>36 lelong &0x20 N32 d83 2 a84 8 # only for 32-bit >>>4 byte 1 >>>>38 leshort 0x0214 2.0 >>>>36 leshort &0x0008 (LP64) # only for 64-bit >>>4 byte 2 >>>>50 leshort 0x0214 2.0 >>>>48 leshort &0x0008 (LP64) a151 3 >>18 leshort 187 Tilera TILE64, >>18 leshort 188 Tilera TILEPro, >>18 leshort 191 Tilera TILE-Gx, d157 1 d177 3 a179 4 >>>4 byte 1 >>>>36 belong &0x01000000 68000, >>>>36 belong &0x00810000 CPU32, >>>>36 belong 0 68020, d185 1 a185 2 >>>4 byte 1 >>>>36 belong &0x20 N32 d187 1 a187 2 >>>4 byte 1 >>>>36 belong &0x20 N32 d215 2 a216 8 # only for 32-bit >>>4 byte 1 >>>>38 beshort 0x0214 2.0 >>>>36 beshort &0x0008 (LP64) # only for 64-bit >>>4 byte 2 >>>>50 beshort 0x0214 2.0 >>>>48 beshort &0x0008 (LP64) d220 4 a223 6 # only for 32-bit >>>4 byte 1 >>>>36 belong&0xffff00 0x000100 V8+ Required, >>>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, d238 6 a243 7 >>>4 byte 2 >>>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>>48 belong&0x3 0 total store ordering, >>>>48 belong&0x3 1 partial store ordering, >>>>48 belong&0x3 2 relaxed memory ordering, a261 3 >>18 beshort 187 Tilera TILE64, >>18 beshort 188 Tilera TILEPro, >>18 beshort 191 Tilera TILE-Gx, d265 3 a267 4 >>>20 belong 0 invalid version >>>20 belong 1 version 1 >>>4 byte 1 >>>>36 belong 1 MathCoPro/FPU/MAU Required @ 1.1.1.3 log @from ftp.astron.com, CDF security fixes @ text @d3 1 a3 1 # $File: elf,v 1.54 2011/12/17 17:16:29 christos Exp $ a151 3 >>18 leshort 187 Tilera TILE64, >>18 leshort 188 Tilera TILEPro, >>18 leshort 191 Tilera TILE-Gx, a261 3 >>18 beshort 187 Tilera TILE64, >>18 beshort 188 Tilera TILEPro, >>18 beshort 191 Tilera TILE-Gx, @ 1.1.1.4 log @from ftp.astron.com @ text @d3 1 a3 1 # $File: elf,v 1.58 2012/11/06 20:43:52 christos Exp $ d17 7 a23 3 0 name elf-le >16 leshort 0 no file type, d26 1 a26 1 >16 leshort 1 relocatable, d28 1 a28 1 >16 leshort 2 executable, d30 1 a30 1 >16 leshort 3 shared object, d32 1 a32 1 >16 leshort 4 core file d37 6 a42 7 >16 leshort &0xff00 processor-specific, >18 leshort 0 no machine, >18 leshort 1 AT&T WE32100 >18 leshort 2 SPARC >18 leshort 3 Intel 80386, >18 leshort 4 Motorola >>4 byte 1 d46 3 a48 3 >18 leshort 5 Motorola 88000 - invalid byte order, >18 leshort 6 Intel 80486, >18 leshort 7 Intel 80860, d52 1 a52 2 >18 leshort 8 MIPS, >>4 byte 1 d54 1 a54 2 >18 leshort 10 MIPS, >>4 byte 1 d56 1 a56 1 >18 leshort 8 d58 10 a67 10 >>4 byte 1 >>>36 lelong&0xf0000000 0x00000000 MIPS-I >>>36 lelong&0xf0000000 0x10000000 MIPS-II >>>36 lelong&0xf0000000 0x20000000 MIPS-III >>>36 lelong&0xf0000000 0x30000000 MIPS-IV >>>36 lelong&0xf0000000 0x40000000 MIPS-V >>>36 lelong&0xf0000000 0x50000000 MIPS32 >>>36 lelong&0xf0000000 0x60000000 MIPS64 >>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 d69 123 a191 14 >>4 byte 2 >>>48 lelong&0xf0000000 0x00000000 MIPS-I >>>48 lelong&0xf0000000 0x10000000 MIPS-II >>>48 lelong&0xf0000000 0x20000000 MIPS-III >>>48 lelong&0xf0000000 0x30000000 MIPS-IV >>>48 lelong&0xf0000000 0x40000000 MIPS-V >>>48 lelong&0xf0000000 0x50000000 MIPS32 >>>48 lelong&0xf0000000 0x60000000 MIPS64 >>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 >18 leshort 9 Amdahl - invalid byte order, >18 leshort 10 MIPS (deprecated), >18 leshort 11 RS6000 - invalid byte order, >18 leshort 15 PA-RISC - invalid byte order, d193 10 a202 3 >>4 byte 1 >>>38 leshort 0x0214 2.0 >>>36 leshort &0x0008 (LP64) d204 70 a273 109 >>4 byte 2 >>>50 leshort 0x0214 2.0 >>>48 leshort &0x0008 (LP64) >18 leshort 16 nCUBE, >18 leshort 17 Fujitsu VPP500, >18 leshort 18 SPARC32PLUS, # only for 32-bit >>4 byte 1 >>>36 lelong&0xffff00 0x000100 V8+ Required, >>>36 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>36 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>36 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >18 leshort 20 PowerPC or cisco 4500, >18 leshort 21 64-bit PowerPC or cisco 7500, >18 leshort 22 IBM S/390, >18 leshort 23 Cell SPU, >18 leshort 24 cisco SVIP, >18 leshort 25 cisco 7200, >18 leshort 36 NEC V800 or cisco 12000, >18 leshort 37 Fujitsu FR20, >18 leshort 38 TRW RH-32, >18 leshort 39 Motorola RCE, >18 leshort 40 ARM, >>4 byte 1 >>>36 lelong&0xff000000 0x04000000 EABI4 >>>36 lelong&0xff000000 0x05000000 EABI5 >18 leshort 41 Alpha, >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 42 Renesas SH, >18 leshort 43 SPARC V9, >>4 byte 2 >>>48 lelong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>48 lelong&0xffff00 0x000400 HaL R1 Extensions Required, >>>48 lelong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>48 lelong&0x3 0 total store ordering, >>>48 lelong&0x3 1 partial store ordering, >>>48 lelong&0x3 2 relaxed memory ordering, >18 leshort 44 Siemens Tricore Embedded Processor, >18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >18 leshort 46 Renesas H8/300, >18 leshort 47 Renesas H8/300H, >18 leshort 48 Renesas H8S, >18 leshort 49 Renesas H8/500, >18 leshort 50 IA-64, >18 leshort 51 Stanford MIPS-X, >18 leshort 52 Motorola Coldfire, >18 leshort 53 Motorola M68HC12, >18 leshort 54 Fujitsu MMA, >18 leshort 55 Siemens PCP, >18 leshort 56 Sony nCPU, >18 leshort 57 Denso NDR1, >18 leshort 58 Start*Core, >18 leshort 59 Toyota ME16, >18 leshort 60 ST100, >18 leshort 61 Tinyj emb., >18 leshort 62 x86-64, >18 leshort 63 Sony DSP, >18 leshort 66 FX66, >18 leshort 67 ST9+ 8/16 bit, >18 leshort 68 ST7 8 bit, >18 leshort 69 MC68HC16, >18 leshort 70 MC68HC11, >18 leshort 71 MC68HC08, >18 leshort 72 MC68HC05, >18 leshort 73 SGI SVx or Cray NV1, >18 leshort 74 ST19 8 bit, >18 leshort 75 Digital VAX, >18 leshort 76 Axis cris, >18 leshort 77 Infineon 32-bit embedded, >18 leshort 78 Element 14 64-bit DSP, >18 leshort 79 LSI Logic 16-bit DSP, >18 leshort 80 MMIX, >18 leshort 81 Harvard machine-independent, >18 leshort 82 SiTera Prism, >18 leshort 83 Atmel AVR 8-bit, >18 leshort 84 Fujitsu FR30, >18 leshort 85 Mitsubishi D10V, >18 leshort 86 Mitsubishi D30V, >18 leshort 87 NEC v850, >18 leshort 88 Renesas M32R, >18 leshort 89 Matsushita MN10300, >18 leshort 90 Matsushita MN10200, >18 leshort 91 picoJava, >18 leshort 92 OpenRISC, >18 leshort 93 ARC Cores Tangent-A5, >18 leshort 94 Tensilica Xtensa, >18 leshort 97 NatSemi 32k, >18 leshort 106 Analog Devices Blackfin, >18 leshort 113 Altera Nios II, >18 leshort 174 META, >18 leshort 183 ARM aarch64, >18 leshort 187 Tilera TILE64, >18 leshort 188 Tilera TILEPro, >18 leshort 191 Tilera TILE-Gx, >18 leshort 0x3426 OpenRISC (obsolete), >18 leshort 0x8472 OpenRISC (obsolete), >18 leshort 0x9026 Alpha (unofficial), >20 lelong 0 invalid version >20 lelong 1 version 1 0 string \177ELF ELF >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB >>0 use elf-le >5 byte 2 MSB >>0 use \^elf-le @ 1.1.1.5 log @import file-5.14 changes are "name" + "use" keyword features, bug fixes @ text @d3 1 a3 1 # $File: elf,v 1.59 2013/03/21 17:50:02 christos Exp $ d20 1 a187 1 !:strength *2 @ 1.1.1.6 log @from ftp.astron.com, this is a bug fix release: * always leave magic file loaded, don't unload for magic_check, etc. * fix default encoding to binary instead of unknown which broke recently * handle empty and one byte files, less specially so that --mime-encoding does not break completely. * fix erroneous non-zero exit code from non-existant file and message * add CDF MSI file detection (Guy Helmer) @ text @d3 1 a3 1 # $File: elf,v 1.64 2013/08/04 09:31:47 christos Exp $ a32 1 >18 clear x d39 4 a42 4 >>>36 lelong &0x01000000 68000, >>>36 lelong &0x00810000 CPU32, >>>36 lelong 0 68020, >18 leshort 5 Motorola 88000, d77 1 a77 1 >18 leshort 9 Amdahl, d79 2 a80 2 >18 leshort 11 RS6000, >18 leshort 15 PA-RISC, a111 2 >>>36 lelong &0x00800000 BE8 >>>36 lelong &0x00400000 LE8 a174 1 >18 beshort 138 LatticeMico32, a182 2 >18 default x >>18 leshort x *unknown arch 0x%x* d192 1 a192 1 >5 byte 1 LSB d194 1 a194 1 >5 byte 2 MSB @ 1.1.1.7 log @import file-5.19 2014-06-09 9:04 Christos Zoulas * Misc buffer overruns and missing buffer size tests in cdf parsing (Francisco Alonso, Jan Kaluza) 2014-06-02 14:50 Christos Zoulas * Enforce limit of 8K on regex searches that have no limits * Allow the l modifier for regex to mean line count. Default to byte count. If line count is specified, assume a max of 80 characters per line to limit the byte count. * Don't allow conversions to be used for dates, allowing the mask field to be used as an offset. 2014-05-30 12:51 Christos Zoulas * Make the range operator limit the length of the regex search. 2014-05-14 19:23 Christos Zoulas * PR/347: Windows fixes * PR/352: Hangul word processor recognition * PR/354: Encoding irregularities in text files 2014-05-06 6:12 Christos Zoulas * Fix uninitialized title in CDF files (Jan Kaluza) 2014-05-04 14:55 Christos Zoulas * PR/351: Fix compilation of empty files 2014-04-30 17:39 Christos Zoulas * Fix integer formats: We don't specify 'l' or 'h' and 'hh' specifiers anymore, only 'll' for quads and nothing for the rest. This is so that magic writing is simpler. 2014-04-01 15:25 Christos Zoulas * PR/341: Jan Kaluza, fix memory leak * PR/342: Jan Kaluza, fix out of bounds read 2014-03-28 15:25 Christos Zoulas * Fix issue with long formats not matching fmtcheck @ text @d3 1 a3 1 # $File: elf,v 1.67 2014/06/12 13:52:48 christos Exp $ d35 2 a36 2 >18 leshort 1 AT&T WE32100, >18 leshort 2 SPARC, d38 1 a38 1 >18 leshort 4 Motorola m68k, d43 1 a43 1 >18 leshort 5 Motorola m88k, a98 1 >18 leshort 19 Intel 80960, d116 1 a145 2 >18 leshort 64 DEC PDP-10, >18 leshort 65 DEC PDP-11, a174 2 >18 leshort 95 Alphamosaic VideoCore, >18 leshort 96 Thompson Multimedia, a175 8 >18 leshort 98 Tenor Network TPC, >18 leshort 99 Trebia SNP 1000, >18 leshort 100 STMicroelectronics ST200, >18 leshort 101 Ubicom IP2022, >18 leshort 102 MAX Processor, >18 leshort 103 NatSemi CompactRISC, >18 leshort 104 Fujitsu F2MC16, >18 leshort 105 TI msp430, a176 6 >18 leshort 107 S1C33 Family of Seiko Epson, >18 leshort 108 Sharp embedded, >18 leshort 109 Arca RISC, >18 leshort 110 PKU-Unity Ltd., >18 leshort 111 eXcess: 16/32/64-bit, >18 leshort 112 Icera Deep Execution Processor, d178 1 a178 32 >18 leshort 114 NatSemi CRX, >18 leshort 115 Motorola XGATE, >18 leshort 116 Infineon C16x/XC16x, >18 leshort 117 Renesas M16C series, >18 leshort 118 Microchip dsPIC30F, >18 leshort 119 Freescale RISC core, >18 leshort 120 Renesas M32C series, >18 leshort 131 Altium TSK3000 core, >18 leshort 132 Freescale RS08, >18 leshort 134 Cyan Technology eCOG2, >18 leshort 135 Sunplus S+core7 RISC, >18 leshort 136 New Japan Radio (NJR) 24-bit DSP, >18 leshort 137 Broadcom VideoCore III, >18 leshort 138 LatticeMico32, >18 leshort 139 Seiko Epson C17 family, >18 leshort 140 TI TMS320C6000 DSP family, >18 leshort 141 TI TMS320C2000 DSP family, >18 leshort 142 TI TMS320C55x DSP family, >18 leshort 160 STMicroelectronics 64bit VLIW DSP, >18 leshort 161 Cypress M8C, >18 leshort 162 Renesas R32C series, >18 leshort 163 NXP TriMedia family, >18 leshort 164 QUALCOMM DSP6, >18 leshort 165 Intel 8051 and variants, >18 leshort 166 STMicroelectronics STxP7x family, >18 leshort 167 Andes embedded RISC, >18 leshort 168 Cyan eCOG1X family, >18 leshort 169 Dallas MAXQ30, >18 leshort 170 New Japan Radio (NJR) 16-bit DSP, >18 leshort 171 M2000 Reconfigurable RISC, >18 leshort 172 Cray NV2 vector architecture, >18 leshort 173 Renesas RX family, a179 7 >18 leshort 175 MCST Elbrus, >18 leshort 176 Cyan Technology eCOG16 family, >18 leshort 177 NatSemi CompactRISC, >18 leshort 178 Freescale Extended Time Processing Unit, >18 leshort 179 Infineon SLE9X, >18 leshort 180 Intel L1OM, >18 leshort 181 Intel K1OM, a180 2 >18 leshort 185 Atmel 32-bit family, >18 leshort 186 STMicroeletronics STM8 8-bit, a182 2 >18 leshort 189 Xilinx MicroBlaze 32-bit RISC, >18 leshort 190 NVIDIA CUDA architecture, a183 21 >18 leshort 197 Renesas RL78 family, >18 leshort 199 Renesas 78K0R, >18 leshort 200 Freescale 56800EX, >18 leshort 201 Beyond BA1, >18 leshort 202 Beyond BA2, >18 leshort 203 XMOS xCORE, >18 leshort 204 Microchip 8-bit PIC(r), >18 leshort 210 KM211 KM32, >18 leshort 211 KM211 KMX32, >18 leshort 212 KM211 KMX16, >18 leshort 213 KM211 KMX8, >18 leshort 214 KM211 KVARC, >18 leshort 215 Paneve CDP, >18 leshort 216 Cognitive Smart Memory, >18 leshort 217 iCelero CoolEngine, >18 leshort 218 Nanoradio Optimized RISC, >18 leshort 0x1057 AVR (unofficial), >18 leshort 0x1059 MSP430 (unofficial), >18 leshort 0x1223 Adapteva Epiphany (unofficial), >18 leshort 0x2530 Morpho MT (unofficial), >18 leshort 0x3330 FR30 (unofficial), a184 6 >18 leshort 0x4688 Infineon C166 (unofficial), >18 leshort 0x5441 Cygnus FRV (unofficial), >18 leshort 0x5aa5 DLX (unofficial), >18 leshort 0x7650 Cygnus D10V (unofficial), >18 leshort 0x7676 Cygnus D30V (unofficial), >18 leshort 0x8217 Ubicom IP2xxx (unofficial), a185 1 >18 leshort 0x9025 Cygnus PowerPC (unofficial), a186 13 >18 leshort 0x9041 Cygnus M32R (unofficial), >18 leshort 0x9080 Cygnus V850 (unofficial), >18 leshort 0xa390 IBM S/390 (obsolete), >18 leshort 0xabc7 Old Xtensa (unofficial), >18 leshort 0xad45 xstormy16 (unofficial), >18 leshort 0xbaab Old MicroBlaze (unofficial),, >18 leshort 0xbeef Cygnus MN10300 (unofficial), >18 leshort 0xdead Cygnus MN10200 (unofficial), >18 leshort 0xf00d Toshiba MeP (unofficial), >18 leshort 0xfeb0 Renesas M32C (unofficial), >18 leshort 0xfeba Vitesse IQ2000 (unofficial), >18 leshort 0xfebb NIOS (unofficial), >18 leshort 0xfeed Moxie (unofficial), @ 1.1.1.8 log @import file-5.20; bug fixes and better image magic descriptions. @ text @d3 1 a3 1 # $File: elf,v 1.68 2014/09/19 19:05:57 christos Exp $ a259 1 >18 leshort 243 UCB RISC-V, @ 1.1.1.9 log @2017-02-10 12:24 Christos Zoulas * release 5.30 2017-02-07 23:27 Christos Zoulas * If we exceeded the offset in a search return no match (Christoph Biedl) * Be more lenient on corrupt CDF files (Christoph Biedl) 2017-02-04 16:46 Christos Zoulas * pacify ubsan sign extension (oss-fuzz/524) 2017-02-01 12:42 Christos Zoulas * off by one in cdf parsing (PR/593) * report debugging sections in elf (PR/591) 2016-11-06 10:52 Christos Zoulas * Allow @@@@@@ in extensions * Add missing overflow check in der magic (Jonas Wagner) 2016-10-25 10:40 Christos Zoulas * release 5.29 2016-10-24 11:20 Christos Zoulas * der getlength overflow (Jonas Wagner) * multiple magic file load failure (Christoph Biedl) 2016-10-17 11:26 Christos Zoulas * CDF parsing improvements (Guy Helmer) 2016-07-20 7:26 Christos Zoulas * Add support for signed indirect offsets 2016-07-18 7:41 Christos Zoulas * cat /dev/null | file - should print empty (Christoph Biedl) 2016-07-05 15:20 Christos Zoulas * Bump string size from 64 to 96. 2016-06-13 20:20 Christos Zoulas * PR/556: Fix separators on annotations. 2016-06-13 19:40 Christos Zoulas * release 5.28 * fix leak on allocation failure 2016-06-01 1:20 Christos Zoulas * PR/555: Avoid overflow for offset > nbytes * PR/550: Segv on DER parsing: - use the correct variable for length - set offset to 0 on failure. 2016-05-13 12:00 Christos Zoulas * release 5.27 2016-04-18 9:35 Christos Zoulas * Errors comparing DER entries or computing offsets are just indications of malformed non-DER files. Don't print them. * Offset comparison was off-by-one. * Fix compression code (Werner Fink) * Put new bytes constant in the right file (not the generated one) 2016-04-16 18:34 Christos Zoulas * release 5.26 2016-03-31 13:50 Christos Zoulas * make the number of bytes read from files configurable. 2016-03-21 13:40 Christos Zoulas * Add bounds checks for DER code (discovered by Thomas Jarosch) * Change indirect recursion limit to indirect use count and bump from 15 to 50 to prevent abuse. 2016-03-13 20:39 Christos Zoulas * Add -00 which prints filename\0description\0 2016-03-01 13:28 Christos Zoulas * Fix ID3 indirect parsing 2016-01-19 10:18 Christos Zoulas * add DER parsing capability 2015-11-13 10:35 Christos Zoulas * provide dprintf(3) for the OS's that don't have it. 2015-11-11 16:25 Christos Zoulas * redo the compression code report decompression errors 2015-11-10 23:25 Christos Zoulas * REG_STARTEND code is not working as expected, delete it. 2015-11-09 16:05 Christos Zoulas * Add zlib support if we have it. 2015-11-05 11:22 Christos Zoulas * PR/492: compression forking was broken with magic_buffer. 2015-09-16 9:50 Christos Zoulas * release 5.25 2015-09-11 13:25 Christos Zoulas * add a limit to the length of regex searches 2015-09-08 9:50 Christos Zoulas * fix problems with --parameter (Christoph Biedl) 2015-07-11 10:35 Christos Zoulas * Windows fixes PR/466 (Jason Hood) 2015-07-09 10:35 Christos Zoulas * release 5.24 2015-06-11 8:52 Christos Zoulas * redo long option encoding to fix off-by-one in 5.23 2015-06-10 13:50 Christos Zoulas * release 5.23 2015-06-09 16:10 Christos Zoulas * Fix issue with regex range for magic with offset * Always return true from mget with USE (success to mget not match indication). Fixes mime evaluation after USE magic * PR/459: Don't insert magic entries to the list if there are parsing errors for them. 2015-06-03 16:00 Christos Zoulas * PR/455: Add utf-7 encoding 2015-06-03 14:30 Christos Zoulas * PR/455: Implement -Z, look inside, but don't report on compression * PR/454: Fix allocation error on bad magic. 2015-05-29 10:30 Christos Zoulas * handle MAGIC_CONTINUE everywhere, not just in softmagic 2015-05-21 14:30 Christos Zoulas * don't print descriptions for NAME types when mime. 2015-04-09 15:59 Christos Zoulas * Add --extension to list the known extensions for this file type Idea by Andrew J Roazen 2015-02-14 12:23 Christos Zoulas * Bump file search buffer size to 1M. 2015-01-09 14:35 Christos Zoulas * Fix multiple issues with date formats reported by Christoph Biedl: - T_LOCAL meaning was reversed - Arithmetic did not work Also stop adjusting daylight savings for gmt printing. 2015-01-05 13:00 Christos Zoulas * PR/411: Fix memory corruption from corrupt cdf file. @ text @d3 1 a3 1 # $File: elf,v 1.70 2016/06/02 12:36:30 christos Exp $ a17 26 0 name elf-mips >0 lelong&0xf0000000 0x00000000 MIPS-I >0 lelong&0xf0000000 0x10000000 MIPS-II >0 lelong&0xf0000000 0x20000000 MIPS-III >0 lelong&0xf0000000 0x30000000 MIPS-IV >0 lelong&0xf0000000 0x40000000 MIPS-V >0 lelong&0xf0000000 0x50000000 MIPS32 >0 lelong&0xf0000000 0x60000000 MIPS64 >0 lelong&0xf0000000 0x70000000 MIPS32 rel2 >0 lelong&0xf0000000 0x80000000 MIPS64 rel2 >0 lelong&0xf0000000 0x90000000 MIPS32 rel6 >0 lelong&0xf0000000 0xa0000000 MIPS64 rel6 0 name elf-sparc >0 lelong&0x00ffff00 0x00000100 V8+ Required, >0 lelong&0x00ffff00 0x00000200 Sun UltraSPARC1 Extensions Required, >0 lelong&0x00ffff00 0x00000400 HaL R1 Extensions Required, >0 lelong&0x00ffff00 0x00000800 Sun UltraSPARC3 Extensions Required, >0 lelong&0x3 0 total store ordering, >0 lelong&0x3 1 partial store ordering, >0 lelong&0x3 2 relaxed memory ordering, 0 name elf-pa-risc >2 leshort 0x0214 2.0 >0 leshort &0x0008 (LP64) d58 9 a66 1 >>>36 use elf-mips d69 9 a77 1 >>>48 use elf-mips d84 2 a85 1 >>>36 use elf-pa-risc d88 2 a89 1 >>>48 use elf-pa-risc d95 4 a98 1 >>>36 use elf-sparc d120 6 a125 1 >>>48 use elf-sparc d304 22 a325 20 >7 byte 0 (SYSV) >7 byte 1 (HP-UX) >7 byte 2 (NetBSD) >7 byte 3 (GNU/Linux) >7 byte 4 (GNU/Hurd) >7 byte 5 (86Open) >7 byte 6 (Solaris) >7 byte 7 (Monterey) >7 byte 8 (IRIX) >7 byte 9 (FreeBSD) >7 byte 10 (Tru64) >7 byte 11 (Novell Modesto) >7 byte 12 (OpenBSD) >7 byte 13 (OpenVMS) >7 byte 14 (HP NonStop Kernel) >7 byte 15 (AROS Research Operating System) >7 byte 16 (FenixOS) >7 byte 17 (Nuxi CloudABI) >7 byte 97 (ARM) >7 byte 255 (embedded) @ 1.1.1.10 log @2018-04-15 14:52 Christos Zoulas * release 5.33 2018-02-24 14:50 Christos Zoulas * extend the support for ${x?:} expansions for magic descriptions 2018-02-21 16:25 Christos Zoulas * add support for ${x?:} in mime types to handle pie binaries. 2017-11-03 9:23 Christos Zoulas * add support for negative offsets (offsets from the end of file) 2017-09-26 8:22 Christos Zoulas * close the file on error when writing magic (Steve Grubb) 2017-09-24 12:02 Christos Zoulas * seccomp support (Paul Moore) 2017-09-02 11:53 Christos Zoulas * release 5.32 2017-08-28 16:37 Christos Zoulas * Always reset state in {file,buffer}_apprentice (Krzysztof Wilczynski) 2017-08-27 03:55 Christos Zoulas * Fix always true condition (Thomas Jarosch) 2017-05-24 17:30 Christos Zoulas * pickier parsing of numeric values in magic files. 2017-05-23 17:55 Christos Zoulas * PR/615 add magic_getflags() @ text @d3 1 a3 1 # $File: elf,v 1.72 2018/02/24 19:50:04 christos Exp $ d51 2 a52 3 >16 leshort 3 ${x?pie executable:shared object} !:mime application/x-${x?pie-executable:sharedlib} @ 1.1.1.11 log @2018-10-18 19:32 Christos Zoulas * release 5.35 2018-09-10 20:38 Christos Zoulas * Add FreeBSD ELF core file support (John Baldwin) 2018-08-20 18:40 Christos Zoulas * PR/30: Allow all parameter values to be set (don't treat 0 specially) * handle default annotations on the softmagic match instead at the end. 2018-07-25 10:17 Christos Zoulas * PR/23: Recognize JSON files 2018-07-25 10:17 Christos Zoulas * PR/18: file --mime-encoding should not print mime-type 2018-07-25 8:50 Christos Zoulas * release 5.34 2018-06-22 16:38 Christos Zoulas * Add Quad indirect offsets 2018-05-24 14:10 Christos Zoulas * Enable parsing of ELF dynamic sections to handle PIE better @ text @d3 1 a3 1 # $File: elf,v 1.74 2018/06/23 16:39:53 christos Exp $ d51 1 a51 1 >16 leshort 3 ${x?pie executable:shared object}, d54 1 a54 1 >16 leshort 4 core file, a55 4 # OS-specific >7 byte 202 >>16 leshort 0xFE01 executable, !:mime application/x-executable a323 1 >7 byte 202 (Cafe OS) @ 1.1.1.12 log @2019-05-14 22:26 Christos Zoulas * release 5.37 2019-05-09 22:27 Christos Zoulas * Make sure that continuation separators are printed with -k within softmagic 2019-05-06 22:27 Christos Zoulas * Change SIGPIPE saving and restoring during compression to use sigaction(2) instead of signal(3) and cache it. (Denys Vlasenko) * Cache stat(2) calls more to reduce number of calls (Denys Vlasenko) 2019-05-06 17:25 Christos Zoulas * PR/77: Handle --mime-type and -k correctly. 2019-05-03 15:26 Christos Zoulas * Switch decompression code to use vfork() because tools like rpmdiff and rpmbuild call libmagic with large process footprints (Denys Vlasenko) 2019-04-07 14:05 Christos Zoulas * PR/75: --enable-zlib, did not work. 2019-02-27 11:54 Christos Zoulas * Improve regex efficiency (Michael Schroeder) by: 1. Prefixing regex searches with regular search for keywords where possible 2. Using memmem(3) where available @ text @d3 1 a3 1 # $File: elf,v 1.77 2019/01/16 19:33:35 christos Exp $ a40 2 >2 leshort 0x0208 1.0 >2 leshort 0x0210 1.1 a265 2 >18 leshort 247 eBPF, >18 leshort 251 NEC VE, @ 1.1.1.13 log @Import 5.38: - Always accept -S (no sandbox) even if we don't support sandboxing - More syscalls elided for sandboxiing - For ELF dynamic means having an interpreter not just PT_DYNAMIC - Check for large ELF session header offset - When saving and restoring a locale, keep the locale name in our own storage. - Add a flag to disable CSV file detection. - Don't pass NULL/0 to memset to appease sanitizers. - Avoid spurious prints when looks for extensions or apple strings in fsmagic. - Add builtin decompressors for xz and and bzip. - Add a limit for the number of CDF elements. - More checks for overflow in CDF. @ text @d3 1 a3 1 # $File: elf,v 1.79 2019/12/16 04:24:01 christos Exp $ d41 1 a41 1 >2 leshort 0x020b 1.0 d53 3 a55 2 >16 leshort 3 shared object, !:mime application/x-sharedlib @ 1.1.1.14 log @Import 5.39: * Remove unused subtype_mime (Steve Grubb) * Remove unused check in okstat (Steve Grubb) * Fix mime-type in elf binaries by making sure $x is set * Fix indirect negative offsets broken by OFFNEGATIVE * Fix GUID equality check * PR/165: Handle empty array and strings in JSON * PR/162: Add --exclude-quiet * Fix memory leak in ascmagic (Steve Grubb) * Fix string comparison length with ignore whitespace * Fix mingwin 64 compilation * PR/159: whitelist getpid needed for file_pipe2file() * Indicate negative offsets with a flag OFFNEGATIVE so that -0 works. * Introduce "offset" magic type that can be used to detect the file size, and bail on short files. * document DER better in the magic man page. * fix memory leaks (SonarQube) * rewrite confusing loops (SonarQube) * fix bogus test (SonarQube) * pass a sized buffer to file_fmttime() (SonarQube) * Don't allow * in printf formats, or the code itself (Christoph Biedl) * Introduce a printf output size checker to avoid DoS attacks * Avoid memory leak on error (oss-fuzz) * Check length of string on DER before derefercing and add new types * Add missing DER string (oss-fuzz) * Add missing DER types, and debugging * PR/140: Avoid abort with hand-crafted magic file (gockelhahn) * PR/139: Avoid DoS in printf with hand-crafted magic file (gockelhahn) * PR/138: Avoid crash with hand-crafted magic file (gockelhahn) * PR/136: Fix static build by adding a libmagic.pc (Fabrice Fontaine) * add guid support native support via the "guid" type. @ text @d3 1 a3 1 # $File: elf,v 1.80 2020/02/12 22:17:33 christos Exp $ d53 2 a54 3 >16 leshort 3 ${x?pie executable:shared object}, !:mime application/x-${x?pie-executable:sharedlib} @ 1.1.1.15 log @2021-03-30 20:21 Christos Zoulas * release 5.40 2021-02-05 16:31 Christos Zoulas * PR/234: Add limit to the number of bytes to scan for encoding * PR/230: Fix /T (trim flag) for regex 2021-02-01 12:31 Christos Zoulas * PR/77: Trim trailing separator. 2020-12-17 15:44 Christos Zoulas * PR/211: Convert system read errors from corrupt ELF files into human readable error messages 2020-12-08 16:24 Christos Zoulas * fix multithreaded decompression file descriptor issue by using close-on-exec (Denys Vlasenko) 2020-06-27 11:58 Christos Zoulas * Exclude surrogate pairs from utf-8 detection (Michael Liu) 2020-06-25 12:53 Christos Zoulas * Include # to the list of ignored format chars (Werner Fink) @ text @d3 1 a3 1 # $File: elf,v 1.85 2021/03/27 20:18:38 christos Exp $ a45 8 0 name elf-riscv >0 lelong&0x00000001 0x00000001 RVC, >0 lelong&0x00000008 0x00000008 RVE, >0 lelong&0x00000006 0x00000000 soft-float ABI, >0 lelong&0x00000006 0x00000002 single-float ABI, >0 lelong&0x00000006 0x00000004 double-float ABI, >0 lelong&0x00000006 0x00000006 quad-float ABI, d65 1 a65 6 >16 leshort &0xff00 >>18 leshort !8 processor-specific, >>18 leshort 8 >>>16 leshort 0xFF80 PlayStation 2 IOP module, !:mime application/x-sharedlib >>>16 leshort !0xFF80 processor-specific, a113 3 >>48 lelong 0 Unspecified or Power ELF V1 ABI, >>48 lelong 1 Power ELF V1 ABI, >>48 lelong 2 OpenPOWER ELF V2 ABI, d182 1 a182 1 >18 leshort 93 Synopsys ARCompact ARC700 cores, a220 1 >18 leshort 144 TI Programmable Realtime Unit a250 1 >18 leshort 195 Synopsys ARCv2/HS3x/HS4x cores, a267 9 # only for 32-bit >>4 byte 1 >>>36 use elf-riscv # only for 64-bit >>4 byte 2 >>>48 use elf-riscv >18 leshort 244 Lanai 32-bit processor, >18 leshort 245 CEVA Processor Architecture Family, >18 leshort 246 CEVA X2 Processor Family, d269 1 a269 12 >18 leshort 248 Graphcore Intelligent Processing Unit, >18 leshort 249 Imagination Technologies, >18 leshort 250 Netronome Flow Processor, >18 leshort 251 NEC Vector Engine, >18 leshort 252 C-SKY processor family, >18 leshort 253 Synopsys ARCv3 64-bit ISA/HS6x cores, >18 leshort 254 MOS Technology MCS 6502 processor, >18 leshort 255 Synopsys ARCv3 32-bit, >18 leshort 256 Kalray VLIW core of the MPPA family, >18 leshort 257 WDC 65816/65C816, >18 leshort 258 Loongson Loongarch, >18 leshort 259 ChipON KungFu32, @ 1.1.1.16 log @Import file-5.43+; last was file-5.40 2022-09-20 17:12 Christos Zoulas * fixed various clustefuzz issues 2022-09-19 15:54 Christos Zoulas * Fix error detection for decompression code (Vincent Mihalkovic) 2022-09-15 13:50 Christos Zoulas * Add MAGIC_NO_COMPRESS_FORK and use it to produce a more meaningful error message if we are sandboxing. 2022-09-15 10:45 Christos Zoulas * Add built-in lzip decompression support (Michal Gorny) 2022-09-14 10:35 Christos Zoulas * Add built-in zstd decompression support (Martin Rodriguez Reboredo) 2022-09-13 14:55 Christos Zoulas * release 5.43 2022-09-10 9:17 Christos Zoulas * Add octal indirect magic (Michal Gorny) 2022-08-17 11:43 Christos Zoulas * PR/374: avoid infinite loop in non-wide code (piru) * PR/373: Obey MAGIC_CONTINUE with multiple magic files (vismarli) 2022-07-26 11:10 Christos Zoulas * Fix bug with large flist (Florian Weimer) 2022-07-07 13:21 Christos Zoulas * PR/364: Detect non-nul-terminated core filenames from QEMU (mam-ableton) 2022-07-04 15:45 Christos Zoulas * PR/359: Add support for http://ndjson.org/ (darose) * PR/362: Fix wide printing (ro-ee) * PR/358: Fix width for -f - (jpalus) * PR/356: Fix JSON constant parsing (davewhite) 2022-06-10 9:40 Christos Zoulas * release 5.42 2022-05-31 14:50 Christos Zoulas * PR/348: add missing cases to prevent file from aborting on random magic files. 2022-05-27 21:05 Christos Zoulas * PR/351: octalify filenames when not raw before printing. 2022-04-18 17:51 Christos Zoulas * fix regex cacheing bug (Dirk Mueller) * merge file_regcomp and file_regerror() to simplify the code and reduce memory requirements for storing regexes (Dirk Mueller) 2022-03-19 12:56 Christos Zoulas * cache regex (Dirk Mueller) * detect filesystem full by flushing output (Dirk Mueller) 2021-11-19 12:36 Christos Zoulas * implement running decompressor programs using posix_spawnp(2) instead of vfork(2) 2021-10-24 11:51 Christos Zoulas * Add support for msdos dates and times 2021-10-20 9:55 Christos Zoulas * use the system byte swapping functions if available (Werner Fink) 2021-10-18 11:57 Christos Zoulas * release 5.41 2021-09-23 03:51 Christos Zoulas * Avinash Sonawane: Fix tzname detection 2021-09-03 09:17 Christos Zoulas * Fix relationship tests with "search" magic, don't short circuit logic 2021-07-13 01:06 Christos Zoulas * Fix memory leak in compile mode 2021-07-01 03:51 Christos Zoulas * PR/272: kiefermat: Only set returnval = 1 when we printed something (in all cases print or !print). This simplifies the logic and fixes the issue in the PR with -k and --mime-type there was no continuation printed before the default case. 2021-06-30 13:07 Christos Zoulas * PR/270: Don't translate unprintable characters in %s magic formats when -r * PR/269: Avoid undefined behavior with clang (adding offset to NULL) 2021-05-09 18:38 Christos Zoulas * Add a new flag (f) that requires that the match is a full word, not a partial word match. * Add varint types (unused) 2021-04-19 17:17 Christos Zoulas * PR/256: mutableVoid: If the file is less than 3 bytes, use the file length to determine type * PR/259: aleksandr.v.novichkov: mime printing through indirect magic is not taken into account, use match directly so that it does. 2021-04-04 17:02 Christos Zoulas * count the total bytes found not the total byte positions in order to determine encoding (Anatol Belski) @ text @d3 1 a3 1 # $File: elf,v 1.87 2021/05/25 15:19:51 christos Exp $ d306 1 a306 1 >18 leshort 258 LoongArch, d337 1 a337 1 >>18 leshort x *unknown arch %#x* @ 1.1.1.17 log @Update to file-5.45 (Last was file-5.44) 2023-07-27 15:45 Christos Zoulas * release 5.45 2023-07-17 11:53 Christos Zoulas * PR/465: psrok1: Avoid muslc asctime_r crash 2023-05-21 13:05 Christos Zoulas * add SIMH tape format support 2023-02-09 12:50 Christos Zoulas * bump the max size of the elf section notes to be read to 128K and make it configurable 2023-01-08 1:08 Christos Zoulas * PR/415: Fix decompression with program returning empty 2022-12-26 1:47 Christos Zoulas * PR/408: fix -p with seccomp * PR/412: fix MinGW compilation @ text @d3 1 a3 1 # $File: elf,v 1.88 2023/01/08 17:09:18 christos Exp $ a10 2 # https://www.sco.com/developers/gabi/latest/ch4.eheader.html # a284 6 >18 leshort 219 CSR Kalimba architecture family >18 leshort 220 Zilog Z80 >18 leshort 221 Controls and Data Services VISIUMcore processor >18 leshort 222 FTDI Chip FT32 high performance 32-bit RISC architecture >18 leshort 223 Moxie processor family >18 leshort 224 AMD GPU architecture @ 1.1.1.1.2.1 log @file elf was added on branch jym-xensuspend on 2009-05-13 18:51:55 +0000 @ text @d1 288 @ 1.1.1.1.2.2 log @Sync with HEAD. Second commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html @ text @a0 288 #------------------------------------------------------------------------------ # elf: file(1) magic for ELF executables # # We have to check the byte order flag to see what byte order all the # other stuff in the header is in. # # What're the correct byte orders for the nCUBE and the Fujitsu VPP500? # # Created by: unknown # Modified by (1): Daniel Quinlan # Modified by (2): Peter Tobias (core support) # Modified by (3): Christian 'Dr. Disk' Hechelmann (fix of core support) # Modified by (4): (VMS Itanium) # Modified by (5): Matthias Urlichs (Listing of many architectures) 0 string \177ELF ELF >4 byte 0 invalid class >4 byte 1 32-bit >4 byte 2 64-bit >5 byte 0 invalid byte order >5 byte 1 LSB >>16 leshort 0 no file type, !:strength *2 !:mime application/octet-stream >>16 leshort 1 relocatable, !:mime application/x-object >>16 leshort 2 executable, !:mime application/x-executable >>16 leshort 3 shared object, !:mime application/x-sharedlib >>16 leshort 4 core file !:mime application/x-coredump # Core file detection is not reliable. #>>>(0x38+0xcc) string >\0 of '%s' #>>>(0x38+0x10) lelong >0 (signal %d), >>16 leshort &0xff00 processor-specific, >>18 leshort 0 no machine, >>18 leshort 1 AT&T WE32100 - invalid byte order, >>18 leshort 2 SPARC - invalid byte order, >>18 leshort 3 Intel 80386, >>18 leshort 4 Motorola >>>36 lelong &0x01000000 68000 - invalid byte order, >>>36 lelong &0x00810000 CPU32 - invalid byte order, >>>36 lelong 0 68020 - invalid byte order, >>18 leshort 5 Motorola 88000 - invalid byte order, >>18 leshort 6 Intel 80486, >>18 leshort 7 Intel 80860, # The official e_machine number for MIPS is now #8, regardless of endianness. # The second number (#10) will be deprecated later. For now, we still # say something if #10 is encountered, but only gory details for #8. >>18 leshort 8 MIPS, >>>36 lelong &0x20 N32 >>18 leshort 10 MIPS, >>>36 lelong &0x20 N32 >>18 leshort 8 # only for 32-bit >>>4 byte 1 >>>>36 lelong&0xf0000000 0x00000000 MIPS-I >>>>36 lelong&0xf0000000 0x10000000 MIPS-II >>>>36 lelong&0xf0000000 0x20000000 MIPS-III >>>>36 lelong&0xf0000000 0x30000000 MIPS-IV >>>>36 lelong&0xf0000000 0x40000000 MIPS-V >>>>36 lelong&0xf0000000 0x50000000 MIPS32 >>>>36 lelong&0xf0000000 0x60000000 MIPS64 >>>>36 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>>36 lelong&0xf0000000 0x80000000 MIPS64 rel2 # only for 64-bit >>>4 byte 2 >>>>48 lelong&0xf0000000 0x00000000 MIPS-I >>>>48 lelong&0xf0000000 0x10000000 MIPS-II >>>>48 lelong&0xf0000000 0x20000000 MIPS-III >>>>48 lelong&0xf0000000 0x30000000 MIPS-IV >>>>48 lelong&0xf0000000 0x40000000 MIPS-V >>>>48 lelong&0xf0000000 0x50000000 MIPS32 >>>>48 lelong&0xf0000000 0x60000000 MIPS64 >>>>48 lelong&0xf0000000 0x70000000 MIPS32 rel2 >>>>48 lelong&0xf0000000 0x80000000 MIPS64 rel2 >>18 leshort 9 Amdahl - invalid byte order, >>18 leshort 10 MIPS (deprecated), >>18 leshort 11 RS6000 - invalid byte order, >>18 leshort 15 PA-RISC - invalid byte order, >>>50 leshort 0x0214 2.0 >>>48 leshort &0x0008 (LP64), >>18 leshort 16 nCUBE, >>18 leshort 17 Fujitsu VPP500, >>18 leshort 18 SPARC32PLUS - invalid byte order, >>18 leshort 20 PowerPC, >>18 leshort 22 IBM S/390, >>18 leshort 36 NEC V800, >>18 leshort 37 Fujitsu FR20, >>18 leshort 38 TRW RH-32, >>18 leshort 39 Motorola RCE, >>18 leshort 40 ARM, >>18 leshort 41 Alpha, >>18 leshort 0xa390 IBM S/390 (obsolete), >>18 leshort 42 Renesas SH, >>18 leshort 43 SPARC V9 - invalid byte order, >>18 leshort 44 Siemens Tricore Embedded Processor, >>18 leshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >>18 leshort 46 Renesas H8/300, >>18 leshort 47 Renesas H8/300H, >>18 leshort 48 Renesas H8S, >>18 leshort 49 Renesas H8/500, >>18 leshort 50 IA-64, >>18 leshort 51 Stanford MIPS-X, >>18 leshort 52 Motorola Coldfire, >>18 leshort 53 Motorola M68HC12, >>18 leshort 54 Fujitsu MMA, >>18 leshort 55 Siemens PCP, >>18 leshort 56 Sony nCPU, >>18 leshort 57 Denso NDR1, >>18 leshort 58 Start*Core, >>18 leshort 59 Toyota ME16, >>18 leshort 60 ST100, >>18 leshort 61 Tinyj emb., >>18 leshort 62 x86-64, >>18 leshort 63 Sony DSP, >>18 leshort 66 FX66, >>18 leshort 67 ST9+ 8/16 bit, >>18 leshort 68 ST7 8 bit, >>18 leshort 69 MC68HC16, >>18 leshort 70 MC68HC11, >>18 leshort 71 MC68HC08, >>18 leshort 72 MC68HC05, >>18 leshort 73 SGI SVx, >>18 leshort 74 ST19 8 bit, >>18 leshort 75 Digital VAX, >>18 leshort 76 Axis cris, >>18 leshort 77 Infineon 32-bit embedded, >>18 leshort 78 Element 14 64-bit DSP, >>18 leshort 79 LSI Logic 16-bit DSP, >>18 leshort 80 MMIX, >>18 leshort 81 Harvard machine-independent, >>18 leshort 82 SiTera Prism, >>18 leshort 83 Atmel AVR 8-bit, >>18 leshort 84 Fujitsu FR30, >>18 leshort 85 Mitsubishi D10V, >>18 leshort 86 Mitsubishi D30V, >>18 leshort 87 NEC v850, >>18 leshort 88 Renesas M32R, >>18 leshort 89 Matsushita MN10300, >>18 leshort 90 Matsushita MN10200, >>18 leshort 91 picoJava, >>18 leshort 92 OpenRISC, >>18 leshort 93 ARC Cores Tangent-A5, >>18 leshort 94 Tensilica Xtensa, >>18 leshort 97 NatSemi 32k, >>18 leshort 106 Analog Devices Blackfin, >>18 leshort 113 Altera Nios II, >>18 leshort 0xae META, >>18 leshort 0x3426 OpenRISC (obsolete), >>18 leshort 0x8472 OpenRISC (obsolete), >>18 leshort 0x9026 Alpha (unofficial), >>20 lelong 0 invalid version >>20 lelong 1 version 1 >>36 lelong 1 MathCoPro/FPU/MAU Required >5 byte 2 MSB >>16 beshort 0 no file type, !:mime application/octet-stream >>16 beshort 1 relocatable, !:mime application/x-object >>16 beshort 2 executable, !:mime application/x-executable >>16 beshort 3 shared object, !:mime application/x-sharedlib >>16 beshort 4 core file, !:mime application/x-coredump #>>>(0x38+0xcc) string >\0 of '%s' #>>>(0x38+0x10) belong >0 (signal %d), >>16 beshort &0xff00 processor-specific, >>18 beshort 0 no machine, >>18 beshort 1 AT&T WE32100, >>18 beshort 2 SPARC, >>18 beshort 3 Intel 80386 - invalid byte order, >>18 beshort 4 Motorola >>>36 belong &0x01000000 68000, >>>36 belong &0x00810000 CPU32, >>>36 belong 0 68020, >>18 beshort 5 Motorola 88000, >>18 beshort 6 Intel 80486 - invalid byte order, >>18 beshort 7 Intel 80860, # only for MIPS - see comment in little-endian section above. >>18 beshort 8 MIPS, >>>36 belong &0x20 N32 >>18 beshort 10 MIPS, >>>36 belong &0x20 N32 >>18 beshort 8 # only for 32-bit >>>4 byte 1 >>>>36 belong&0xf0000000 0x00000000 MIPS-I >>>>36 belong&0xf0000000 0x10000000 MIPS-II >>>>36 belong&0xf0000000 0x20000000 MIPS-III >>>>36 belong&0xf0000000 0x30000000 MIPS-IV >>>>36 belong&0xf0000000 0x40000000 MIPS-V >>>>36 belong&0xf0000000 0x50000000 MIPS32 >>>>36 belong&0xf0000000 0x60000000 MIPS64 >>>>36 belong&0xf0000000 0x70000000 MIPS32 rel2 >>>>36 belong&0xf0000000 0x80000000 MIPS64 rel2 # only for 64-bit >>>4 byte 2 >>>>48 belong&0xf0000000 0x00000000 MIPS-I >>>>48 belong&0xf0000000 0x10000000 MIPS-II >>>>48 belong&0xf0000000 0x20000000 MIPS-III >>>>48 belong&0xf0000000 0x30000000 MIPS-IV >>>>48 belong&0xf0000000 0x40000000 MIPS-V >>>>48 belong&0xf0000000 0x50000000 MIPS32 >>>>48 belong&0xf0000000 0x60000000 MIPS64 >>>>48 belong&0xf0000000 0x70000000 MIPS32 rel2 >>>>48 belong&0xf0000000 0x80000000 MIPS64 rel2 >>18 beshort 9 Amdahl, >>18 beshort 10 MIPS (deprecated), >>18 beshort 11 RS6000, >>18 beshort 15 PA-RISC >>>50 beshort 0x0214 2.0 >>>48 beshort &0x0008 (LP64) >>18 beshort 16 nCUBE, >>18 beshort 17 Fujitsu VPP500, >>18 beshort 18 SPARC32PLUS, >>>36 belong&0xffff00 0x000100 V8+ Required, >>>36 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>36 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>36 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>18 beshort 20 PowerPC or cisco 4500, >>18 beshort 21 64-bit PowerPC or cisco 7500, >>18 beshort 22 IBM S/390, >>18 beshort 23 Cell SPU, >>18 beshort 24 cisco SVIP, >>18 beshort 25 cisco 7200, >>18 beshort 36 NEC V800 or cisco 12000, >>18 beshort 37 Fujitsu FR20, >>18 beshort 38 TRW RH-32, >>18 beshort 39 Motorola RCE, >>18 beshort 40 ARM, >>18 beshort 41 Alpha, >>18 beshort 42 Renesas SH, >>18 beshort 43 SPARC V9, >>>48 belong&0xffff00 0x000200 Sun UltraSPARC1 Extensions Required, >>>48 belong&0xffff00 0x000400 HaL R1 Extensions Required, >>>48 belong&0xffff00 0x000800 Sun UltraSPARC3 Extensions Required, >>>48 belong&0x3 0 total store ordering, >>>48 belong&0x3 1 partial store ordering, >>>48 belong&0x3 2 relaxed memory ordering, >>18 beshort 44 Siemens Tricore Embedded Processor, >>18 beshort 45 Argonaut RISC Core, Argonaut Technologies Inc., >>18 beshort 46 Renesas H8/300, >>18 beshort 47 Renesas H8/300H, >>18 beshort 48 Renesas H8S, >>18 beshort 49 Renesas H8/500, >>18 beshort 50 IA-64, >>18 beshort 51 Stanford MIPS-X, >>18 beshort 52 Motorola Coldfire, >>18 beshort 53 Motorola M68HC12, >>18 beshort 73 Cray NV1, >>18 beshort 75 Digital VAX, >>18 beshort 88 Renesas M32R, >>18 leshort 92 OpenRISC, >>18 leshort 0x3426 OpenRISC (obsolete), >>18 leshort 0x8472 OpenRISC (obsolete), >>18 beshort 94 Tensilica Xtensa, >>18 beshort 97 NatSemi 32k, >>18 beshort 0x18ad AVR32 (unofficial), >>18 beshort 0x9026 Alpha (unofficial), >>18 beshort 0xa390 IBM S/390 (obsolete), >>20 belong 0 invalid version >>20 belong 1 version 1 >>36 belong 1 MathCoPro/FPU/MAU Required # Up to now only 0, 1 and 2 are defined; I've seen a file with 0x83, it seemed # like proper ELF, but extracting the string had bad results. >4 byte <0x80 >>8 string >\0 (%s) >8 string \0 >>7 byte 0 (SYSV) >>7 byte 1 (HP-UX) >>7 byte 2 (NetBSD) >>7 byte 3 (GNU/Linux) >>7 byte 4 (GNU/Hurd) >>7 byte 5 (86Open) >>7 byte 6 (Solaris) >>7 byte 7 (Monterey) >>7 byte 8 (IRIX) >>7 byte 9 (FreeBSD) >>7 byte 10 (Tru64) >>7 byte 11 (Novell Modesto) >>7 byte 12 (OpenBSD) >8 string \2 >>7 byte 13 (OpenVMS) >>7 byte 97 (ARM) >>7 byte 255 (embedded) @