Make test more lenient for custom clang version strings
[llvm-project.git] / llvm / test / tools / llvm-objcopy / MachO / segment-size-alignment.test
blobe4ec00203f21c777723ec50db512b2c0fda8a564
1 # RUN: yaml2obj --docnum=1 %s -o %t.armv7
2 # RUN: llvm-objdump --private-headers %t.armv7 | FileCheck %s --check-prefix=ARMV7
4 # ARMV7:       segname __PAGEZERO
5 # ARMV7-NEXT:  vmaddr 0x00000000
6 # ARMV7-NEXT:  vmsize 0x00004000
7 # ARMV7:       segname __TEXT
8 # ARMV7-NEXT:  vmaddr 0x00004000
9 # ARMV7-NEXT:  vmsize 0x00008000
10 # ARMV7:       segname __LINKEDIT
11 # ARMV7-NEXT:  vmaddr 0x0000c000
12 # ARMV7-NEXT:  vmsize 0x00004000
14 # RUN: yaml2obj --docnum=2 %s -o %t.arm64
15 # RUN: llvm-objdump --private-headers %t.arm64 | FileCheck %s --check-prefix=ARM64
17 # ARM64:       segname __PAGEZERO
18 # ARM64-NEXT:  vmaddr 0x0000000000000000
19 # ARM64-NEXT:  vmsize 0x0000000100000000
20 # ARM64:       segname __TEXT
21 # ARM64-NEXT:  vmaddr 0x0000000100000000
22 # ARM64-NEXT:  vmsize 0x0000000000008000
23 # ARM64:       segname __LINKEDIT
24 # ARM64-NEXT:  vmaddr 0x0000000100008000
25 # ARM64-NEXT:  vmsize 0x0000000000004000
27 # RUN: yaml2obj --docnum=3 %s -o %t.arm64_32
28 # RUN: llvm-objdump --private-headers %t.arm64_32 | FileCheck %s --check-prefix=ARM64_32
30 # ARM64_32:       segname __PAGEZERO
31 # ARM64_32-NEXT:  vmaddr 0x00000000
32 # ARM64_32-NEXT:  vmsize 0x00004000
33 # ARM64_32:       segname __TEXT
34 # ARM64_32-NEXT:  vmaddr 0x00004000
35 # ARM64_32-NEXT:  vmsize 0x00008000
36 # ARM64_32:       segname __LINKEDIT
37 # ARM64_32-NEXT:  vmaddr 0x0000c000
38 # ARM64_32-NEXT:  vmsize 0x00004000
40 # RUN: yaml2obj --docnum=4 %s -o %t.x86_64
41 # RUN: llvm-objdump --private-headers %t.x86_64 | FileCheck %s --check-prefix=X86_64
43 # X86_64:       segname __PAGEZERO
44 # X86_64-NEXT:  vmaddr 0x0000000000000000
45 # X86_64-NEXT:  vmsize 0x0000000100000000
46 # X86_64:       segname __TEXT
47 # X86_64-NEXT:  vmaddr 0x0000000100000000
48 # X86_64-NEXT:  vmsize 0x0000000000001000
49 # X86_64:       segname __LINKEDIT
50 # X86_64-NEXT:  vmaddr 0x0000000100001000
51 # X86_64-NEXT:  vmsize 0x0000000000001000
53 ## Input binaries:
55 ## Case 1: armv7 iOS binary.
56 ## This binary can be built on OSX as follows:
57 ## main.c: int main() { return 0; }
58 ## xcrun -sdk iphoneos clang -arch armv7 main.c -o main.exe
59 --- !mach-o
60 FileHeader:
61   magic:           0xFEEDFACE
62   cputype:         0x0000000C
63   cpusubtype:      0x00000009
64   filetype:        0x00000002
65   ncmds:           15
66   sizeofcmds:      600
67   flags:           0x00200085
68 LoadCommands:
69   - cmd:             LC_SEGMENT
70     cmdsize:         56
71     segname:         __PAGEZERO
72     vmaddr:          0
73     vmsize:          16384
74     fileoff:         0
75     filesize:        0
76     maxprot:         0
77     initprot:        0
78     nsects:          0
79     flags:           0
80   - cmd:             LC_SEGMENT
81     cmdsize:         124
82     segname:         __TEXT
83     vmaddr:          16384
84     vmsize:          32768
85     fileoff:         0
86     filesize:        32768
87     maxprot:         5
88     initprot:        5
89     nsects:          1
90     flags:           0
91     Sections:
92       - sectname:        __text
93         segname:         __TEXT
94         addr:            0x000000000000BFF6
95         size:            10
96         offset:          0x00007FF6
97         align:           1
98         reloff:          0x00000000
99         nreloc:          0
100         flags:           0x80000400
101         reserved1:       0x00000000
102         reserved2:       0x00000000
103         reserved3:       0x00000000
104         content:         81B00020009001B07047
105   - cmd:             LC_SEGMENT
106     cmdsize:         56
107     segname:         __LINKEDIT
108     vmaddr:          49152
109     vmsize:          16384
110     fileoff:         32768
111     filesize:        132
112     maxprot:         1
113     initprot:        1
114     nsects:          0
115     flags:           0
116   - cmd:             LC_DYLD_INFO_ONLY
117     cmdsize:         48
118     rebase_off:      0
119     rebase_size:     0
120     bind_off:        0
121     bind_size:       0
122     weak_bind_off:   0
123     weak_bind_size:  0
124     lazy_bind_off:   0
125     lazy_bind_size:  0
126     export_off:      32768
127     export_size:     44
128   - cmd:             LC_SYMTAB
129     cmdsize:         24
130     symoff:          32816
131     nsyms:           3
132     stroff:          32852
133     strsize:         48
134   - cmd:             LC_DYSYMTAB
135     cmdsize:         80
136     ilocalsym:       0
137     nlocalsym:       0
138     iextdefsym:      0
139     nextdefsym:      2
140     iundefsym:       2
141     nundefsym:       1
142     tocoff:          0
143     ntoc:            0
144     modtaboff:       0
145     nmodtab:         0
146     extrefsymoff:    0
147     nextrefsyms:     0
148     indirectsymoff:  0
149     nindirectsyms:   0
150     extreloff:       0
151     nextrel:         0
152     locreloff:       0
153     nlocrel:         0
154   - cmd:             LC_LOAD_DYLINKER
155     cmdsize:         28
156     name:            12
157     Content:         '/usr/lib/dyld'
158     ZeroPadBytes:    3
159   - cmd:             LC_UUID
160     cmdsize:         24
161     uuid:            C84A0193-BE6F-3625-882F-CBFC052AF6CF
162   - cmd:             LC_VERSION_MIN_IPHONEOS
163     cmdsize:         16
164     version:         680803
165     sdk:             852480
166   - cmd:             LC_SOURCE_VERSION
167     cmdsize:         16
168     version:         0
169   - cmd:             LC_MAIN
170     cmdsize:         24
171     entryoff:        32759
172     stacksize:       0
173   - cmd:             LC_ENCRYPTION_INFO
174     cmdsize:         20
175     cryptoff:        16384
176     cryptsize:       16384
177     cryptid:         0
178   - cmd:             LC_LOAD_DYLIB
179     cmdsize:         52
180     dylib:
181       name:            24
182       timestamp:       2
183       current_version: 83951616
184       compatibility_version: 65536
185     Content:         '/usr/lib/libSystem.B.dylib'
186     ZeroPadBytes:    2
187   - cmd:             LC_FUNCTION_STARTS
188     cmdsize:         16
189     dataoff:         32812
190     datasize:        4
191   - cmd:             LC_DATA_IN_CODE
192     cmdsize:         16
193     dataoff:         32816
194     datasize:        0
195 LinkEditData:
196   ExportTrie:
197     TerminalSize:    0
198     NodeOffset:      0
199     Name:            ''
200     Flags:           0x0000000000000000
201     Address:         0x0000000000000000
202     Other:           0x0000000000000000
203     ImportName:      ''
204     Children:
205       - TerminalSize:    0
206         NodeOffset:      5
207         Name:            _
208         Flags:           0x0000000000000000
209         Address:         0x0000000000000000
210         Other:           0x0000000000000000
211         ImportName:      ''
212         Children:
213           - TerminalSize:    2
214             NodeOffset:      33
215             Name:            _mh_execute_header
216             Flags:           0x0000000000000000
217             Address:         0x0000000000000000
218             Other:           0x0000000000000000
219             ImportName:      ''
220           - TerminalSize:    4
221             NodeOffset:      37
222             Name:            main
223             Flags:           0x0000000000000000
224             Address:         0x0000000000007FF7
225             Other:           0x0000000000000000
226             ImportName:      ''
227   NameList:
228     - n_strx:          2
229       n_type:          0x0F
230       n_sect:          1
231       n_desc:          16
232       n_value:         16384
233     - n_strx:          22
234       n_type:          0x0F
235       n_sect:          1
236       n_desc:          8
237       n_value:         49142
238     - n_strx:          28
239       n_type:          0x01
240       n_sect:          0
241       n_desc:          256
242       n_value:         0
243   StringTable:
244     - ' '
245     - __mh_execute_header
246     - _main
247     - dyld_stub_binder
248     - ''
249     - ''
250     - ''
253 ## Case 2: arm64 iOS binary.
254 ## This binary can be built on OSX as follows:
255 ## main.c: int main() { return 0; }
256 ## xcrun -sdk iphoneos clang -arch arm64 main.c -o main.exe
257 --- !mach-o
258 FileHeader:
259   magic:           0xFEEDFACF
260   cputype:         0x0100000C
261   cpusubtype:      0x00000000
262   filetype:        0x00000002
263   ncmds:           15
264   sizeofcmds:      768
265   flags:           0x00200085
266   reserved:        0x00000000
267 LoadCommands:
268   - cmd:             LC_SEGMENT_64
269     cmdsize:         72
270     segname:         __PAGEZERO
271     vmaddr:          0
272     vmsize:          4294967296
273     fileoff:         0
274     filesize:        0
275     maxprot:         0
276     initprot:        0
277     nsects:          0
278     flags:           0
279   - cmd:             LC_SEGMENT_64
280     cmdsize:         232
281     segname:         __TEXT
282     vmaddr:          4294967296
283     vmsize:          32768
284     fileoff:         0
285     filesize:        32768
286     maxprot:         5
287     initprot:        5
288     nsects:          2
289     flags:           0
290     Sections:
291       - sectname:        __text
292         segname:         __TEXT
293         addr:            0x0000000100007FA0
294         size:            24
295         offset:          0x00007FA0
296         align:           2
297         reloff:          0x00000000
298         nreloc:          0
299         flags:           0x80000400
300         reserved1:       0x00000000
301         reserved2:       0x00000000
302         reserved3:       0x00000000
303         content:         FF4300D1FF0F00B908008052E00308AAFF430091C0035FD6
304       - sectname:        __unwind_info
305         segname:         __TEXT
306         addr:            0x0000000100007FB8
307         size:            72
308         offset:          0x00007FB8
309         align:           2
310         reloff:          0x00000000
311         nreloc:          0
312         flags:           0x00000000
313         reserved1:       0x00000000
314         reserved2:       0x00000000
315         reserved3:       0x00000000
316         content:         010000001C000000000000001C000000000000001C00000002000000A07F00003400000034000000B97F00000000000034000000030000000C000100100001000000000000100002
317   - cmd:             LC_SEGMENT_64
318     cmdsize:         72
319     segname:         __LINKEDIT
320     vmaddr:          4295000064
321     vmsize:          16384
322     fileoff:         32768
323     filesize:        152
324     maxprot:         1
325     initprot:        1
326     nsects:          0
327     flags:           0
328   - cmd:             LC_DYLD_INFO_ONLY
329     cmdsize:         48
330     rebase_off:      0
331     rebase_size:     0
332     bind_off:        0
333     bind_size:       0
334     weak_bind_off:   0
335     weak_bind_size:  0
336     lazy_bind_off:   0
337     lazy_bind_size:  0
338     export_off:      32768
339     export_size:     48
340   - cmd:             LC_SYMTAB
341     cmdsize:         24
342     symoff:          32824
343     nsyms:           3
344     stroff:          32872
345     strsize:         48
346   - cmd:             LC_DYSYMTAB
347     cmdsize:         80
348     ilocalsym:       0
349     nlocalsym:       0
350     iextdefsym:      0
351     nextdefsym:      2
352     iundefsym:       2
353     nundefsym:       1
354     tocoff:          0
355     ntoc:            0
356     modtaboff:       0
357     nmodtab:         0
358     extrefsymoff:    0
359     nextrefsyms:     0
360     indirectsymoff:  0
361     nindirectsyms:   0
362     extreloff:       0
363     nextrel:         0
364     locreloff:       0
365     nlocrel:         0
366   - cmd:             LC_LOAD_DYLINKER
367     cmdsize:         32
368     name:            12
369     Content:         '/usr/lib/dyld'
370     ZeroPadBytes:    7
371   - cmd:             LC_UUID
372     cmdsize:         24
373     uuid:            945B24FC-E351-3186-9D74-A88A7A93392A
374   - cmd:             LC_BUILD_VERSION
375     cmdsize:         32
376     platform:        2
377     minos:           852480
378     sdk:             852480
379     ntools:          1
380     Tools:
381       - tool:            3
382         version:         34734080
383   - cmd:             LC_SOURCE_VERSION
384     cmdsize:         16
385     version:         0
386   - cmd:             LC_MAIN
387     cmdsize:         24
388     entryoff:        32672
389     stacksize:       0
390   - cmd:             LC_ENCRYPTION_INFO_64
391     cmdsize:         24
392     cryptoff:        16384
393     cryptsize:       16384
394     cryptid:         0
395     pad:             0
396   - cmd:             LC_LOAD_DYLIB
397     cmdsize:         56
398     dylib:
399       name:            24
400       timestamp:       2
401       current_version: 83951616
402       compatibility_version: 65536
403     Content:         '/usr/lib/libSystem.B.dylib'
404     ZeroPadBytes:    6
405   - cmd:             LC_FUNCTION_STARTS
406     cmdsize:         16
407     dataoff:         32816
408     datasize:        8
409   - cmd:             LC_DATA_IN_CODE
410     cmdsize:         16
411     dataoff:         32824
412     datasize:        0
413 LinkEditData:
414   ExportTrie:
415     TerminalSize:    0
416     NodeOffset:      0
417     Name:            ''
418     Flags:           0x0000000000000000
419     Address:         0x0000000000000000
420     Other:           0x0000000000000000
421     ImportName:      ''
422     Children:
423       - TerminalSize:    0
424         NodeOffset:      5
425         Name:            _
426         Flags:           0x0000000000000000
427         Address:         0x0000000000000000
428         Other:           0x0000000000000000
429         ImportName:      ''
430         Children:
431           - TerminalSize:    2
432             NodeOffset:      33
433             Name:            _mh_execute_header
434             Flags:           0x0000000000000000
435             Address:         0x0000000000000000
436             Other:           0x0000000000000000
437             ImportName:      ''
438           - TerminalSize:    4
439             NodeOffset:      37
440             Name:            main
441             Flags:           0x0000000000000000
442             Address:         0x0000000000007FA0
443             Other:           0x0000000000000000
444             ImportName:      ''
445   NameList:
446     - n_strx:          2
447       n_type:          0x0F
448       n_sect:          1
449       n_desc:          16
450       n_value:         4294967296
451     - n_strx:          22
452       n_type:          0x0F
453       n_sect:          1
454       n_desc:          0
455       n_value:         4294999968
456     - n_strx:          28
457       n_type:          0x01
458       n_sect:          0
459       n_desc:          256
460       n_value:         0
461   StringTable:
462     - ' '
463     - __mh_execute_header
464     - _main
465     - dyld_stub_binder
466     - ''
467     - ''
468     - ''
471 ## Case 3: arm64_32 WatchOS binary.
472 ## This binary can be built on OSX as follows:
473 ## main.c: int main() { return 0; }
474 ## xcrun -sdk watchos clang -arch arm64_32 main.c -o main.exe
475 --- !mach-o
476 FileHeader:
477   magic:           0xFEEDFACE
478   cputype:         0x0200000C
479   cpusubtype:      0x00000001
480   filetype:        0x00000002
481   ncmds:           15
482   sizeofcmds:      684
483   flags:           0x00200085
484 LoadCommands:
485   - cmd:             LC_SEGMENT
486     cmdsize:         56
487     segname:         __PAGEZERO
488     vmaddr:          0
489     vmsize:          16384
490     fileoff:         0
491     filesize:        0
492     maxprot:         0
493     initprot:        0
494     nsects:          0
495     flags:           0
496   - cmd:             LC_SEGMENT
497     cmdsize:         192
498     segname:         __TEXT
499     vmaddr:          16384
500     vmsize:          32768
501     fileoff:         0
502     filesize:        32768
503     maxprot:         5
504     initprot:        5
505     nsects:          2
506     flags:           0
507     Sections:
508       - sectname:        __text
509         segname:         __TEXT
510         addr:            0x000000000000BFA0
511         size:            24
512         offset:          0x00007FA0
513         align:           2
514         reloff:          0x00000000
515         nreloc:          0
516         flags:           0x80000400
517         reserved1:       0x00000000
518         reserved2:       0x00000000
519         reserved3:       0x00000000
520         content:         FF4300D108008052E80F00B9E00308AAFF430091C0035FD6
521       - sectname:        __unwind_info
522         segname:         __TEXT
523         addr:            0x000000000000BFB8
524         size:            72
525         offset:          0x00007FB8
526         align:           2
527         reloff:          0x00000000
528         nreloc:          0
529         flags:           0x00000000
530         reserved1:       0x00000000
531         reserved2:       0x00000000
532         reserved3:       0x00000000
533         content:         010000001C000000000000001C000000000000001C00000002000000A07F00003400000034000000B97F00000000000034000000030000000C000100100001000000000000100002
534   - cmd:             LC_SEGMENT
535     cmdsize:         56
536     segname:         __LINKEDIT
537     vmaddr:          49152
538     vmsize:          16384
539     fileoff:         32768
540     filesize:        132
541     maxprot:         1
542     initprot:        1
543     nsects:          0
544     flags:           0
545   - cmd:             LC_DYLD_INFO_ONLY
546     cmdsize:         48
547     rebase_off:      0
548     rebase_size:     0
549     bind_off:        0
550     bind_size:       0
551     weak_bind_off:   0
552     weak_bind_size:  0
553     lazy_bind_off:   0
554     lazy_bind_size:  0
555     export_off:      32768
556     export_size:     44
557   - cmd:             LC_SYMTAB
558     cmdsize:         24
559     symoff:          32816
560     nsyms:           3
561     stroff:          32852
562     strsize:         48
563   - cmd:             LC_DYSYMTAB
564     cmdsize:         80
565     ilocalsym:       0
566     nlocalsym:       0
567     iextdefsym:      0
568     nextdefsym:      2
569     iundefsym:       2
570     nundefsym:       1
571     tocoff:          0
572     ntoc:            0
573     modtaboff:       0
574     nmodtab:         0
575     extrefsymoff:    0
576     nextrefsyms:     0
577     indirectsymoff:  0
578     nindirectsyms:   0
579     extreloff:       0
580     nextrel:         0
581     locreloff:       0
582     nlocrel:         0
583   - cmd:             LC_LOAD_DYLINKER
584     cmdsize:         28
585     name:            12
586     Content:         '/usr/lib/dyld'
587     ZeroPadBytes:    3
588   - cmd:             LC_UUID
589     cmdsize:         24
590     uuid:            F33E5680-8F64-3402-8952-7FD251400D78
591   - cmd:             LC_BUILD_VERSION
592     cmdsize:         32
593     platform:        4
594     minos:           393472
595     sdk:             393472
596     ntools:          1
597     Tools:
598       - tool:            3
599         version:         34734080
600   - cmd:             LC_SOURCE_VERSION
601     cmdsize:         16
602     version:         0
603   - cmd:             LC_MAIN
604     cmdsize:         24
605     entryoff:        32672
606     stacksize:       0
607   - cmd:             LC_ENCRYPTION_INFO
608     cmdsize:         20
609     cryptoff:        16384
610     cryptsize:       16384
611     cryptid:         0
612   - cmd:             LC_LOAD_DYLIB
613     cmdsize:         52
614     dylib:
615       name:            24
616       timestamp:       2
617       current_version: 83951616
618       compatibility_version: 65536
619     Content:         '/usr/lib/libSystem.B.dylib'
620     ZeroPadBytes:    2
621   - cmd:             LC_FUNCTION_STARTS
622     cmdsize:         16
623     dataoff:         32812
624     datasize:        4
625   - cmd:             LC_DATA_IN_CODE
626     cmdsize:         16
627     dataoff:         32816
628     datasize:        0
629 LinkEditData:
630   ExportTrie:
631     TerminalSize:    0
632     NodeOffset:      0
633     Name:            ''
634     Flags:           0x0000000000000000
635     Address:         0x0000000000000000
636     Other:           0x0000000000000000
637     ImportName:      ''
638     Children:
639       - TerminalSize:    0
640         NodeOffset:      5
641         Name:            _
642         Flags:           0x0000000000000000
643         Address:         0x0000000000000000
644         Other:           0x0000000000000000
645         ImportName:      ''
646         Children:
647           - TerminalSize:    2
648             NodeOffset:      33
649             Name:            _mh_execute_header
650             Flags:           0x0000000000000000
651             Address:         0x0000000000000000
652             Other:           0x0000000000000000
653             ImportName:      ''
654           - TerminalSize:    4
655             NodeOffset:      37
656             Name:            main
657             Flags:           0x0000000000000000
658             Address:         0x0000000000007FA0
659             Other:           0x0000000000000000
660             ImportName:      ''
661   NameList:
662     - n_strx:          2
663       n_type:          0x0F
664       n_sect:          1
665       n_desc:          16
666       n_value:         16384
667     - n_strx:          22
668       n_type:          0x0F
669       n_sect:          1
670       n_desc:          0
671       n_value:         49056
672     - n_strx:          28
673       n_type:          0x01
674       n_sect:          0
675       n_desc:          256
676       n_value:         0
677   StringTable:
678     - ' '
679     - __mh_execute_header
680     - _main
681     - dyld_stub_binder
682     - ''
683     - ''
684     - ''
687 ## Case 4: x86_64 OSX binary.
688 ## This binary can be built on OSX as follows:
689 ## main.c: int main() { return 0; }
690 ## clang -arch x86_64 main.c -o main.exe
691 --- !mach-o
692 FileHeader:
693   magic:           0xFEEDFACF
694   cputype:         0x01000007
695   cpusubtype:      0x80000003
696   filetype:        0x00000002
697   ncmds:           14
698   sizeofcmds:      744
699   flags:           0x00200085
700   reserved:        0x00000000
701 LoadCommands:
702   - cmd:             LC_SEGMENT_64
703     cmdsize:         72
704     segname:         __PAGEZERO
705     vmaddr:          0
706     vmsize:          4294967296
707     fileoff:         0
708     filesize:        0
709     maxprot:         0
710     initprot:        0
711     nsects:          0
712     flags:           0
713   - cmd:             LC_SEGMENT_64
714     cmdsize:         232
715     segname:         __TEXT
716     vmaddr:          4294967296
717     vmsize:          4096
718     fileoff:         0
719     filesize:        4096
720     maxprot:         5
721     initprot:        5
722     nsects:          2
723     flags:           0
724     Sections:
725       - sectname:        __text
726         segname:         __TEXT
727         addr:            0x0000000100000FA0
728         size:            15
729         offset:          0x00000FA0
730         align:           4
731         reloff:          0x00000000
732         nreloc:          0
733         flags:           0x80000400
734         reserved1:       0x00000000
735         reserved2:       0x00000000
736         reserved3:       0x00000000
737         content:         554889E531C0C745FC000000005DC3
738       - sectname:        __unwind_info
739         segname:         __TEXT
740         addr:            0x0000000100000FB0
741         size:            72
742         offset:          0x00000FB0
743         align:           2
744         reloff:          0x00000000
745         nreloc:          0
746         flags:           0x00000000
747         reserved1:       0x00000000
748         reserved2:       0x00000000
749         reserved3:       0x00000000
750         content:         010000001C000000000000001C000000000000001C00000002000000A00F00003400000034000000B00F00000000000034000000030000000C000100100001000000000000000001
751   - cmd:             LC_SEGMENT_64
752     cmdsize:         72
753     segname:         __LINKEDIT
754     vmaddr:          4294971392
755     vmsize:          4096
756     fileoff:         4096
757     filesize:        152
758     maxprot:         1
759     initprot:        1
760     nsects:          0
761     flags:           0
762   - cmd:             LC_DYLD_INFO_ONLY
763     cmdsize:         48
764     rebase_off:      0
765     rebase_size:     0
766     bind_off:        0
767     bind_size:       0
768     weak_bind_off:   0
769     weak_bind_size:  0
770     lazy_bind_off:   0
771     lazy_bind_size:  0
772     export_off:      4096
773     export_size:     48
774   - cmd:             LC_SYMTAB
775     cmdsize:         24
776     symoff:          4152
777     nsyms:           3
778     stroff:          4200
779     strsize:         48
780   - cmd:             LC_DYSYMTAB
781     cmdsize:         80
782     ilocalsym:       0
783     nlocalsym:       0
784     iextdefsym:      0
785     nextdefsym:      2
786     iundefsym:       2
787     nundefsym:       1
788     tocoff:          0
789     ntoc:            0
790     modtaboff:       0
791     nmodtab:         0
792     extrefsymoff:    0
793     nextrefsyms:     0
794     indirectsymoff:  0
795     nindirectsyms:   0
796     extreloff:       0
797     nextrel:         0
798     locreloff:       0
799     nlocrel:         0
800   - cmd:             LC_LOAD_DYLINKER
801     cmdsize:         32
802     name:            12
803     Content:         '/usr/lib/dyld'
804     ZeroPadBytes:    7
805   - cmd:             LC_UUID
806     cmdsize:         24
807     uuid:            D70F7C9D-410A-3567-83E2-4CA3F33585FF
808   - cmd:             LC_BUILD_VERSION
809     cmdsize:         32
810     platform:        1
811     minos:           658944
812     sdk:             658944
813     ntools:          1
814     Tools:
815       - tool:            3
816         version:         34734080
817   - cmd:             LC_SOURCE_VERSION
818     cmdsize:         16
819     version:         0
820   - cmd:             LC_MAIN
821     cmdsize:         24
822     entryoff:        4000
823     stacksize:       0
824   - cmd:             LC_LOAD_DYLIB
825     cmdsize:         56
826     dylib:
827       name:            24
828       timestamp:       2
829       current_version: 82115073
830       compatibility_version: 65536
831     Content:         '/usr/lib/libSystem.B.dylib'
832     ZeroPadBytes:    6
833   - cmd:             LC_FUNCTION_STARTS
834     cmdsize:         16
835     dataoff:         4144
836     datasize:        8
837   - cmd:             LC_DATA_IN_CODE
838     cmdsize:         16
839     dataoff:         4152
840     datasize:        0
841 LinkEditData:
842   ExportTrie:
843     TerminalSize:    0
844     NodeOffset:      0
845     Name:            ''
846     Flags:           0x0000000000000000
847     Address:         0x0000000000000000
848     Other:           0x0000000000000000
849     ImportName:      ''
850     Children:
851       - TerminalSize:    0
852         NodeOffset:      5
853         Name:            _
854         Flags:           0x0000000000000000
855         Address:         0x0000000000000000
856         Other:           0x0000000000000000
857         ImportName:      ''
858         Children:
859           - TerminalSize:    2
860             NodeOffset:      33
861             Name:            _mh_execute_header
862             Flags:           0x0000000000000000
863             Address:         0x0000000000000000
864             Other:           0x0000000000000000
865             ImportName:      ''
866           - TerminalSize:    3
867             NodeOffset:      37
868             Name:            main
869             Flags:           0x0000000000000000
870             Address:         0x0000000000000FA0
871             Other:           0x0000000000000000
872             ImportName:      ''
873   NameList:
874     - n_strx:          2
875       n_type:          0x0F
876       n_sect:          1
877       n_desc:          16
878       n_value:         4294967296
879     - n_strx:          22
880       n_type:          0x0F
881       n_sect:          1
882       n_desc:          0
883       n_value:         4294971296
884     - n_strx:          28
885       n_type:          0x01
886       n_sect:          0
887       n_desc:          256
888       n_value:         0
889   StringTable:
890     - ' '
891     - __mh_execute_header
892     - _main
893     - dyld_stub_binder
894     - ''
895     - ''
896     - ''