• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: yaml2obj %s | obj2yaml | FileCheck %s
2
3--- !mach-o
4IsLittleEndian:  true
5FileHeader:      
6  magic:           0xFEEDFACF
7  cputype:         0x01000007
8  cpusubtype:      0x00000003
9  filetype:        0x00000001
10  ncmds:           4
11  sizeofcmds:      1392
12  flags:           0x00002000
13  reserved:        0x00000000
14LoadCommands:    
15  - cmd:             LC_SEGMENT_64
16    cmdsize:         1272
17    segname:         ''
18    vmaddr:          0
19    vmsize:          1086
20    fileoff:         1424
21    filesize:        1086
22    maxprot:         7
23    initprot:        7
24    nsects:          15
25    flags:           0
26    Sections:        
27      - sectname:        __text
28        segname:         __TEXT
29        addr:            0x0000000000000000
30        size:            93
31        offset:          0x00000590
32        align:           4
33        reloff:          0x000009D0
34        nreloc:          3
35        flags:           0x80000400
36        reserved1:       0x00000000
37        reserved2:       0x00000000
38        reserved3:       0x00000000
39      - sectname:        __cstring
40        segname:         __TEXT
41        addr:            0x000000000000005D
42        size:            48
43        offset:          0x000005ED
44        align:           0
45        reloff:          0x00000000
46        nreloc:          0
47        flags:           0x00000002
48        reserved1:       0x00000000
49        reserved2:       0x00000000
50        reserved3:       0x00000000
51      - sectname:        __debug_str
52        segname:         __DWARF
53        addr:            0x000000000000008D
54        size:            182
55        offset:          0x0000061D
56        align:           0
57        reloff:          0x00000000
58        nreloc:          0
59        flags:           0x02000000
60        reserved1:       0x00000000
61        reserved2:       0x00000000
62        reserved3:       0x00000000
63      - sectname:        __debug_loc
64        segname:         __DWARF
65        addr:            0x0000000000000143
66        size:            0
67        offset:          0x000006D3
68        align:           0
69        reloff:          0x00000000
70        nreloc:          0
71        flags:           0x02000000
72        reserved1:       0x00000000
73        reserved2:       0x00000000
74        reserved3:       0x00000000
75      - sectname:        __debug_abbrev
76        segname:         __DWARF
77        addr:            0x0000000000000143
78        size:            104
79        offset:          0x000006D3
80        align:           0
81        reloff:          0x00000000
82        nreloc:          0
83        flags:           0x02000000
84        reserved1:       0x00000000
85        reserved2:       0x00000000
86        reserved3:       0x00000000
87      - sectname:        __debug_info
88        segname:         __DWARF
89        addr:            0x00000000000001AB
90        size:            146
91        offset:          0x0000073B
92        align:           0
93        reloff:          0x000009E8
94        nreloc:          2
95        flags:           0x02000000
96        reserved1:       0x00000000
97        reserved2:       0x00000000
98        reserved3:       0x00000000
99      - sectname:        __debug_ranges
100        segname:         __DWARF
101        addr:            0x000000000000023D
102        size:            0
103        offset:          0x000007CD
104        align:           0
105        reloff:          0x00000000
106        nreloc:          0
107        flags:           0x02000000
108        reserved1:       0x00000000
109        reserved2:       0x00000000
110        reserved3:       0x00000000
111      - sectname:        __debug_macinfo
112        segname:         __DWARF
113        addr:            0x000000000000023D
114        size:            1
115        offset:          0x000007CD
116        align:           0
117        reloff:          0x00000000
118        nreloc:          0
119        flags:           0x02000000
120        reserved1:       0x00000000
121        reserved2:       0x00000000
122        reserved3:       0x00000000
123      - sectname:        __apple_names
124        segname:         __DWARF
125        addr:            0x000000000000023E
126        size:            60
127        offset:          0x000007CE
128        align:           0
129        reloff:          0x00000000
130        nreloc:          0
131        flags:           0x02000000
132        reserved1:       0x00000000
133        reserved2:       0x00000000
134        reserved3:       0x00000000
135      - sectname:        __apple_objc
136        segname:         __DWARF
137        addr:            0x000000000000027A
138        size:            36
139        offset:          0x0000080A
140        align:           0
141        reloff:          0x00000000
142        nreloc:          0
143        flags:           0x02000000
144        reserved1:       0x00000000
145        reserved2:       0x00000000
146        reserved3:       0x00000000
147      - sectname:        __apple_namespac
148        segname:         __DWARF
149        addr:            0x000000000000029E
150        size:            36
151        offset:          0x0000082E
152        align:           0
153        reloff:          0x00000000
154        nreloc:          0
155        flags:           0x02000000
156        reserved1:       0x00000000
157        reserved2:       0x00000000
158        reserved3:       0x00000000
159      - sectname:        __apple_types
160        segname:         __DWARF
161        addr:            0x00000000000002C2
162        size:            133
163        offset:          0x00000852
164        align:           0
165        reloff:          0x00000000
166        nreloc:          0
167        flags:           0x02000000
168        reserved1:       0x00000000
169        reserved2:       0x00000000
170        reserved3:       0x00000000
171      - sectname:        __compact_unwind
172        segname:         __LD
173        addr:            0x0000000000000348
174        size:            32
175        offset:          0x000008D8
176        align:           3
177        reloff:          0x000009F8
178        nreloc:          1
179        flags:           0x02000000
180        reserved1:       0x00000000
181        reserved2:       0x00000000
182        reserved3:       0x00000000
183      - sectname:        __eh_frame
184        segname:         __TEXT
185        addr:            0x0000000000000368
186        size:            64
187        offset:          0x000008F8
188        align:           3
189        reloff:          0x00000000
190        nreloc:          0
191        flags:           0x6800000B
192        reserved1:       0x00000000
193        reserved2:       0x00000000
194        reserved3:       0x00000000
195      - sectname:        __debug_line
196        segname:         __DWARF
197        addr:            0x00000000000003A8
198        size:            150
199        offset:          0x00000938
200        align:           0
201        reloff:          0x00000A00
202        nreloc:          1
203        flags:           0x02000000
204        reserved1:       0x00000000
205        reserved2:       0x00000000
206        reserved3:       0x00000000
207  - cmd:             LC_VERSION_MIN_MACOSX
208    cmdsize:         16
209    version:         658432
210    sdk:             0
211  - cmd:             LC_SYMTAB
212    cmdsize:         24
213    symoff:          2568
214    nsyms:           2
215    stroff:          2600
216    strsize:         36
217  - cmd:             LC_DYSYMTAB
218    cmdsize:         80
219    ilocalsym:       0
220    nlocalsym:       0
221    iextdefsym:      0
222    nextdefsym:      1
223    iundefsym:       1
224    nundefsym:       1
225    tocoff:          0
226    ntoc:            0
227    modtaboff:       0
228    nmodtab:         0
229    extrefsymoff:    0
230    nextrefsyms:     0
231    indirectsymoff:  0
232    nindirectsyms:   0
233    extreloff:       0
234    nextrel:         0
235    locreloff:       0
236    nlocrel:         0
237LinkEditData:    
238  NameList:        
239    - n_strx:          24
240      n_type:          0x0F
241      n_sect:          1
242      n_desc:          0
243      n_value:         0
244    - n_strx:          1
245      n_type:          0x01
246      n_sect:          0
247      n_desc:          0
248      n_value:         0
249  StringTable:     
250    - ''
251    - _compilerrt_abort_impl
252    - ___absvdi2
253    - ''
254DWARF:           
255  debug_str:       
256    - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)'
257    - ../compiler-rt/lib/builtins/absvdi2.c
258    - /Users/cbieneman/dev/open-source/llvm-build-rel
259    - int
260    - di_int
261    - long long int
262    - __absvdi2
263    - a
264    - N
265    - t
266  debug_abbrev:    
267    - Code:            0x00000001
268      Tag:             DW_TAG_compile_unit
269      Children:        DW_CHILDREN_yes
270      Attributes:      
271        - Attribute:       DW_AT_producer
272          Form:            DW_FORM_strp
273        - Attribute:       DW_AT_language
274          Form:            DW_FORM_data2
275        - Attribute:       DW_AT_name
276          Form:            DW_FORM_strp
277        - Attribute:       DW_AT_stmt_list
278          Form:            DW_FORM_sec_offset
279        - Attribute:       DW_AT_comp_dir
280          Form:            DW_FORM_strp
281        - Attribute:       DW_AT_low_pc
282          Form:            DW_FORM_addr
283        - Attribute:       DW_AT_high_pc
284          Form:            DW_FORM_data4
285    - Code:            0x00000002
286      Tag:             DW_TAG_base_type
287      Children:        DW_CHILDREN_no
288      Attributes:      
289        - Attribute:       DW_AT_name
290          Form:            DW_FORM_strp
291        - Attribute:       DW_AT_encoding
292          Form:            DW_FORM_data1
293        - Attribute:       DW_AT_byte_size
294          Form:            DW_FORM_data1
295    - Code:            0x00000003
296      Tag:             DW_TAG_typedef
297      Children:        DW_CHILDREN_no
298      Attributes:      
299        - Attribute:       DW_AT_type
300          Form:            DW_FORM_ref4
301        - Attribute:       DW_AT_name
302          Form:            DW_FORM_strp
303        - Attribute:       DW_AT_decl_file
304          Form:            DW_FORM_data1
305        - Attribute:       DW_AT_decl_line
306          Form:            DW_FORM_data1
307    - Code:            0x00000004
308      Tag:             DW_TAG_subprogram
309      Children:        DW_CHILDREN_yes
310      Attributes:      
311        - Attribute:       DW_AT_low_pc
312          Form:            DW_FORM_addr
313        - Attribute:       DW_AT_high_pc
314          Form:            DW_FORM_data4
315        - Attribute:       DW_AT_frame_base
316          Form:            DW_FORM_exprloc
317        - Attribute:       DW_AT_name
318          Form:            DW_FORM_strp
319        - Attribute:       DW_AT_decl_file
320          Form:            DW_FORM_data1
321        - Attribute:       DW_AT_decl_line
322          Form:            DW_FORM_data1
323        - Attribute:       DW_AT_prototyped
324          Form:            DW_FORM_flag_present
325        - Attribute:       DW_AT_type
326          Form:            DW_FORM_ref4
327        - Attribute:       DW_AT_external
328          Form:            DW_FORM_flag_present
329    - Code:            0x00000005
330      Tag:             DW_TAG_formal_parameter
331      Children:        DW_CHILDREN_no
332      Attributes:      
333        - Attribute:       DW_AT_location
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_type
342          Form:            DW_FORM_ref4
343    - Code:            0x00000006
344      Tag:             DW_TAG_variable
345      Children:        DW_CHILDREN_no
346      Attributes:      
347        - Attribute:       DW_AT_location
348          Form:            DW_FORM_exprloc
349        - Attribute:       DW_AT_name
350          Form:            DW_FORM_strp
351        - Attribute:       DW_AT_decl_file
352          Form:            DW_FORM_data1
353        - Attribute:       DW_AT_decl_line
354          Form:            DW_FORM_data1
355        - Attribute:       DW_AT_type
356          Form:            DW_FORM_ref4
357    - Code:            0x00000007
358      Tag:             DW_TAG_const_type
359      Children:        DW_CHILDREN_no
360      Attributes:      
361        - Attribute:       DW_AT_type
362          Form:            DW_FORM_ref4
363...
364
365#CHECK: DWARF:
366#CHECK:   debug_str:
367#CHECK:     - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)'
368#CHECK:     - ../compiler-rt/lib/builtins/absvdi2.c
369#CHECK:     - /Users/cbieneman/dev/open-source/llvm-build-rel
370#CHECK:     - int
371#CHECK:     - di_int
372#CHECK:     - long long int
373#CHECK:     - __absvdi2
374#CHECK:     - a
375#CHECK:     - N
376#CHECK:     - t
377#CHECK:   debug_abbrev:
378#CHECK:     - Code:            0x00000001
379#CHECK:       Tag:             DW_TAG_compile_unit
380#CHECK:       Children:        DW_CHILDREN_yes
381#CHECK:       Attributes:
382#CHECK:         - Attribute:       DW_AT_producer
383#CHECK:           Form:            DW_FORM_strp
384#CHECK:         - Attribute:       DW_AT_language
385#CHECK:           Form:            DW_FORM_data2
386#CHECK:         - Attribute:       DW_AT_name
387#CHECK:           Form:            DW_FORM_strp
388#CHECK:         - Attribute:       DW_AT_stmt_list
389#CHECK:           Form:            DW_FORM_sec_offset
390#CHECK:         - Attribute:       DW_AT_comp_dir
391#CHECK:           Form:            DW_FORM_strp
392#CHECK:         - Attribute:       DW_AT_low_pc
393#CHECK:           Form:            DW_FORM_addr
394#CHECK:         - Attribute:       DW_AT_high_pc
395#CHECK:           Form:            DW_FORM_data4
396#CHECK:     - Code:            0x00000002
397#CHECK:       Tag:             DW_TAG_base_type
398#CHECK:       Children:        DW_CHILDREN_no
399#CHECK:       Attributes:
400#CHECK:         - Attribute:       DW_AT_name
401#CHECK:           Form:            DW_FORM_strp
402#CHECK:         - Attribute:       DW_AT_encoding
403#CHECK:           Form:            DW_FORM_data1
404#CHECK:         - Attribute:       DW_AT_byte_size
405#CHECK:           Form:            DW_FORM_data1
406#CHECK:     - Code:            0x00000003
407#CHECK:       Tag:             DW_TAG_typedef
408#CHECK:       Children:        DW_CHILDREN_no
409#CHECK:       Attributes:
410#CHECK:         - Attribute:       DW_AT_type
411#CHECK:           Form:            DW_FORM_ref4
412#CHECK:         - Attribute:       DW_AT_name
413#CHECK:           Form:            DW_FORM_strp
414#CHECK:         - Attribute:       DW_AT_decl_file
415#CHECK:           Form:            DW_FORM_data1
416#CHECK:         - Attribute:       DW_AT_decl_line
417#CHECK:           Form:            DW_FORM_data1
418#CHECK:     - Code:            0x00000004
419#CHECK:       Tag:             DW_TAG_subprogram
420#CHECK:       Children:        DW_CHILDREN_yes
421#CHECK:       Attributes:
422#CHECK:         - Attribute:       DW_AT_low_pc
423#CHECK:           Form:            DW_FORM_addr
424#CHECK:         - Attribute:       DW_AT_high_pc
425#CHECK:           Form:            DW_FORM_data4
426#CHECK:         - Attribute:       DW_AT_frame_base
427#CHECK:           Form:            DW_FORM_exprloc
428#CHECK:         - Attribute:       DW_AT_name
429#CHECK:           Form:            DW_FORM_strp
430#CHECK:         - Attribute:       DW_AT_decl_file
431#CHECK:           Form:            DW_FORM_data1
432#CHECK:         - Attribute:       DW_AT_decl_line
433#CHECK:           Form:            DW_FORM_data1
434#CHECK:         - Attribute:       DW_AT_prototyped
435#CHECK:           Form:            DW_FORM_flag_present
436#CHECK:         - Attribute:       DW_AT_type
437#CHECK:           Form:            DW_FORM_ref4
438#CHECK:         - Attribute:       DW_AT_external
439#CHECK:           Form:            DW_FORM_flag_present
440#CHECK:     - Code:            0x00000005
441#CHECK:       Tag:             DW_TAG_formal_parameter
442#CHECK:       Children:        DW_CHILDREN_no
443#CHECK:       Attributes:
444#CHECK:         - Attribute:       DW_AT_location
445#CHECK:           Form:            DW_FORM_exprloc
446#CHECK:         - Attribute:       DW_AT_name
447#CHECK:           Form:            DW_FORM_strp
448#CHECK:         - Attribute:       DW_AT_decl_file
449#CHECK:           Form:            DW_FORM_data1
450#CHECK:         - Attribute:       DW_AT_decl_line
451#CHECK:           Form:            DW_FORM_data1
452#CHECK:         - Attribute:       DW_AT_type
453#CHECK:           Form:            DW_FORM_ref4
454#CHECK:     - Code:            0x00000006
455#CHECK:       Tag:             DW_TAG_variable
456#CHECK:       Children:        DW_CHILDREN_no
457#CHECK:       Attributes:
458#CHECK:         - Attribute:       DW_AT_location
459#CHECK:           Form:            DW_FORM_exprloc
460#CHECK:         - Attribute:       DW_AT_name
461#CHECK:           Form:            DW_FORM_strp
462#CHECK:         - Attribute:       DW_AT_decl_file
463#CHECK:           Form:            DW_FORM_data1
464#CHECK:         - Attribute:       DW_AT_decl_line
465#CHECK:           Form:            DW_FORM_data1
466#CHECK:         - Attribute:       DW_AT_type
467#CHECK:           Form:            DW_FORM_ref4
468#CHECK:     - Code:            0x00000007
469#CHECK:       Tag:             DW_TAG_const_type
470#CHECK:       Children:        DW_CHILDREN_no
471#CHECK:       Attributes:
472#CHECK:         - Attribute:       DW_AT_type
473#CHECK:           Form:            DW_FORM_ref4
474#CHECK: ...
475