| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 | 
#------------------------------------------------------------# $File: mach,v 1.29 2021/04/26 15:56:00 christos Exp $# Mach has two magic numbers, 0xcafebabe and 0xfeedface.# Unfortunately the first, cafebabe, is shared with# Java ByteCode, so they are both handled in the file "cafebabe".# The "feedface" ones are handled herein.#------------------------------------------------------------# if set, it's for the 64-bit version of the architecture# yes, this is separate from the low-order magic number bit# it's also separate from the "64-bit libraries" bit in the# upper 8 bits of the CPU subtype# Reference:	https://opensource.apple.com/source/cctools/cctools-949.0.1/#               include/mach-o/loader.h# display CPU type as string like: i386 x86_64 ... armv7 armv7k ...0	name	mach-o-cpu>0	belong&0xff000000	0## 32-bit ABIs.##				1	vax>>0	belong&0x00ffffff	1>>>4		belong&0x00ffffff	0	vax>>>4		belong&0x00ffffff	1	vax11/780>>>4		belong&0x00ffffff	2	vax11/785>>>4		belong&0x00ffffff	3	vax11/750>>>4		belong&0x00ffffff	4	vax11/730>>>4		belong&0x00ffffff	5	uvaxI>>>4		belong&0x00ffffff	6	uvaxII>>>4		belong&0x00ffffff	7	vax8200>>>4		belong&0x00ffffff	8	vax8500>>>4		belong&0x00ffffff	9	vax8600>>>4		belong&0x00ffffff	10	vax8650>>>4		belong&0x00ffffff	11	vax8800>>>4		belong&0x00ffffff	12	uvaxIII>>>4		belong&0x00ffffff	>12	vax subarchitecture=%d>>0	belong&0x00ffffff	2	romp>>0	belong&0x00ffffff	3	architecture=3>>0	belong&0x00ffffff	4	ns32032>>0	belong&0x00ffffff	5	ns32332>>0	belong&0x00ffffff	6	m68k#				7	x86>>0	belong&0x00ffffff	7>>>4	belong&0x0000000f	3		i386>>>4	belong&0x0000000f	4		i486>>>>4	belong&0x00fffff0	0>>>>4	belong&0x00fffff0	0x80		\bsx>>>4	belong&0x0000000f	5		i586>>>4	belong&0x0000000f	6>>>>4	belong&0x00fffff0	0		p6>>>>4	belong&0x00fffff0	0x10		pentium_pro>>>>4	belong&0x00fffff0	0x20		pentium_2_m0x20>>>>4	belong&0x00fffff0	0x30		pentium_2_m3>>>>4	belong&0x00fffff0	0x40		pentium_2_m0x40>>>>4	belong&0x00fffff0	0x50		pentium_2_m5>>>>4	belong&0x00fffff0	>0x50		pentium_2_m%#x>>>4	belong&0x0000000f	7		celeron>>>>4	belong&0x00fffff0	0x00		\b_m%#x>>>>4	belong&0x00fffff0	0x10		\b_m%#x>>>>4	belong&0x00fffff0	0x20		\b_m%#x>>>>4	belong&0x00fffff0	0x30		\b_m%#x>>>>4	belong&0x00fffff0	0x40		\b_m%#x>>>>4	belong&0x00fffff0	0x50		\b_m%#x>>>>4	belong&0x00fffff0	0x60>>>>4	belong&0x00fffff0	0x70		\b_mobile>>>>4	belong&0x00fffff0	>0x70		\b_m%#x>>>4	belong&0x0000000f	8		pentium_3>>>>4	belong&0x00fffff0	0x00>>>>4	belong&0x00fffff0	0x10		\b_m>>>>4	belong&0x00fffff0	0x20		\b_xeon>>>>4	belong&0x00fffff0	>0x20		\b_m%#x>>>4	belong&0x0000000f	9		pentiumM>>>>4	belong&0x00fffff0	0x00>>>>4	belong&0x00fffff0	>0x00		\b_m%#x>>>4	belong&0x0000000f	10		pentium_4>>>>4	belong&0x00fffff0	0x00>>>>4	belong&0x00fffff0	0x10		\b_m>>>>4	belong&0x00fffff0	>0x10		\b_m%#x>>>4	belong&0x0000000f	11		itanium>>>>4	belong&0x00fffff0	0x00>>>>4	belong&0x00fffff0	0x10		\b_2>>>>4	belong&0x00fffff0	>0x10		\b_m%#x>>>4	belong&0x0000000f	12		xeon>>>>4	belong&0x00fffff0	0x00>>>>4	belong&0x00fffff0	0x10		\b_mp>>>>4	belong&0x00fffff0	>0x10		\b_m%#x>>>4	belong&0x0000000f	>12		ia32 family=%d>>>>4	belong&0x00fffff0	0x00>>>>4	belong&0x00fffff0	>0x00		model=%x>>0	belong&0x00ffffff	8	mips>>>4		belong&0x00ffffff	1	R2300>>>4		belong&0x00ffffff	2	R2600>>>4		belong&0x00ffffff	3	R2800>>>4		belong&0x00ffffff	4	R2000a>>>4		belong&0x00ffffff	5	R2000>>>4		belong&0x00ffffff	6	R3000a>>>4		belong&0x00ffffff	7	R3000>>>4		belong&0x00ffffff	>7	subarchitecture=%d>>0	belong&0x00ffffff	9	ns32532>>0	belong&0x00ffffff	10	mc98000>>0	belong&0x00ffffff	11	hppa>>>4		belong&0x00ffffff	0	7100>>>4		belong&0x00ffffff	1	7100LC>>>4		belong&0x00ffffff	>1	subarchitecture=%d>>0	belong&0x00ffffff	12	arm>>>4		belong&0x00ffffff	0>>>4		belong&0x00ffffff	1	subarchitecture=%d>>>4		belong&0x00ffffff	2	subarchitecture=%d>>>4		belong&0x00ffffff	3	subarchitecture=%d>>>4		belong&0x00ffffff	4	subarchitecture=%d>>>4		belong&0x00ffffff	5	\bv4t>>>4		belong&0x00ffffff	6	\bv6>>>4		belong&0x00ffffff	7	\bv5tej>>>4		belong&0x00ffffff	8	\bxscale>>>4		belong&0x00ffffff	9	\bv7>>>4		belong&0x00ffffff	10	\bv7f>>>4		belong&0x00ffffff	11	\bv7s>>>4		belong&0x00ffffff	12	\bv7k>>>4		belong&0x00ffffff	13	\bv8>>>4		belong&0x00ffffff	14	\bv6m>>>4		belong&0x00ffffff	15	\bv7m>>>4		belong&0x00ffffff	16	\bv7em>>>4		belong&0x00ffffff	>16	subarchitecture=%d#				13	m88k>>0	belong&0x00ffffff	13>>>4		belong&0x00ffffff	0	mc88000>>>4		belong&0x00ffffff	1	mc88100>>>4		belong&0x00ffffff	2	mc88110>>>4		belong&0x00ffffff	>2	mc88000 subarchitecture=%d>>0	belong&0x00ffffff	14	SPARC>>0	belong&0x00ffffff	15	i860g>>0	belong&0x00ffffff	16	alpha>>0	belong&0x00ffffff	17	rs6000>>0	belong&0x00ffffff	18	ppc>>>4		belong&0x00ffffff	0>>>4		belong&0x00ffffff	1	\b_601>>>4		belong&0x00ffffff	2	\b_602>>>4		belong&0x00ffffff	3	\b_603>>>4		belong&0x00ffffff	4	\b_603e>>>4		belong&0x00ffffff	5	\b_603ev>>>4		belong&0x00ffffff	6	\b_604>>>4		belong&0x00ffffff	7	\b_604e>>>4		belong&0x00ffffff	8	\b_620>>>4		belong&0x00ffffff	9	\b_750>>>4		belong&0x00ffffff	10	\b_7400>>>4		belong&0x00ffffff	11	\b_7450>>>4		belong&0x00ffffff	100	\b_970>>>4		belong&0x00ffffff	>100	subarchitecture=%d>>0	belong&0x00ffffff	>18	architecture=%d>0	belong&0xff000000	0x01000000## 64-bit ABIs.#>>0	belong&0x00ffffff	0	64-bit architecture=%d>>0	belong&0x00ffffff	1	64-bit architecture=%d>>0	belong&0x00ffffff	2	64-bit architecture=%d>>0	belong&0x00ffffff	3	64-bit architecture=%d>>0	belong&0x00ffffff	4	64-bit architecture=%d>>0	belong&0x00ffffff	5	64-bit architecture=%d>>0	belong&0x00ffffff	6	64-bit architecture=%d>>0	belong&0x00ffffff	7	x86_64>>>4		belong&0x00ffffff	0	subarchitecture=%d>>>4		belong&0x00ffffff	1	subarchitecture=%d>>>4		belong&0x00ffffff	2	subarchitecture=%d>>>4		belong&0x00ffffff	3>>>4		belong&0x00ffffff	4	\b_arch1>>>4		belong&0x00ffffff	8	\b_haswell>>>4		belong&0x00ffffff	>4	subarchitecture=%d>>0	belong&0x00ffffff	8	64-bit architecture=%d>>0	belong&0x00ffffff	9	64-bit architecture=%d>>0	belong&0x00ffffff	10	64-bit architecture=%d>>0	belong&0x00ffffff	11	64-bit architecture=%d>>0	belong&0x00ffffff	12	arm64>>>4		belong&0x00ffffff	0>>>4		belong&0x00ffffff	1	\bv8>>>4		belong&0x00ffffff	2	\be>>>>7		ubyte&0xff		>0	(caps:>>>>7		ubyte&0xff		<0x80	%#02x>>>>7		ubyte&0xc0		0x80	PAC>>>>>7		ubyte&0x3f		x	\b%02d>>>>7		ubyte&0xc0		0xc0	PAK>>>>>7		ubyte&0x3f		x	\b%02d>>>>7		ubyte&0xff		x	\b)>>>4		belong&0x00ffffff	>2	subarchitecture=%d>>0	belong&0x00ffffff	13	64-bit architecture=%d>>0	belong&0x00ffffff	14	64-bit architecture=%d>>0	belong&0x00ffffff	15	64-bit architecture=%d>>0	belong&0x00ffffff	16	64-bit architecture=%d>>0	belong&0x00ffffff	17	64-bit architecture=%d>>0	belong&0x00ffffff	18	ppc64>>>4		belong&0x00ffffff	0>>>4		belong&0x00ffffff	1		\b_601>>>4		belong&0x00ffffff	2		\b_602>>>4		belong&0x00ffffff	3		\b_603>>>4		belong&0x00ffffff	4		\b_603e>>>4		belong&0x00ffffff	5		\b_603ev>>>4		belong&0x00ffffff	6		\b_604>>>4		belong&0x00ffffff	7		\b_604e>>>4		belong&0x00ffffff	8		\b_620>>>4		belong&0x00ffffff	9		\b_650>>>4		belong&0x00ffffff	10		\b_7400>>>4		belong&0x00ffffff	11		\b_7450>>>4		belong&0x00ffffff	100		\b_970>>>4		belong&0x00ffffff	>100		subarchitecture=%d>>0	belong&0x00ffffff	>18	64-bit architecture=%d>0	belong&0xff000000	0x02000000## 64_32-bit ABIs.#>>0	belong&0x00ffffff	0	64_32-bit architecture=%d>>0	belong&0x00ffffff	1	64_32-bit architecture=%d>>0	belong&0x00ffffff	2	64_32-bit architecture=%d>>0	belong&0x00ffffff	3	64_32-bit architecture=%d>>0	belong&0x00ffffff	4	64_32-bit architecture=%d>>0	belong&0x00ffffff	5	64_32-bit architecture=%d>>0	belong&0x00ffffff	6	64_32-bit architecture=%d>>0	belong&0x00ffffff	7	64_32-bit architecture=%d>>0	belong&0x00ffffff	8	64_32-bit architecture=%d>>0	belong&0x00ffffff	9	64_32-bit architecture=%d>>0	belong&0x00ffffff	10	64_32-bit architecture=%d>>0	belong&0x00ffffff	11	64_32-bit architecture=%d>>0	belong&0x00ffffff	12	64_32-bit arm>>>4		belong&0x00ffffff	0>>>4		belong&0x00ffffff	1	\bv8>>>4		belong&0x00ffffff	>1	subarchitecture=%d>>0	belong&0x00ffffff	13	64_32-bit architecture=%d>>0	belong&0x00ffffff	14	64_32-bit architecture=%d>>0	belong&0x00ffffff	15	64_32-bit architecture=%d>>0	belong&0x00ffffff	16	64_32-bit architecture=%d>>0	belong&0x00ffffff	17	64_32-bit architecture=%d>>0	belong&0x00ffffff	18	64_32-bit architecture=%d>>0	belong&0x00ffffff	>18	64_32-bit architecture=%d0	name		mach-o-be>0	byte		0xcf		64-bit>4	use		mach-o-cpu>12	belong		1		object# GRR: Does not work for Mach-O with 2 architectures; instead display oo#!:ext	o!:ext	o/>12	belong		2		executable# the executables normally have no file extension like perl,# but exceptions like perl5.18 perl5.16!:ext	16/18/>12	belong		3		fixed virtual memory shared library>12	belong		4		core>12	belong		5		preload executable>12	belong		6		dynamically linked shared library# GRR: Does not work for Mach-O with 2 architectures; instead display dylibdylib#!:ext	dylib!:ext	dylib/>12	belong		7		dynamic linker>12	belong		8		bundle# normally name extension bundle; but exceptions like: AMDil_r700.dylib !:ext	bundle/dylib/>12	belong		9		dynamically linked shared library stub>12	belong		10		dSYM companion file>12	belong		11		kext bundle>12	belong		>11>>12	belong		x		filetype=%d>24	belong		>0		\b, flags:<>>24	belong		&0x00000001	\bNOUNDEFS>>24	belong		&0x00000002	\b|INCRLINK>>24	belong		&0x00000004	\b|DYLDLINK>>24	belong		&0x00000008	\b|BINDATLOAD>>24	belong		&0x00000010	\b|PREBOUND>>24	belong		&0x00000020	\b|SPLIT_SEGS>>24	belong		&0x00000040	\b|LAZY_INIT>>24	belong		&0x00000080	\b|TWOLEVEL>>24	belong		&0x00000100	\b|FORCE_FLAT>>24	belong		&0x00000200	\b|NOMULTIDEFS>>24	belong		&0x00000400	\b|NOFIXPREBINDING>>24	belong		&0x00000800	\b|PREBINDABLE>>24	belong		&0x00001000	\b|ALLMODSBOUND>>24	belong		&0x00002000	\b|SUBSECTIONS_VIA_SYMBOLS>>24	belong		&0x00004000	\b|CANONICAL>>24	belong		&0x00008000	\b|WEAK_DEFINES>>24	belong		&0x00010000	\b|BINDS_TO_WEAK>>24	belong		&0x00020000	\b|ALLOW_STACK_EXECUTION>>24	belong		&0x00040000	\b|ROOT_SAFE>>24	belong		&0x00080000	\b|SETUID_SAFE>>24	belong		&0x00100000	\b|NO_REEXPORTED_DYLIBS>>24	belong		&0x00200000	\b|PIE>>24	belong		&0x00400000	\b|DEAD_STRIPPABLE_DYLIB>>24	belong		&0x00800000	\b|HAS_TLV_DESCRIPTORS>>24	belong		&0x01000000	\b|NO_HEAP_EXECUTION>>24	belong		&0x02000000	\b|APP_EXTENSION_SAFE>>24	belong		&0x04000000	\b|NLIST_OUTOFSYNC_WITH_DYLDINFO>>24	belong		&0x08000000	\b|SIM_SUPPORT>>24	belong		&0x80000000	\b|DYLIB_IN_CACHE>>24	belong		x		\b>#0	lelong&0xfffffffe	0xfeedface	Mach-O!:strength +1!:mime application/x-mach-binary>0	use	\^mach-o-be0	belong&0xfffffffe	0xfeedface	Mach-O!:strength +1!:mime application/x-mach-binary>0	use	mach-o-be
 |