xref: /freebsd/contrib/file/magic/Magdir/mach (revision 43a5ec4eb41567cc92586503212743d89686d78f)
1b6cee71dSXin LI
2b6cee71dSXin LI#------------------------------------------------------------
3*43a5ec4eSXin LI# $File: mach,v 1.29 2021/04/26 15:56:00 christos Exp $
4b6cee71dSXin LI# Mach has two magic numbers, 0xcafebabe and 0xfeedface.
5b6cee71dSXin LI# Unfortunately the first, cafebabe, is shared with
6b6cee71dSXin LI# Java ByteCode, so they are both handled in the file "cafebabe".
7b6cee71dSXin LI# The "feedface" ones are handled herein.
8b6cee71dSXin LI#------------------------------------------------------------
9b6cee71dSXin LI# if set, it's for the 64-bit version of the architecture
10b6cee71dSXin LI# yes, this is separate from the low-order magic number bit
11b6cee71dSXin LI# it's also separate from the "64-bit libraries" bit in the
12b6cee71dSXin LI# upper 8 bits of the CPU subtype
13b6cee71dSXin LI
14*43a5ec4eSXin LI# Reference:	https://opensource.apple.com/source/cctools/cctools-949.0.1/
15*43a5ec4eSXin LI#               include/mach-o/loader.h
16*43a5ec4eSXin LI# display CPU type as string like: i386 x86_64 ... armv7 armv7k ...
17b6cee71dSXin LI0	name	mach-o-cpu
18*43a5ec4eSXin LI>0	belong&0xff000000	0
19b6cee71dSXin LI#
20b6cee71dSXin LI# 32-bit ABIs.
21b6cee71dSXin LI#
22b6cee71dSXin LI#				1	vax
23b6cee71dSXin LI>>0	belong&0x00ffffff	1
24b6cee71dSXin LI>>>4		belong&0x00ffffff	0	vax
25b6cee71dSXin LI>>>4		belong&0x00ffffff	1	vax11/780
26b6cee71dSXin LI>>>4		belong&0x00ffffff	2	vax11/785
27b6cee71dSXin LI>>>4		belong&0x00ffffff	3	vax11/750
28b6cee71dSXin LI>>>4		belong&0x00ffffff	4	vax11/730
29b6cee71dSXin LI>>>4		belong&0x00ffffff	5	uvaxI
30b6cee71dSXin LI>>>4		belong&0x00ffffff	6	uvaxII
31b6cee71dSXin LI>>>4		belong&0x00ffffff	7	vax8200
32b6cee71dSXin LI>>>4		belong&0x00ffffff	8	vax8500
33b6cee71dSXin LI>>>4		belong&0x00ffffff	9	vax8600
34b6cee71dSXin LI>>>4		belong&0x00ffffff	10	vax8650
35b6cee71dSXin LI>>>4		belong&0x00ffffff	11	vax8800
36b6cee71dSXin LI>>>4		belong&0x00ffffff	12	uvaxIII
37b6cee71dSXin LI>>>4		belong&0x00ffffff	>12	vax subarchitecture=%d
38b6cee71dSXin LI>>0	belong&0x00ffffff	2	romp
39b6cee71dSXin LI>>0	belong&0x00ffffff	3	architecture=3
40b6cee71dSXin LI>>0	belong&0x00ffffff	4	ns32032
41b6cee71dSXin LI>>0	belong&0x00ffffff	5	ns32332
42b6cee71dSXin LI>>0	belong&0x00ffffff	6	m68k
43b6cee71dSXin LI#				7	x86
44b6cee71dSXin LI>>0	belong&0x00ffffff	7
45b6cee71dSXin LI>>>4	belong&0x0000000f	3		i386
46b6cee71dSXin LI>>>4	belong&0x0000000f	4		i486
47b6cee71dSXin LI>>>>4	belong&0x00fffff0	0
48b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x80		\bsx
49b6cee71dSXin LI>>>4	belong&0x0000000f	5		i586
50b6cee71dSXin LI>>>4	belong&0x0000000f	6
51b6cee71dSXin LI>>>>4	belong&0x00fffff0	0		p6
52b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x10		pentium_pro
53b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x20		pentium_2_m0x20
54b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x30		pentium_2_m3
55b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x40		pentium_2_m0x40
56b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x50		pentium_2_m5
57*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x50		pentium_2_m%#x
58b6cee71dSXin LI>>>4	belong&0x0000000f	7		celeron
59*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	0x00		\b_m%#x
60*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	0x10		\b_m%#x
61*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	0x20		\b_m%#x
62*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	0x30		\b_m%#x
63*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	0x40		\b_m%#x
64*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	0x50		\b_m%#x
65b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x60
66b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x70		\b_mobile
67*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x70		\b_m%#x
68b6cee71dSXin LI>>>4	belong&0x0000000f	8		pentium_3
69b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x00
70b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x10		\b_m
71b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x20		\b_xeon
72*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x20		\b_m%#x
73b6cee71dSXin LI>>>4	belong&0x0000000f	9		pentiumM
74b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x00
75*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x00		\b_m%#x
76b6cee71dSXin LI>>>4	belong&0x0000000f	10		pentium_4
77b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x00
78b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x10		\b_m
79*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x10		\b_m%#x
80b6cee71dSXin LI>>>4	belong&0x0000000f	11		itanium
81b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x00
82b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x10		\b_2
83*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x10		\b_m%#x
84b6cee71dSXin LI>>>4	belong&0x0000000f	12		xeon
85b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x00
86b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x10		\b_mp
87*43a5ec4eSXin LI>>>>4	belong&0x00fffff0	>0x10		\b_m%#x
88b6cee71dSXin LI>>>4	belong&0x0000000f	>12		ia32 family=%d
89b6cee71dSXin LI>>>>4	belong&0x00fffff0	0x00
90b6cee71dSXin LI>>>>4	belong&0x00fffff0	>0x00		model=%x
91b6cee71dSXin LI>>0	belong&0x00ffffff	8	mips
92b6cee71dSXin LI>>>4		belong&0x00ffffff	1	R2300
93b6cee71dSXin LI>>>4		belong&0x00ffffff	2	R2600
94b6cee71dSXin LI>>>4		belong&0x00ffffff	3	R2800
95b6cee71dSXin LI>>>4		belong&0x00ffffff	4	R2000a
96b6cee71dSXin LI>>>4		belong&0x00ffffff	5	R2000
97b6cee71dSXin LI>>>4		belong&0x00ffffff	6	R3000a
98b6cee71dSXin LI>>>4		belong&0x00ffffff	7	R3000
99b6cee71dSXin LI>>>4		belong&0x00ffffff	>7	subarchitecture=%d
100b6cee71dSXin LI>>0	belong&0x00ffffff	9	ns32532
101b6cee71dSXin LI>>0	belong&0x00ffffff	10	mc98000
102b6cee71dSXin LI>>0	belong&0x00ffffff	11	hppa
103b6cee71dSXin LI>>>4		belong&0x00ffffff	0	7100
104b6cee71dSXin LI>>>4		belong&0x00ffffff	1	7100LC
105b6cee71dSXin LI>>>4		belong&0x00ffffff	>1	subarchitecture=%d
106b6cee71dSXin LI>>0	belong&0x00ffffff	12	arm
107b6cee71dSXin LI>>>4		belong&0x00ffffff	0
108b6cee71dSXin LI>>>4		belong&0x00ffffff	1	subarchitecture=%d
109b6cee71dSXin LI>>>4		belong&0x00ffffff	2	subarchitecture=%d
110b6cee71dSXin LI>>>4		belong&0x00ffffff	3	subarchitecture=%d
111b6cee71dSXin LI>>>4		belong&0x00ffffff	4	subarchitecture=%d
1123e41d09dSXin LI>>>4		belong&0x00ffffff	5	\bv4t
1133e41d09dSXin LI>>>4		belong&0x00ffffff	6	\bv6
1143e41d09dSXin LI>>>4		belong&0x00ffffff	7	\bv5tej
1153e41d09dSXin LI>>>4		belong&0x00ffffff	8	\bxscale
1163e41d09dSXin LI>>>4		belong&0x00ffffff	9	\bv7
1173e41d09dSXin LI>>>4		belong&0x00ffffff	10	\bv7f
1183e41d09dSXin LI>>>4		belong&0x00ffffff	11	\bv7s
1193e41d09dSXin LI>>>4		belong&0x00ffffff	12	\bv7k
1203e41d09dSXin LI>>>4		belong&0x00ffffff	13	\bv8
1213e41d09dSXin LI>>>4		belong&0x00ffffff	14	\bv6m
1223e41d09dSXin LI>>>4		belong&0x00ffffff	15	\bv7m
1233e41d09dSXin LI>>>4		belong&0x00ffffff	16	\bv7em
1243e41d09dSXin LI>>>4		belong&0x00ffffff	>16	subarchitecture=%d
125b6cee71dSXin LI#				13	m88k
126b6cee71dSXin LI>>0	belong&0x00ffffff	13
127b6cee71dSXin LI>>>4		belong&0x00ffffff	0	mc88000
128b6cee71dSXin LI>>>4		belong&0x00ffffff	1	mc88100
129b6cee71dSXin LI>>>4		belong&0x00ffffff	2	mc88110
130b6cee71dSXin LI>>>4		belong&0x00ffffff	>2	mc88000 subarchitecture=%d
131b6cee71dSXin LI>>0	belong&0x00ffffff	14	SPARC
132b6cee71dSXin LI>>0	belong&0x00ffffff	15	i860g
133b6cee71dSXin LI>>0	belong&0x00ffffff	16	alpha
134b6cee71dSXin LI>>0	belong&0x00ffffff	17	rs6000
135b6cee71dSXin LI>>0	belong&0x00ffffff	18	ppc
136b6cee71dSXin LI>>>4		belong&0x00ffffff	0
137b6cee71dSXin LI>>>4		belong&0x00ffffff	1	\b_601
138b6cee71dSXin LI>>>4		belong&0x00ffffff	2	\b_602
139b6cee71dSXin LI>>>4		belong&0x00ffffff	3	\b_603
140b6cee71dSXin LI>>>4		belong&0x00ffffff	4	\b_603e
141b6cee71dSXin LI>>>4		belong&0x00ffffff	5	\b_603ev
142b6cee71dSXin LI>>>4		belong&0x00ffffff	6	\b_604
143b6cee71dSXin LI>>>4		belong&0x00ffffff	7	\b_604e
144b6cee71dSXin LI>>>4		belong&0x00ffffff	8	\b_620
145*43a5ec4eSXin LI>>>4		belong&0x00ffffff	9	\b_750
146b6cee71dSXin LI>>>4		belong&0x00ffffff	10	\b_7400
147b6cee71dSXin LI>>>4		belong&0x00ffffff	11	\b_7450
148b6cee71dSXin LI>>>4		belong&0x00ffffff	100	\b_970
149b6cee71dSXin LI>>>4		belong&0x00ffffff	>100	subarchitecture=%d
150b6cee71dSXin LI>>0	belong&0x00ffffff	>18	architecture=%d
151*43a5ec4eSXin LI>0	belong&0xff000000	0x01000000
152b6cee71dSXin LI#
153b6cee71dSXin LI# 64-bit ABIs.
154b6cee71dSXin LI#
155b6cee71dSXin LI>>0	belong&0x00ffffff	0	64-bit architecture=%d
156b6cee71dSXin LI>>0	belong&0x00ffffff	1	64-bit architecture=%d
157b6cee71dSXin LI>>0	belong&0x00ffffff	2	64-bit architecture=%d
158b6cee71dSXin LI>>0	belong&0x00ffffff	3	64-bit architecture=%d
159b6cee71dSXin LI>>0	belong&0x00ffffff	4	64-bit architecture=%d
160b6cee71dSXin LI>>0	belong&0x00ffffff	5	64-bit architecture=%d
161b6cee71dSXin LI>>0	belong&0x00ffffff	6	64-bit architecture=%d
162b6cee71dSXin LI>>0	belong&0x00ffffff	7	x86_64
163b6cee71dSXin LI>>>4		belong&0x00ffffff	0	subarchitecture=%d
164b6cee71dSXin LI>>>4		belong&0x00ffffff	1	subarchitecture=%d
165b6cee71dSXin LI>>>4		belong&0x00ffffff	2	subarchitecture=%d
166b6cee71dSXin LI>>>4		belong&0x00ffffff	3
167b6cee71dSXin LI>>>4		belong&0x00ffffff	4	\b_arch1
1683e41d09dSXin LI>>>4		belong&0x00ffffff	8	\b_haswell
169b6cee71dSXin LI>>>4		belong&0x00ffffff	>4	subarchitecture=%d
170b6cee71dSXin LI>>0	belong&0x00ffffff	8	64-bit architecture=%d
171b6cee71dSXin LI>>0	belong&0x00ffffff	9	64-bit architecture=%d
172b6cee71dSXin LI>>0	belong&0x00ffffff	10	64-bit architecture=%d
173b6cee71dSXin LI>>0	belong&0x00ffffff	11	64-bit architecture=%d
1743e41d09dSXin LI>>0	belong&0x00ffffff	12	arm64
1753e41d09dSXin LI>>>4		belong&0x00ffffff	0
1763e41d09dSXin LI>>>4		belong&0x00ffffff	1	\bv8
177*43a5ec4eSXin LI>>>4		belong&0x00ffffff	2	\be
178*43a5ec4eSXin LI>>>>7		ubyte&0xff		>0	(caps:
179*43a5ec4eSXin LI>>>>7		ubyte&0xff		<0x80	%#02x
180*43a5ec4eSXin LI>>>>7		ubyte&0xc0		0x80	PAC
181*43a5ec4eSXin LI>>>>>7		ubyte&0x3f		x	\b%02d
182*43a5ec4eSXin LI>>>>7		ubyte&0xc0		0xc0	PAK
183*43a5ec4eSXin LI>>>>>7		ubyte&0x3f		x	\b%02d
184*43a5ec4eSXin LI>>>>7		ubyte&0xff		x	\b)
185*43a5ec4eSXin LI>>>4		belong&0x00ffffff	>2	subarchitecture=%d
186b6cee71dSXin LI>>0	belong&0x00ffffff	13	64-bit architecture=%d
187b6cee71dSXin LI>>0	belong&0x00ffffff	14	64-bit architecture=%d
188b6cee71dSXin LI>>0	belong&0x00ffffff	15	64-bit architecture=%d
189b6cee71dSXin LI>>0	belong&0x00ffffff	16	64-bit architecture=%d
190b6cee71dSXin LI>>0	belong&0x00ffffff	17	64-bit architecture=%d
191b6cee71dSXin LI>>0	belong&0x00ffffff	18	ppc64
192b6cee71dSXin LI>>>4		belong&0x00ffffff	0
193b6cee71dSXin LI>>>4		belong&0x00ffffff	1		\b_601
194b6cee71dSXin LI>>>4		belong&0x00ffffff	2		\b_602
195b6cee71dSXin LI>>>4		belong&0x00ffffff	3		\b_603
196b6cee71dSXin LI>>>4		belong&0x00ffffff	4		\b_603e
197b6cee71dSXin LI>>>4		belong&0x00ffffff	5		\b_603ev
198b6cee71dSXin LI>>>4		belong&0x00ffffff	6		\b_604
199b6cee71dSXin LI>>>4		belong&0x00ffffff	7		\b_604e
200b6cee71dSXin LI>>>4		belong&0x00ffffff	8		\b_620
201b6cee71dSXin LI>>>4		belong&0x00ffffff	9		\b_650
202b6cee71dSXin LI>>>4		belong&0x00ffffff	10		\b_7400
203b6cee71dSXin LI>>>4		belong&0x00ffffff	11		\b_7450
204b6cee71dSXin LI>>>4		belong&0x00ffffff	100		\b_970
205b6cee71dSXin LI>>>4		belong&0x00ffffff	>100		subarchitecture=%d
206b6cee71dSXin LI>>0	belong&0x00ffffff	>18	64-bit architecture=%d
207*43a5ec4eSXin LI>0	belong&0xff000000	0x02000000
208*43a5ec4eSXin LI#
209*43a5ec4eSXin LI# 64_32-bit ABIs.
210*43a5ec4eSXin LI#
211*43a5ec4eSXin LI>>0	belong&0x00ffffff	0	64_32-bit architecture=%d
212*43a5ec4eSXin LI>>0	belong&0x00ffffff	1	64_32-bit architecture=%d
213*43a5ec4eSXin LI>>0	belong&0x00ffffff	2	64_32-bit architecture=%d
214*43a5ec4eSXin LI>>0	belong&0x00ffffff	3	64_32-bit architecture=%d
215*43a5ec4eSXin LI>>0	belong&0x00ffffff	4	64_32-bit architecture=%d
216*43a5ec4eSXin LI>>0	belong&0x00ffffff	5	64_32-bit architecture=%d
217*43a5ec4eSXin LI>>0	belong&0x00ffffff	6	64_32-bit architecture=%d
218*43a5ec4eSXin LI>>0	belong&0x00ffffff	7	64_32-bit architecture=%d
219*43a5ec4eSXin LI>>0	belong&0x00ffffff	8	64_32-bit architecture=%d
220*43a5ec4eSXin LI>>0	belong&0x00ffffff	9	64_32-bit architecture=%d
221*43a5ec4eSXin LI>>0	belong&0x00ffffff	10	64_32-bit architecture=%d
222*43a5ec4eSXin LI>>0	belong&0x00ffffff	11	64_32-bit architecture=%d
223*43a5ec4eSXin LI>>0	belong&0x00ffffff	12	64_32-bit arm
224*43a5ec4eSXin LI>>>4		belong&0x00ffffff	0
225*43a5ec4eSXin LI>>>4		belong&0x00ffffff	1	\bv8
226*43a5ec4eSXin LI>>>4		belong&0x00ffffff	>1	subarchitecture=%d
227*43a5ec4eSXin LI>>0	belong&0x00ffffff	13	64_32-bit architecture=%d
228*43a5ec4eSXin LI>>0	belong&0x00ffffff	14	64_32-bit architecture=%d
229*43a5ec4eSXin LI>>0	belong&0x00ffffff	15	64_32-bit architecture=%d
230*43a5ec4eSXin LI>>0	belong&0x00ffffff	16	64_32-bit architecture=%d
231*43a5ec4eSXin LI>>0	belong&0x00ffffff	17	64_32-bit architecture=%d
232*43a5ec4eSXin LI>>0	belong&0x00ffffff	18	64_32-bit architecture=%d
233*43a5ec4eSXin LI>>0	belong&0x00ffffff	>18	64_32-bit architecture=%d
234b6cee71dSXin LI
235b6cee71dSXin LI0	name		mach-o-be
236b6cee71dSXin LI>0	byte		0xcf		64-bit
237b6cee71dSXin LI>4	use		mach-o-cpu
238b6cee71dSXin LI>12	belong		1		object
239*43a5ec4eSXin LI# GRR: Does not work for Mach-O with 2 architectures; instead display oo
240*43a5ec4eSXin LI#!:ext	o
241*43a5ec4eSXin LI!:ext	o/
242b6cee71dSXin LI>12	belong		2		executable
243*43a5ec4eSXin LI# the executables normally have no file extension like perl,
244*43a5ec4eSXin LI# but exceptions like perl5.18 perl5.16
245*43a5ec4eSXin LI!:ext	16/18/
246b6cee71dSXin LI>12	belong		3		fixed virtual memory shared library
247b6cee71dSXin LI>12	belong		4		core
248b6cee71dSXin LI>12	belong		5		preload executable
249b6cee71dSXin LI>12	belong		6		dynamically linked shared library
250*43a5ec4eSXin LI# GRR: Does not work for Mach-O with 2 architectures; instead display dylibdylib
251*43a5ec4eSXin LI#!:ext	dylib
252*43a5ec4eSXin LI!:ext	dylib/
253b6cee71dSXin LI>12	belong		7		dynamic linker
254b6cee71dSXin LI>12	belong		8		bundle
255*43a5ec4eSXin LI# normally name extension bundle; but exceptions like: AMDil_r700.dylib
256*43a5ec4eSXin LI!:ext	bundle/dylib/
257b6cee71dSXin LI>12	belong		9		dynamically linked shared library stub
258b6cee71dSXin LI>12	belong		10		dSYM companion file
259b6cee71dSXin LI>12	belong		11		kext bundle
260b6cee71dSXin LI>12	belong		>11
261b6cee71dSXin LI>>12	belong		x		filetype=%d
2623e41d09dSXin LI>24	belong		>0		\b, flags:<
263*43a5ec4eSXin LI>>24	belong		&0x00000001	\bNOUNDEFS
264*43a5ec4eSXin LI>>24	belong		&0x00000002	\b|INCRLINK
265*43a5ec4eSXin LI>>24	belong		&0x00000004	\b|DYLDLINK
266*43a5ec4eSXin LI>>24	belong		&0x00000008	\b|BINDATLOAD
267*43a5ec4eSXin LI>>24	belong		&0x00000010	\b|PREBOUND
268*43a5ec4eSXin LI>>24	belong		&0x00000020	\b|SPLIT_SEGS
269*43a5ec4eSXin LI>>24	belong		&0x00000040	\b|LAZY_INIT
270*43a5ec4eSXin LI>>24	belong		&0x00000080	\b|TWOLEVEL
271*43a5ec4eSXin LI>>24	belong		&0x00000100	\b|FORCE_FLAT
272*43a5ec4eSXin LI>>24	belong		&0x00000200	\b|NOMULTIDEFS
273*43a5ec4eSXin LI>>24	belong		&0x00000400	\b|NOFIXPREBINDING
274*43a5ec4eSXin LI>>24	belong		&0x00000800	\b|PREBINDABLE
275*43a5ec4eSXin LI>>24	belong		&0x00001000	\b|ALLMODSBOUND
276*43a5ec4eSXin LI>>24	belong		&0x00002000	\b|SUBSECTIONS_VIA_SYMBOLS
277*43a5ec4eSXin LI>>24	belong		&0x00004000	\b|CANONICAL
278*43a5ec4eSXin LI>>24	belong		&0x00008000	\b|WEAK_DEFINES
279*43a5ec4eSXin LI>>24	belong		&0x00010000	\b|BINDS_TO_WEAK
280*43a5ec4eSXin LI>>24	belong		&0x00020000	\b|ALLOW_STACK_EXECUTION
281*43a5ec4eSXin LI>>24	belong		&0x00040000	\b|ROOT_SAFE
282*43a5ec4eSXin LI>>24	belong		&0x00080000	\b|SETUID_SAFE
283*43a5ec4eSXin LI>>24	belong		&0x00100000	\b|NO_REEXPORTED_DYLIBS
284*43a5ec4eSXin LI>>24	belong		&0x00200000	\b|PIE
285*43a5ec4eSXin LI>>24	belong		&0x00400000	\b|DEAD_STRIPPABLE_DYLIB
286*43a5ec4eSXin LI>>24	belong		&0x00800000	\b|HAS_TLV_DESCRIPTORS
287*43a5ec4eSXin LI>>24	belong		&0x01000000	\b|NO_HEAP_EXECUTION
288*43a5ec4eSXin LI>>24	belong		&0x02000000	\b|APP_EXTENSION_SAFE
289*43a5ec4eSXin LI>>24	belong		&0x04000000	\b|NLIST_OUTOFSYNC_WITH_DYLDINFO
290*43a5ec4eSXin LI>>24	belong		&0x08000000	\b|SIM_SUPPORT
291*43a5ec4eSXin LI>>24	belong		&0x80000000	\b|DYLIB_IN_CACHE
2923e41d09dSXin LI>>24	belong		x		\b>
293b6cee71dSXin LI
294b6cee71dSXin LI#
295b6cee71dSXin LI0	lelong&0xfffffffe	0xfeedface	Mach-O
296b6cee71dSXin LI!:strength +1
2975f0216bdSXin LI!:mime application/x-mach-binary
298b6cee71dSXin LI>0	use	\^mach-o-be
299b6cee71dSXin LI
300b6cee71dSXin LI0	belong&0xfffffffe	0xfeedface	Mach-O
301b6cee71dSXin LI!:strength +1
3025f0216bdSXin LI!:mime application/x-mach-binary
303b6cee71dSXin LI>0	use	mach-o-be
304