xref: /llvm-project/llvm/test/ObjectYAML/MachO/export_trie_lc_dyld_info_only.yaml (revision 42ad9bf95fd5cb30e2ab3e017b6718ac6efea1be)
1# RUN: yaml2obj %s -o=%t
2# RUN: obj2yaml %t | FileCheck %s
3# RUN: llvm-objdump --macho --exports-trie %t | FileCheck %s --check-prefix=OBJDUMP-VERIFY
4
5--- !mach-o
6FileHeader:      
7  magic:           0xFEEDFACF
8  cputype:         0x01000007
9  cpusubtype:      0x80000003
10  filetype:        0x00000002
11  ncmds:           16
12  sizeofcmds:      1408
13  flags:           0x00218085
14  reserved:        0x00000000
15LoadCommands:    
16  - cmd:             LC_SEGMENT_64
17    cmdsize:         72
18    segname:         __PAGEZERO
19    vmaddr:          0
20    vmsize:          4294967296
21    fileoff:         0
22    filesize:        0
23    maxprot:         0
24    initprot:        0
25    nsects:          0
26    flags:           0
27  - cmd:             LC_SEGMENT_64
28    cmdsize:         552
29    segname:         __TEXT
30    vmaddr:          4294967296
31    vmsize:          8192
32    fileoff:         0
33    filesize:        8192
34    maxprot:         7
35    initprot:        5
36    nsects:          6
37    flags:           0
38  - cmd:             LC_SEGMENT_64
39    cmdsize:         312
40    segname:         __DATA
41    vmaddr:          4294975488
42    vmsize:          4096
43    fileoff:         8192
44    filesize:        4096
45    maxprot:         7
46    initprot:        3
47    nsects:          3
48    flags:           0
49  - cmd:             LC_SEGMENT_64
50    cmdsize:         72
51    segname:         __LINKEDIT
52    vmaddr:          4294979584
53    vmsize:          4096
54    fileoff:         12288
55    filesize:        2508
56    maxprot:         7
57    initprot:        1
58    nsects:          0
59    flags:           0
60  - cmd:             LC_DYLD_INFO_ONLY
61    cmdsize:         48
62    rebase_off:      12288
63    rebase_size:     8
64    bind_off:        12296
65    bind_size:       96
66    weak_bind_off:   0
67    weak_bind_size:  0
68    lazy_bind_off:   12392
69    lazy_bind_size:  624
70    export_off:      13016
71    export_size:     48
72  - cmd:             LC_SYMTAB
73    cmdsize:         24
74    symoff:          13080
75    nsyms:           30
76    stroff:          13700
77    strsize:         1096
78  - cmd:             LC_DYSYMTAB
79    cmdsize:         80
80    ilocalsym:       0
81    nlocalsym:       9
82    iextdefsym:      9
83    nextdefsym:      2
84    iundefsym:       11
85    nundefsym:       19
86    tocoff:          0
87    ntoc:            0
88    modtaboff:       0
89    nmodtab:         0
90    extrefsymoff:    0
91    nextrefsyms:     0
92    indirectsymoff:  13560
93    nindirectsyms:   35
94    extreloff:       0
95    nextrel:         0
96    locreloff:       0
97    nlocrel:         0
98  - cmd:             LC_LOAD_DYLINKER
99    cmdsize:         32
100    name:            12
101    Content:         /usr/lib/dyld
102    ZeroPadBytes:    7
103  - cmd:             LC_UUID
104    cmdsize:         24
105    uuid:            461A1B28-822F-3F38-B670-645419E636F5
106  - cmd:             LC_VERSION_MIN_MACOSX
107    cmdsize:         16
108    version:         658176
109    sdk:             658176
110  - cmd:             LC_SOURCE_VERSION
111    cmdsize:         16
112    version:         0
113  - cmd:             LC_MAIN
114    cmdsize:         24
115    entryoff:        4448
116    stacksize:       0
117  - cmd:             LC_LOAD_DYLIB
118    cmdsize:         48
119    dylib:           
120      name:            24
121      timestamp:       2
122      current_version: 7864576
123      compatibility_version: 65536
124    Content:         '/usr/lib/libc++.1.dylib'
125    ZeroPadBytes:    1
126  - cmd:             LC_LOAD_DYLIB
127    cmdsize:         56
128    dylib:           
129      name:            24
130      timestamp:       2
131      current_version: 80349697
132      compatibility_version: 65536
133    Content:         /usr/lib/libSystem.B.dylib
134    ZeroPadBytes:    6
135  - cmd:             LC_FUNCTION_STARTS
136    cmdsize:         16
137    dataoff:         13064
138    datasize:        16
139  - cmd:             LC_DATA_IN_CODE
140    cmdsize:         16
141    dataoff:         13080
142    datasize:        0
143LinkEditData:    
144  ExportTrie:      
145    TerminalSize:    0
146    NodeOffset:      0
147    Name:            ''
148    Flags:           0x0000000000000000
149    Address:         0x0000000000000000
150    Other:           0x0000000000000000
151    ImportName:      ''
152    Children:        
153      - TerminalSize:    0
154        NodeOffset:      5
155        Name:            _
156        Flags:           0x0000000000000000
157        Address:         0x0000000000000000
158        Other:           0x0000000000000000
159        ImportName:      ''
160        Children:        
161          - TerminalSize:    2
162            NodeOffset:      33
163            Name:            _mh_execute_header
164            Flags:           0x0000000000000000
165            Address:         0x0000000000000000
166            Other:           0x0000000000000000
167            ImportName:      ''
168          - TerminalSize:    3
169            NodeOffset:      37
170            Name:            main
171            Flags:           0x0000000000000000
172            Address:         0x0000000000003FA0
173            Other:           0x0000000000000000
174            ImportName:      ''
175...
176
177#CHECK: ExportTrie:
178#CHECK:     TerminalSize:    0
179#CHECK:     NodeOffset:      0
180#CHECK:     Name:            ''
181#CHECK:     Children:
182#CHECK:       - TerminalSize:    0
183#CHECK:         NodeOffset:      5
184#CHECK:         Name:            _
185#CHECK:         Children:
186#CHECK:           - TerminalSize:    2
187#CHECK:             NodeOffset:      33
188#CHECK:             Name:            _mh_execute_header
189#CHECK:             Address:         0x0
190#CHECK:           - TerminalSize:    3
191#CHECK:             NodeOffset:      37
192#CHECK:             Name:            main
193#CHECK:             Address:         0x3FA0
194
195# OBJDUMP-VERIFY: Exports trie:
196# OBJDUMP-VERIFY: 0x100000000  __mh_execute_header
197# OBJDUMP-VERIFY: 0x100003FA0  _main
198