c2023527baba9af4ba610be0b7d2849f8811281e
[oota-llvm.git] / test / tools / llvm-objdump / X86 / macho-private-headers.test
1 // RUN: llvm-objdump -p %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
2 // RUN: llvm-objdump -p %p/Inputs/hello.exe.macho-x86_64 \
3 // RUN:     | FileCheck %s -check-prefix=EXE
4 // RUN: llvm-objdump -p %p/Inputs/dylibLoadKinds.macho-x86_64 \
5 // RUN:     | FileCheck %s -check-prefix=LOAD
6 // RUN: llvm-objdump -p %p/Inputs/linkerOption.macho-x86_64 \
7 // RUN:     | FileCheck %s -check-prefix=LD_OPT
8 // RUN: llvm-objdump -p %p/Inputs/dylibSubFramework.macho-x86_64 \
9 // RUN:     | FileCheck %s -check-prefix=SUB_FRAME
10 // RUN: llvm-objdump -p %p/Inputs/dylibSubUmbrella.macho-x86_64 \
11 // RUN:     | FileCheck %s -check-prefix=SUB_UMB
12
13 CHECK: Mach header
14 CHECK:       magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
15 CHECK: MH_MAGIC_64  X86_64        ALL  0x00      OBJECT     3        496 SUBSECTIONS_VIA_SYMBOLS
16 CHECK: Load command 0
17 CHECK:       cmd LC_SEGMENT_64
18 CHECK:   cmdsize 392
19 CHECK:   segname 
20 CHECK:    vmaddr 0x0000000000000000
21 CHECK:    vmsize 0x00000000000000a8
22 CHECK:   fileoff 528
23 CHECK:  filesize 168
24 CHECK:   maxprot rwx
25 CHECK:  initprot rwx
26 CHECK:    nsects 4
27 CHECK:     flags (none)
28 CHECK: Section
29 CHECK:   sectname __text
30 CHECK:    segname __TEXT
31 CHECK:       addr 0x0000000000000000
32 CHECK:       size 0x000000000000003b
33 CHECK:     offset 528
34 CHECK:      align 2^4 (16)
35 CHECK:     reloff 696
36 CHECK:     nreloc 2
37 CHECK:       type S_REGULAR
38 CHECK: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
39 CHECK:  reserved1 0
40 CHECK:  reserved2 0
41 CHECK: Section
42 CHECK:   sectname __cstring
43 CHECK:    segname __TEXT
44 CHECK:       addr 0x000000000000003b
45 CHECK:       size 0x000000000000000d
46 CHECK:     offset 587
47 CHECK:      align 2^0 (1)
48 CHECK:     reloff 0
49 CHECK:     nreloc 0
50 CHECK:       type S_CSTRING_LITERALS
51 CHECK: attributes (none)
52 CHECK:  reserved1 0
53 CHECK:  reserved2 0
54 CHECK: Section
55 CHECK:   sectname __compact_unwind
56 CHECK:    segname __LD
57 CHECK:       addr 0x0000000000000048
58 CHECK:       size 0x0000000000000020
59 CHECK:     offset 600
60 CHECK:      align 2^3 (8)
61 CHECK:     reloff 712
62 CHECK:     nreloc 1
63 CHECK:       type S_REGULAR
64 CHECK: attributes DEBUG
65 CHECK:  reserved1 0
66 CHECK:  reserved2 0
67 CHECK: Section
68 CHECK:   sectname __eh_frame
69 CHECK:    segname __TEXT
70 CHECK:       addr 0x0000000000000068
71 CHECK:       size 0x0000000000000040
72 CHECK:     offset 632
73 CHECK:      align 2^3 (8)
74 CHECK:     reloff 0
75 CHECK:     nreloc 0
76 CHECK:       type S_COALESCED
77 CHECK: attributes NO_TOC STRIP_STATIC_SYMS LIVE_SUPPORT
78 CHECK:  reserved1 0
79 CHECK:  reserved2 0
80 CHECK: Load command 1
81 CHECK:      cmd LC_SYMTAB
82 CHECK:  cmdsize 24
83 CHECK:   symoff 720
84 CHECK:    nsyms 5
85 CHECK:   stroff 800
86 CHECK:  strsize 44
87 CHECK: Load command 2
88 CHECK:             cmd LC_DYSYMTAB
89 CHECK:         cmdsize 80
90 CHECK:       ilocalsym 0
91 CHECK:       nlocalsym 2
92 CHECK:      iextdefsym 2
93 CHECK:      nextdefsym 2
94 CHECK:       iundefsym 4
95 CHECK:       nundefsym 1
96 CHECK:          tocoff 0
97 CHECK:            ntoc 0
98 CHECK:       modtaboff 0
99 CHECK:         nmodtab 0
100 CHECK:    extrefsymoff 0
101 CHECK:     nextrefsyms 0
102 CHECK:  indirectsymoff 0
103 CHECK:   nindirectsyms 0
104 CHECK:       extreloff 0
105 CHECK:         nextrel 0
106 CHECK:       locreloff 0
107 CHECK:         nlocrel 0
108
109 EXE: Mach header
110 EXE:       magic cputype cpusubtype  caps    filetype ncmds sizeofcmds      flags
111 EXE: MH_MAGIC_64  X86_64        ALL LIB64     EXECUTE    16       1296   NOUNDEFS DYLDLINK TWOLEVEL PIE
112 EXE: Load command 0
113 EXE:       cmd LC_SEGMENT_64
114 EXE:   cmdsize 72
115 EXE:   segname __PAGEZERO
116 EXE:    vmaddr 0x0000000000000000
117 EXE:    vmsize 0x0000000100000000
118 EXE:   fileoff 0
119 EXE:  filesize 0
120 EXE:   maxprot ---
121 EXE:  initprot ---
122 EXE:    nsects 0
123 EXE:     flags (none)
124 EXE: Load command 1
125 EXE:       cmd LC_SEGMENT_64
126 EXE:   cmdsize 552
127 EXE:   segname __TEXT
128 EXE:    vmaddr 0x0000000100000000
129 EXE:    vmsize 0x0000000000001000
130 EXE:   fileoff 0
131 EXE:  filesize 4096
132 EXE:   maxprot rwx
133 EXE:  initprot r-x
134 EXE:    nsects 6
135 EXE:     flags (none)
136 EXE: Section
137 EXE:   sectname __text
138 EXE:    segname __TEXT
139 EXE:       addr 0x0000000100000f30
140 EXE:       size 0x000000000000003b
141 EXE:     offset 3888
142 EXE:      align 2^4 (16)
143 EXE:     reloff 0
144 EXE:     nreloc 0
145 EXE:       type S_REGULAR
146 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
147 EXE:  reserved1 0
148 EXE:  reserved2 0
149 EXE: Section
150 EXE:   sectname __stubs
151 EXE:    segname __TEXT
152 EXE:       addr 0x0000000100000f6c
153 EXE:       size 0x0000000000000006
154 EXE:     offset 3948
155 EXE:      align 2^1 (2)
156 EXE:     reloff 0
157 EXE:     nreloc 0
158 EXE:       type S_SYMBOL_STUBS
159 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
160 EXE:  reserved1 0 (index into indirect symbol table)
161 EXE:  reserved2 6 (size of stubs)
162 EXE: Section
163 EXE:   sectname __stub_helper
164 EXE:    segname __TEXT
165 EXE:       addr 0x0000000100000f74
166 EXE:       size 0x000000000000001a
167 EXE:     offset 3956
168 EXE:      align 2^2 (4)
169 EXE:     reloff 0
170 EXE:     nreloc 0
171 EXE:       type S_REGULAR
172 EXE: attributes PURE_INSTRUCTIONS SOME_INSTRUCTIONS
173 EXE:  reserved1 0
174 EXE:  reserved2 0
175 EXE: Section
176 EXE:   sectname __cstring
177 EXE:    segname __TEXT
178 EXE:       addr 0x0000000100000f8e
179 EXE:       size 0x000000000000000d
180 EXE:     offset 3982
181 EXE:      align 2^0 (1)
182 EXE:     reloff 0
183 EXE:     nreloc 0
184 EXE:       type S_CSTRING_LITERALS
185 EXE: attributes (none)
186 EXE:  reserved1 0
187 EXE:  reserved2 0
188 EXE: Section
189 EXE:   sectname __unwind_info
190 EXE:    segname __TEXT
191 EXE:       addr 0x0000000100000f9b
192 EXE:       size 0x0000000000000048
193 EXE:     offset 3995
194 EXE:      align 2^0 (1)
195 EXE:     reloff 0
196 EXE:     nreloc 0
197 EXE:       type S_REGULAR
198 EXE: attributes (none)
199 EXE:  reserved1 0
200 EXE:  reserved2 0
201 EXE: Section
202 EXE:   sectname __eh_frame
203 EXE:    segname __TEXT
204 EXE:       addr 0x0000000100000fe8
205 EXE:       size 0x0000000000000018
206 EXE:     offset 4072
207 EXE:      align 2^3 (8)
208 EXE:     reloff 0
209 EXE:     nreloc 0
210 EXE:       type S_REGULAR
211 EXE: attributes (none)
212 EXE:  reserved1 0
213 EXE:  reserved2 0
214 EXE: Load command 2
215 EXE:       cmd LC_SEGMENT_64
216 EXE:   cmdsize 232
217 EXE:   segname __DATA
218 EXE:    vmaddr 0x0000000100001000
219 EXE:    vmsize 0x0000000000001000
220 EXE:   fileoff 4096
221 EXE:  filesize 4096
222 EXE:   maxprot rwx
223 EXE:  initprot rw-
224 EXE:    nsects 2
225 EXE:     flags (none)
226 EXE: Section
227 EXE:   sectname __nl_symbol_ptr
228 EXE:    segname __DATA
229 EXE:       addr 0x0000000100001000
230 EXE:       size 0x0000000000000010
231 EXE:     offset 4096
232 EXE:      align 2^3 (8)
233 EXE:     reloff 0
234 EXE:     nreloc 0
235 EXE:       type S_NON_LAZY_SYMBOL_POINTERS
236 EXE: attributes (none)
237 EXE:  reserved1 1 (index into indirect symbol table)
238 EXE:  reserved2 0
239 EXE: Section
240 EXE:   sectname __la_symbol_ptr
241 EXE:    segname __DATA
242 EXE:       addr 0x0000000100001010
243 EXE:       size 0x0000000000000008
244 EXE:     offset 4112
245 EXE:      align 2^3 (8)
246 EXE:     reloff 0
247 EXE:     nreloc 0
248 EXE:       type S_LAZY_SYMBOL_POINTERS
249 EXE: attributes (none)
250 EXE:  reserved1 3 (index into indirect symbol table)
251 EXE:  reserved2 0
252 EXE: Load command 3
253 EXE:       cmd LC_SEGMENT_64
254 EXE:   cmdsize 72
255 EXE:   segname __LINKEDIT
256 EXE:    vmaddr 0x0000000100002000
257 EXE:    vmsize 0x0000000000001000
258 EXE:   fileoff 8192
259 EXE:  filesize 304
260 EXE:   maxprot rwx
261 EXE:  initprot r--
262 EXE:    nsects 0
263 EXE:     flags (none)
264 EXE: Load command 4
265 EXE:             cmd LC_DYLD_INFO_ONLY
266 EXE:         cmdsize 48
267 EXE:      rebase_off 8192
268 EXE:     rebase_size 8
269 EXE:        bind_off 8200
270 EXE:       bind_size 24
271 EXE:   weak_bind_off 0
272 EXE:  weak_bind_size 0
273 EXE:   lazy_bind_off 8224
274 EXE:  lazy_bind_size 16
275 EXE:      export_off 8240
276 EXE:     export_size 48
277 EXE: Load command 5
278 EXE:      cmd LC_SYMTAB
279 EXE:  cmdsize 24
280 EXE:   symoff 8360
281 EXE:    nsyms 4
282 EXE:   stroff 8440
283 EXE:  strsize 56
284 EXE: Load command 6
285 EXE:             cmd LC_DYSYMTAB
286 EXE:         cmdsize 80
287 EXE:       ilocalsym 0
288 EXE:       nlocalsym 0
289 EXE:      iextdefsym 0
290 EXE:      nextdefsym 2
291 EXE:       iundefsym 2
292 EXE:       nundefsym 2
293 EXE:          tocoff 0
294 EXE:            ntoc 0
295 EXE:       modtaboff 0
296 EXE:         nmodtab 0
297 EXE:    extrefsymoff 0
298 EXE:     nextrefsyms 0
299 EXE:  indirectsymoff 8424
300 EXE:   nindirectsyms 4
301 EXE:       extreloff 0
302 EXE:         nextrel 0
303 EXE:       locreloff 0
304 EXE:         nlocrel 0
305 EXE: Load command 7
306 EXE:           cmd LC_LOAD_DYLINKER
307 EXE:       cmdsize 32
308 EXE:          name /usr/lib/dyld (offset 12)
309 EXE: Load command 8
310 EXE:      cmd LC_UUID
311 EXE:  cmdsize 24
312 EXE:     uuid 65C2DD41-79B0-3B34-871B-8CB3446AB762
313 EXE: Load command 9
314 EXE:       cmd LC_VERSION_MIN_MACOSX
315 EXE:   cmdsize 16
316 EXE:   version 10.9
317 EXE:       sdk 10.9
318 EXE: Load command 10
319 EXE:       cmd LC_SOURCE_VERSION
320 EXE:   cmdsize 16
321 EXE:   version 0.0
322 EXE: Load command 11
323 EXE:        cmd LC_MAIN
324 EXE:    cmdsize 24
325 EXE:   entryoff 3888
326 EXE:  stacksize 0
327 EXE: Load command 12
328 EXE:           cmd LC_LOAD_DYLIB
329 EXE:       cmdsize 56
330 EXE:          name /usr/lib/libSystem.B.dylib (offset 24)
331 EXE:       current version 1197.1.1
332 EXE: compatibility version 1.0.0
333 EXE: Load command 13
334 EXE:       cmd LC_FUNCTION_STARTS
335 EXE:   cmdsize 16
336 EXE:   dataoff 8288
337 EXE:  datasize 8
338 EXE: Load command 14
339 EXE:       cmd LC_DATA_IN_CODE
340 EXE:   cmdsize 16
341 EXE:   dataoff 8296
342 EXE:  datasize 0
343 EXE: Load command 15
344 EXE:       cmd LC_DYLIB_CODE_SIGN_DRS
345 EXE:   cmdsize 16
346 EXE:   dataoff 8296
347 EXE:  datasize 64
348
349
350 LOAD: Load command 10
351 LOAD:           cmd LC_LOAD_DYLIB
352 LOAD:       cmdsize 48
353 LOAD:          name /usr/lib/foo1.dylib (offset 24)
354 LOAD:       current version 0.0.0
355 LOAD: compatibility version 0.0.0
356 LOAD: Load command 11
357 LOAD:           cmd LC_LOAD_WEAK_DYLIB
358 LOAD:       cmdsize 48
359 LOAD:          name /usr/lib/foo2.dylib (offset 24)
360 LOAD:       current version 0.0.0
361 LOAD: compatibility version 0.0.0
362 LOAD: Load command 12
363 LOAD:           cmd LC_REEXPORT_DYLIB
364 LOAD:       cmdsize 48
365 LOAD:          name /usr/lib/foo3.dylib (offset 24)
366 LOAD:       current version 0.0.0
367 LOAD: compatibility version 0.0.0
368 LOAD: Load command 13
369 LOAD:           cmd LC_LAZY_LOAD_DYLIB
370 LOAD:       cmdsize 48
371 LOAD:          name /usr/lib/foo4.dylib (offset 24)
372 LOAD:       current version 0.0.0
373 LOAD: compatibility version 0.0.0
374
375 LD_OPT: Load command 4
376 LD_OPT:      cmd LC_LINKER_OPTION
377 LD_OPT:  cmdsize 24
378 LD_OPT:    count 1
379 LD_OPT:   string #1 -lc++
380 LD_OPT: Load command 5
381 LD_OPT:      cmd LC_LINKER_OPTION
382 LD_OPT:  cmdsize 40
383 LD_OPT:    count 2
384 LD_OPT:   string #1 -framework
385 LD_OPT:   string #2 Foundation
386
387 SUB_FRAME: Load command 10
388 SUB_FRAME:           cmd LC_SUB_FRAMEWORK
389 SUB_FRAME:       cmdsize 16
390 SUB_FRAME:      umbrella Bar (offset 12)
391
392 SUB_UMB: Load command 5
393 SUB_UMB:           cmd LC_SUB_UMBRELLA
394 SUB_UMB:       cmdsize 16
395 SUB_UMB:  sub_umbrella Foo (offset 12)