1# RUN: yaml2obj %s | obj2yaml | FileCheck %s
2
3--- !mach-o
4FileHeader:      
5  magic:           0xFEEDFACF
6  cputype:         0x01000007
7  cpusubtype:      0x00000003
8  filetype:        0x0000000A
9  ncmds:           5
10  sizeofcmds:      1800
11  flags:           0x00000000
12  reserved:        0x00000000
13LoadCommands:    
14  - cmd:             LC_SEGMENT_64
15    cmdsize:         72
16    segname:         __PAGEZERO
17    vmaddr:          0
18    vmsize:          4294967296
19    fileoff:         0
20    filesize:        0
21    maxprot:         0
22    initprot:        0
23    nsects:          0
24    flags:           0
25  - cmd:             LC_SEGMENT_64
26    cmdsize:         472
27    segname:         __TEXT
28    vmaddr:          4294967296
29    vmsize:          4096
30    fileoff:         0
31    filesize:        0
32    maxprot:         7
33    initprot:        5
34    nsects:          5
35    flags:           0
36    Sections:        
37      - sectname:        __text
38        segname:         __TEXT
39        addr:            0x0000000100000F50
40        size:            52
41        offset:          0x00000000
42        align:           4
43        reloff:          0x00000000
44        nreloc:          0
45        flags:           0x80000400
46        reserved1:       0x00000000
47        reserved2:       0x00000000
48        reserved3:       0x00000000
49      - sectname:        __stubs
50        segname:         __TEXT
51        addr:            0x0000000100000F84
52        size:            6
53        offset:          0x00000000
54        align:           1
55        reloff:          0x00000000
56        nreloc:          0
57        flags:           0x80000408
58        reserved1:       0x00000000
59        reserved2:       0x00000006
60        reserved3:       0x00000000
61      - sectname:        __stub_helper
62        segname:         __TEXT
63        addr:            0x0000000100000F8C
64        size:            26
65        offset:          0x00000000
66        align:           2
67        reloff:          0x00000000
68        nreloc:          0
69        flags:           0x80000400
70        reserved1:       0x00000000
71        reserved2:       0x00000000
72        reserved3:       0x00000000
73      - sectname:        __cstring
74        segname:         __TEXT
75        addr:            0x0000000100000FA6
76        size:            14
77        offset:          0x00000000
78        align:           0
79        reloff:          0x00000000
80        nreloc:          0
81        flags:           0x00000002
82        reserved1:       0x00000000
83        reserved2:       0x00000000
84        reserved3:       0x00000000
85      - sectname:        __unwind_info
86        segname:         __TEXT
87        addr:            0x0000000100000FB4
88        size:            72
89        offset:          0x00000000
90        align:           2
91        reloff:          0x00000000
92        nreloc:          0
93        flags:           0x00000000
94        reserved1:       0x00000000
95        reserved2:       0x00000000
96        reserved3:       0x00000000
97  - cmd:             LC_SEGMENT_64
98    cmdsize:         232
99    segname:         __DATA
100    vmaddr:          4294971392
101    vmsize:          4096
102    fileoff:         0
103    filesize:        0
104    maxprot:         7
105    initprot:        3
106    nsects:          2
107    flags:           0
108    Sections:        
109      - sectname:        __nl_symbol_ptr
110        segname:         __DATA
111        addr:            0x0000000100001000
112        size:            16
113        offset:          0x00000000
114        align:           3
115        reloff:          0x00000000
116        nreloc:          0
117        flags:           0x00000006
118        reserved1:       0x00000001
119        reserved2:       0x00000000
120        reserved3:       0x00000000
121      - sectname:        __la_symbol_ptr
122        segname:         __DATA
123        addr:            0x0000000100001010
124        size:            8
125        offset:          0x00000000
126        align:           3
127        reloff:          0x00000000
128        nreloc:          0
129        flags:           0x00000007
130        reserved1:       0x00000003
131        reserved2:       0x00000000
132        reserved3:       0x00000000
133  - cmd:             LC_SEGMENT_64
134    cmdsize:         72
135    segname:         __LINKEDIT
136    vmaddr:          4294975488
137    vmsize:          4096
138    fileoff:         4096
139    filesize:        60
140    maxprot:         7
141    initprot:        1
142    nsects:          0
143    flags:           0
144  - cmd:             LC_SEGMENT_64
145    cmdsize:         952
146    segname:         __DWARF
147    vmaddr:          4294979584
148    vmsize:          4096
149    fileoff:         8192
150    filesize:        764
151    maxprot:         7
152    initprot:        3
153    nsects:          11
154    flags:           0
155    Sections:        
156      - sectname:        __debug_line
157        segname:         __DWARF
158        addr:            0x0000000100003000
159        size:            69
160        offset:          0x00002000
161        align:           0
162        reloff:          0x00000000
163        nreloc:          0
164        flags:           0x00000000
165        reserved1:       0x00000000
166        reserved2:       0x00000000
167        reserved3:       0x00000000
168      - sectname:        __debug_pubnames
169        segname:         __DWARF
170        addr:            0x0000000100003045
171        size:            27
172        offset:          0x00002045
173        align:           0
174        reloff:          0x00000000
175        nreloc:          0
176        flags:           0x00000000
177        reserved1:       0x00000000
178        reserved2:       0x00000000
179        reserved3:       0x00000000
180      - sectname:        __debug_pubtypes
181        segname:         __DWARF
182        addr:            0x0000000100003060
183        size:            35
184        offset:          0x00002060
185        align:           0
186        reloff:          0x00000000
187        nreloc:          0
188        flags:           0x00000000
189        reserved1:       0x00000000
190        reserved2:       0x00000000
191        reserved3:       0x00000000
192      - sectname:        __debug_aranges
193        segname:         __DWARF
194        addr:            0x0000000100003083
195        size:            48
196        offset:          0x00002083
197        align:           0
198        reloff:          0x00000000
199        nreloc:          0
200        flags:           0x00000000
201        reserved1:       0x00000000
202        reserved2:       0x00000000
203        reserved3:       0x00000000
204      - sectname:        __debug_info
205        segname:         __DWARF
206        addr:            0x00000001000030B3
207        size:            121
208        offset:          0x000020B3
209        align:           0
210        reloff:          0x00000000
211        nreloc:          0
212        flags:           0x00000000
213        reserved1:       0x00000000
214        reserved2:       0x00000000
215        reserved3:       0x00000000
216      - sectname:        __debug_abbrev
217        segname:         __DWARF
218        addr:            0x000000010000312C
219        size:            76
220        offset:          0x0000212C
221        align:           0
222        reloff:          0x00000000
223        nreloc:          0
224        flags:           0x00000000
225        reserved1:       0x00000000
226        reserved2:       0x00000000
227        reserved3:       0x00000000
228      - sectname:        __debug_str
229        segname:         __DWARF
230        addr:            0x0000000100003178
231        size:            142
232        offset:          0x00002178
233        align:           0
234        reloff:          0x00000000
235        nreloc:          0
236        flags:           0x00000000
237        reserved1:       0x00000000
238        reserved2:       0x00000000
239        reserved3:       0x00000000
240      - sectname:        __apple_names
241        segname:         __DWARF
242        addr:            0x0000000100003206
243        size:            60
244        offset:          0x00002206
245        align:           0
246        reloff:          0x00000000
247        nreloc:          0
248        flags:           0x00000000
249        reserved1:       0x00000000
250        reserved2:       0x00000000
251        reserved3:       0x00000000
252      - sectname:        __apple_namespac
253        segname:         __DWARF
254        addr:            0x0000000100003242
255        size:            36
256        offset:          0x00002242
257        align:           0
258        reloff:          0x00000000
259        nreloc:          0
260        flags:           0x00000000
261        reserved1:       0x00000000
262        reserved2:       0x00000000
263        reserved3:       0x00000000
264      - sectname:        __apple_types
265        segname:         __DWARF
266        addr:            0x0000000100003266
267        size:            114
268        offset:          0x00002266
269        align:           0
270        reloff:          0x00000000
271        nreloc:          0
272        flags:           0x00000000
273        reserved1:       0x00000000
274        reserved2:       0x00000000
275        reserved3:       0x00000000
276      - sectname:        __apple_objc
277        segname:         __DWARF
278        addr:            0x00000001000032D8
279        size:            36
280        offset:          0x000022D8
281        align:           0
282        reloff:          0x00000000
283        nreloc:          0
284        flags:           0x00000000
285        reserved1:       0x00000000
286        reserved2:       0x00000000
287        reserved3:       0x00000000
288LinkEditData:    
289  NameList:        
290    - n_strx:          2
291      n_type:          0x0F
292      n_sect:          1
293      n_desc:          16
294      n_value:         4294967296
295    - n_strx:          22
296      n_type:          0x0F
297      n_sect:          1
298      n_desc:          0
299      n_value:         4294971216
300  StringTable:     
301    - ''
302    - ''
303    - __mh_execute_header
304    - _main
305DWARF:           
306  debug_str:       
307    - ''
308    - 'clang version 4.0.0 (trunk 288923) (llvm/trunk 288991)'
309    - hello_world.c
310    - /Users/cbieneman/dev/open-source/llvm-build-rel
311    - main
312    - argc
313    - argv
314    - int
315    - char
316  debug_pubnames:  
317    Length:
318      TotalLength:       23
319    Version:         2
320    UnitOffset:      0
321    UnitSize:        121
322    Entries:         
323      - DieOffset:       0x0000002A
324        Name:            main
325  debug_pubtypes:  
326    Length:
327      TotalLength:       31
328    Version:         2
329    UnitOffset:      0
330    UnitSize:        121
331    Entries:         
332      - DieOffset:       0x00000060
333        Name:            int
334      - DieOffset:       0x00000071
335        Name:            char
336...
337
338#CHECK: DWARF:
339#CHECK:   debug_pubnames:
340#CHECK:     Length:
341#CHECK:       TotalLength:       23
342#CHECK:     Version:         2
343#CHECK:     UnitOffset:      0
344#CHECK:     UnitSize:        121
345#CHECK:     Entries:
346#CHECK:       - DieOffset:       0x0000002A
347#CHECK:         Name:            main
348#CHECK:   debug_pubtypes:
349#CHECK:     Length:
350#CHECK:       TotalLength:       31
351#CHECK:     Version:         2
352#CHECK:     UnitOffset:      0
353#CHECK:     UnitSize:        121
354#CHECK:     Entries:
355#CHECK:       - DieOffset:       0x00000060
356#CHECK:         Name:            int
357#CHECK:       - DieOffset:       0x00000071
358#CHECK:         Name:            char
359#CHECK: ...
360