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