• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:        765
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:            122
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:          0x0000212D
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:          0x00002179
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:          0x00002207
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:          0x00002243
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:          0x00002267
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:          0x000022D9
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_abbrev:    
307    - Code:            0x00000001
308      Tag:             DW_TAG_compile_unit
309      Children:        DW_CHILDREN_yes
310      Attributes:      
311        - Attribute:       DW_AT_producer
312          Form:            DW_FORM_strp
313        - Attribute:       DW_AT_language
314          Form:            DW_FORM_data2
315        - Attribute:       DW_AT_name
316          Form:            DW_FORM_strp
317        - Attribute:       DW_AT_stmt_list
318          Form:            DW_FORM_sec_offset
319        - Attribute:       DW_AT_comp_dir
320          Form:            DW_FORM_strp
321        - Attribute:       DW_AT_low_pc
322          Form:            DW_FORM_addr
323        - Attribute:       DW_AT_high_pc
324          Form:            DW_FORM_data4
325    - Code:            0x00000002
326      Tag:             DW_TAG_subprogram
327      Children:        DW_CHILDREN_yes
328      Attributes:      
329        - Attribute:       DW_AT_low_pc
330          Form:            DW_FORM_addr
331        - Attribute:       DW_AT_high_pc
332          Form:            DW_FORM_data4
333        - Attribute:       DW_AT_frame_base
334          Form:            DW_FORM_exprloc
335        - Attribute:       DW_AT_name
336          Form:            DW_FORM_strp
337        - Attribute:       DW_AT_decl_file
338          Form:            DW_FORM_data1
339        - Attribute:       DW_AT_decl_line
340          Form:            DW_FORM_data1
341        - Attribute:       DW_AT_prototyped
342          Form:            DW_FORM_flag_present
343        - Attribute:       DW_AT_type
344          Form:            DW_FORM_ref4
345        - Attribute:       DW_AT_external
346          Form:            DW_FORM_flag_present
347    - Code:            0x00000003
348      Tag:             DW_TAG_formal_parameter
349      Children:        DW_CHILDREN_no
350      Attributes:      
351        - Attribute:       DW_AT_location
352          Form:            DW_FORM_exprloc
353        - Attribute:       DW_AT_name
354          Form:            DW_FORM_strp
355        - Attribute:       DW_AT_decl_file
356          Form:            DW_FORM_data1
357        - Attribute:       DW_AT_decl_line
358          Form:            DW_FORM_data1
359        - Attribute:       DW_AT_type
360          Form:            DW_FORM_ref4
361    - Code:            0x00000004
362      Tag:             DW_TAG_base_type
363      Children:        DW_CHILDREN_no
364      Attributes:      
365        - Attribute:       DW_AT_name
366          Form:            DW_FORM_strp
367        - Attribute:       DW_AT_encoding
368          Form:            DW_FORM_data1
369        - Attribute:       DW_AT_byte_size
370          Form:            DW_FORM_data1
371    - Code:            0x00000005
372      Tag:             DW_TAG_pointer_type
373      Children:        DW_CHILDREN_no
374      Attributes:      
375        - Attribute:       DW_AT_type
376          Form:            DW_FORM_ref4
377  debug_aranges:   
378    - Length:
379        TotalLength:     44
380      Version:         2
381      CuOffset:        0
382      AddrSize:        8
383      SegSize:         0
384      Descriptors:     
385        - Address:         0x0000000100000F50
386          Length:          52
387  debug_info:      
388    - Length:
389        TotalLength:     118
390      Version:         5
391      UnitType:        DW_UT_compile
392      AbbrOffset:      0
393      AddrSize:        8
394      Entries:         
395        - AbbrCode:        0x00000001
396          Values:          
397            - Value:           0x0000000000000001
398            - Value:           0x000000000000000C
399            - Value:           0x0000000000000038
400            - Value:           0x0000000000000000
401            - Value:           0x0000000000000046
402            - Value:           0x0000000100000F50
403            - Value:           0x0000000000000034
404        - AbbrCode:        0x00000002
405          Values:          
406            - Value:           0x0000000100000F50
407            - Value:           0x0000000000000034
408            - Value:           0x0000000000000001
409              BlockData:       
410                - 0x56
411            - Value:           0x0000000000000076
412            - Value:           0x0000000000000001
413            - Value:           0x0000000000000003
414            - Value:           0x0000000000000001
415            - Value:           0x0000000000000060
416            - Value:           0x0000000000000001
417        - AbbrCode:        0x00000003
418          Values:          
419            - Value:           0x0000000000000002
420              BlockData:       
421                - 0x91
422                - 0x78
423            - Value:           0x000000000000007B
424            - Value:           0x0000000000000001
425            - Value:           0x0000000000000003
426            - Value:           0x0000000000000060
427        - AbbrCode:        0x00000003
428          Values:          
429            - Value:           0x0000000000000002
430              BlockData:       
431                - 0x91
432                - 0x70
433            - Value:           0x0000000000000080
434            - Value:           0x0000000000000001
435            - Value:           0x0000000000000003
436            - Value:           0x0000000000000067
437        - AbbrCode:        0x00000000
438          Values:          
439        - AbbrCode:        0x00000004
440          Values:          
441            - Value:           0x0000000000000085
442            - Value:           0x0000000000000005
443            - Value:           0x0000000000000004
444        - AbbrCode:        0x00000005
445          Values:          
446            - Value:           0x000000000000006C
447        - AbbrCode:        0x00000005
448          Values:          
449            - Value:           0x0000000000000071
450        - AbbrCode:        0x00000004
451          Values:          
452            - Value:           0x0000000000000089
453            - Value:           0x0000000000000006
454            - Value:           0x0000000000000001
455        - AbbrCode:        0x00000000
456          Values:          
457  debug_line:      
458    - Length:
459        TotalLength:     65
460      Version:         2
461      PrologueLength:  36
462      MinInstLength:   1
463      DefaultIsStmt:   1
464      LineBase:        251
465      LineRange:       14
466      OpcodeBase:      13
467      StandardOpcodeLengths: 
468        - 0
469        - 1
470        - 1
471        - 1
472        - 1
473        - 0
474        - 0
475        - 0
476        - 1
477        - 0
478        - 0
479        - 1
480      IncludeDirs:     
481      Files:           
482        - Name:            hello_world.c
483          DirIdx:          0
484          ModTime:         0
485          Length:          0
486      Opcodes:         
487        - Opcode:          DW_LNS_extended_op
488          ExtLen:          9
489          SubOpcode:       DW_LNE_set_address
490          Data:            4294971216
491        - Opcode:          0x14
492          Data:            4294971216
493        - Opcode:          DW_LNS_set_column
494          Data:            3
495        - Opcode:          DW_LNS_set_prologue_end
496          Data:            3
497        - Opcode:          DW_LNS_const_add_pc
498          Data:            3
499        - Opcode:          0xBB
500          Data:            3
501        - Opcode:          0xBB
502          Data:            3
503        - Opcode:          DW_LNS_advance_pc
504          Data:            11
505        - Opcode:          DW_LNS_extended_op
506          ExtLen:          1
507          SubOpcode:       DW_LNE_end_sequence
508          Data:            11
509...
510
511
512#CHECK: DWARF:
513#CHECK:   debug_info:
514#CHECK:     - Length:
515#CHECK:         TotalLength:     118
516#CHECK:       Version:         5
517#CHECK:       UnitType:        DW_UT_compile
518#CHECK:       AbbrOffset:      0
519#CHECK:       AddrSize:        8
520#CHECK:       Entries:
521#CHECK:         - AbbrCode:        0x00000001
522#CHECK:           Values:
523#CHECK:             - Value:           0x0000000000000001
524#CHECK:             - Value:           0x000000000000000C
525#CHECK:             - Value:           0x0000000000000038
526#CHECK:             - Value:           0x0000000000000000
527#CHECK:             - Value:           0x0000000000000046
528#CHECK:             - Value:           0x0000000100000F50
529#CHECK:             - Value:           0x0000000000000034
530#CHECK:         - AbbrCode:        0x00000002
531#CHECK:           Values:
532#CHECK:             - Value:           0x0000000100000F50
533#CHECK:             - Value:           0x0000000000000034
534#CHECK:             - Value:           0x0000000000000001
535#CHECK:               BlockData:
536#CHECK:                 - 0x56
537#CHECK:             - Value:           0x0000000000000076
538#CHECK:             - Value:           0x0000000000000001
539#CHECK:             - Value:           0x0000000000000003
540#CHECK:             - Value:           0x0000000000000001
541#CHECK:             - Value:           0x0000000000000060
542#CHECK:             - Value:           0x0000000000000001
543#CHECK:         - AbbrCode:        0x00000003
544#CHECK:           Values:
545#CHECK:             - Value:           0x0000000000000002
546#CHECK:               BlockData:
547#CHECK:                 - 0x91
548#CHECK:                 - 0x78
549#CHECK:             - Value:           0x000000000000007B
550#CHECK:             - Value:           0x0000000000000001
551#CHECK:             - Value:           0x0000000000000003
552#CHECK:             - Value:           0x0000000000000060
553#CHECK:         - AbbrCode:        0x00000003
554#CHECK:           Values:
555#CHECK:             - Value:           0x0000000000000002
556#CHECK:               BlockData:
557#CHECK:                 - 0x91
558#CHECK:                 - 0x70
559#CHECK:             - Value:           0x0000000000000080
560#CHECK:             - Value:           0x0000000000000001
561#CHECK:             - Value:           0x0000000000000003
562#CHECK:             - Value:           0x0000000000000067
563#CHECK:         - AbbrCode:        0x00000000
564#CHECK:           Values:
565#CHECK:         - AbbrCode:        0x00000004
566#CHECK:           Values:
567#CHECK:             - Value:           0x0000000000000085
568#CHECK:             - Value:           0x0000000000000005
569#CHECK:             - Value:           0x0000000000000004
570#CHECK:         - AbbrCode:        0x00000005
571#CHECK:           Values:
572#CHECK:             - Value:           0x000000000000006C
573#CHECK:         - AbbrCode:        0x00000005
574#CHECK:           Values:
575#CHECK:             - Value:           0x0000000000000071
576#CHECK:         - AbbrCode:        0x00000004
577#CHECK:           Values:
578#CHECK:             - Value:           0x0000000000000089
579#CHECK:             - Value:           0x0000000000000006
580#CHECK:             - Value:           0x0000000000000001
581#CHECK:         - AbbrCode:        0x00000000
582#CHECK:           Values:
583