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