# RUN: yaml2obj %s | obj2yaml | FileCheck %s --- !mach-o IsLittleEndian: true FileHeader: magic: 0xFEEDFACF cputype: 0x01000007 cpusubtype: 0x00000003 filetype: 0x00000001 ncmds: 4 sizeofcmds: 1392 flags: 0x00002000 reserved: 0x00000000 LoadCommands: - cmd: LC_SEGMENT_64 cmdsize: 1272 segname: '' vmaddr: 0 vmsize: 1086 fileoff: 1424 filesize: 1086 maxprot: 7 initprot: 7 nsects: 15 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x0000000000000000 size: 93 offset: 0x00000590 align: 4 reloff: 0x000009D0 nreloc: 3 flags: 0x80000400 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __cstring segname: __TEXT addr: 0x000000000000005D size: 48 offset: 0x000005ED align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000002 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_str segname: __DWARF addr: 0x000000000000008D size: 182 offset: 0x0000061D align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_loc segname: __DWARF addr: 0x0000000000000143 size: 0 offset: 0x000006D3 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_abbrev segname: __DWARF addr: 0x0000000000000143 size: 104 offset: 0x000006D3 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_info segname: __DWARF addr: 0x00000000000001AB size: 146 offset: 0x0000073B align: 0 reloff: 0x000009E8 nreloc: 2 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_ranges segname: __DWARF addr: 0x000000000000023D size: 0 offset: 0x000007CD align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_macinfo segname: __DWARF addr: 0x000000000000023D size: 1 offset: 0x000007CD align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_names segname: __DWARF addr: 0x000000000000023E size: 60 offset: 0x000007CE align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_objc segname: __DWARF addr: 0x000000000000027A size: 36 offset: 0x0000080A align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_namespac segname: __DWARF addr: 0x000000000000029E size: 36 offset: 0x0000082E align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_types segname: __DWARF addr: 0x00000000000002C2 size: 133 offset: 0x00000852 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __compact_unwind segname: __LD addr: 0x0000000000000348 size: 32 offset: 0x000008D8 align: 3 reloff: 0x000009F8 nreloc: 1 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __eh_frame segname: __TEXT addr: 0x0000000000000368 size: 64 offset: 0x000008F8 align: 3 reloff: 0x00000000 nreloc: 0 flags: 0x6800000B reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_line segname: __DWARF addr: 0x00000000000003A8 size: 150 offset: 0x00000938 align: 0 reloff: 0x00000A00 nreloc: 1 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - cmd: LC_VERSION_MIN_MACOSX cmdsize: 16 version: 658432 sdk: 0 - cmd: LC_SYMTAB cmdsize: 24 symoff: 2568 nsyms: 2 stroff: 2600 strsize: 36 - cmd: LC_DYSYMTAB cmdsize: 80 ilocalsym: 0 nlocalsym: 0 iextdefsym: 0 nextdefsym: 1 iundefsym: 1 nundefsym: 1 tocoff: 0 ntoc: 0 modtaboff: 0 nmodtab: 0 extrefsymoff: 0 nextrefsyms: 0 indirectsymoff: 0 nindirectsyms: 0 extreloff: 0 nextrel: 0 locreloff: 0 nlocrel: 0 LinkEditData: NameList: - n_strx: 24 n_type: 0x0F n_sect: 1 n_desc: 0 n_value: 0 - n_strx: 1 n_type: 0x01 n_sect: 0 n_desc: 0 n_value: 0 StringTable: - '' - _compilerrt_abort_impl - ___absvdi2 - '' DWARF: debug_str: - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)' - ../compiler-rt/lib/builtins/absvdi2.c - /Users/cbieneman/dev/open-source/llvm-build-rel - int - di_int - long long int - __absvdi2 - a - N - t debug_abbrev: - Table: - Code: 0x00000001 Tag: DW_TAG_compile_unit Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_producer Form: DW_FORM_strp - Attribute: DW_AT_language Form: DW_FORM_data2 - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_stmt_list Form: DW_FORM_sec_offset - Attribute: DW_AT_comp_dir Form: DW_FORM_strp - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data4 - Code: 0x00000002 Tag: DW_TAG_base_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_encoding Form: DW_FORM_data1 - Attribute: DW_AT_byte_size Form: DW_FORM_data1 - Code: 0x00000003 Tag: DW_TAG_typedef Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Code: 0x00000004 Tag: DW_TAG_subprogram Children: DW_CHILDREN_yes Attributes: - Attribute: DW_AT_low_pc Form: DW_FORM_addr - Attribute: DW_AT_high_pc Form: DW_FORM_data4 - Attribute: DW_AT_frame_base Form: DW_FORM_exprloc - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_prototyped Form: DW_FORM_flag_present - Attribute: DW_AT_type Form: DW_FORM_ref4 - Attribute: DW_AT_external Form: DW_FORM_flag_present - Code: 0x00000005 Tag: DW_TAG_formal_parameter Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_exprloc - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x00000006 Tag: DW_TAG_variable Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_location Form: DW_FORM_exprloc - Attribute: DW_AT_name Form: DW_FORM_strp - Attribute: DW_AT_decl_file Form: DW_FORM_data1 - Attribute: DW_AT_decl_line Form: DW_FORM_data1 - Attribute: DW_AT_type Form: DW_FORM_ref4 - Code: 0x00000007 Tag: DW_TAG_const_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 ... #CHECK: DWARF: #CHECK: debug_str: #CHECK: - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)' #CHECK: - '../compiler-rt/lib/builtins/absvdi2.c' #CHECK: - '/Users/cbieneman/dev/open-source/llvm-build-rel' #CHECK: - int #CHECK: - di_int #CHECK: - long long int #CHECK: - __absvdi2 #CHECK: - a #CHECK: - N #CHECK: - t #CHECK: debug_abbrev: #CHECK: - Code: 0x1 #CHECK: Tag: DW_TAG_compile_unit #CHECK: Children: DW_CHILDREN_yes #CHECK: Attributes: #CHECK: - Attribute: DW_AT_producer #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_language #CHECK: Form: DW_FORM_data2 #CHECK: - Attribute: DW_AT_name #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_stmt_list #CHECK: Form: DW_FORM_sec_offset #CHECK: - Attribute: DW_AT_comp_dir #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_low_pc #CHECK: Form: DW_FORM_addr #CHECK: - Attribute: DW_AT_high_pc #CHECK: Form: DW_FORM_data4 #CHECK: - Code: 0x2 #CHECK: Tag: DW_TAG_base_type #CHECK: Children: DW_CHILDREN_no #CHECK: Attributes: #CHECK: - Attribute: DW_AT_name #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_encoding #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_byte_size #CHECK: Form: DW_FORM_data1 #CHECK: - Code: 0x3 #CHECK: Tag: DW_TAG_typedef #CHECK: Children: DW_CHILDREN_no #CHECK: Attributes: #CHECK: - Attribute: DW_AT_type #CHECK: Form: DW_FORM_ref4 #CHECK: - Attribute: DW_AT_name #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_decl_file #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_decl_line #CHECK: Form: DW_FORM_data1 #CHECK: - Code: 0x4 #CHECK: Tag: DW_TAG_subprogram #CHECK: Children: DW_CHILDREN_yes #CHECK: Attributes: #CHECK: - Attribute: DW_AT_low_pc #CHECK: Form: DW_FORM_addr #CHECK: - Attribute: DW_AT_high_pc #CHECK: Form: DW_FORM_data4 #CHECK: - Attribute: DW_AT_frame_base #CHECK: Form: DW_FORM_exprloc #CHECK: - Attribute: DW_AT_name #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_decl_file #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_decl_line #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_prototyped #CHECK: Form: DW_FORM_flag_present #CHECK: - Attribute: DW_AT_type #CHECK: Form: DW_FORM_ref4 #CHECK: - Attribute: DW_AT_external #CHECK: Form: DW_FORM_flag_present #CHECK: - Code: 0x5 #CHECK: Tag: DW_TAG_formal_parameter #CHECK: Children: DW_CHILDREN_no #CHECK: Attributes: #CHECK: - Attribute: DW_AT_location #CHECK: Form: DW_FORM_exprloc #CHECK: - Attribute: DW_AT_name #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_decl_file #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_decl_line #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_type #CHECK: Form: DW_FORM_ref4 #CHECK: - Code: 0x6 #CHECK: Tag: DW_TAG_variable #CHECK: Children: DW_CHILDREN_no #CHECK: Attributes: #CHECK: - Attribute: DW_AT_location #CHECK: Form: DW_FORM_exprloc #CHECK: - Attribute: DW_AT_name #CHECK: Form: DW_FORM_strp #CHECK: - Attribute: DW_AT_decl_file #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_decl_line #CHECK: Form: DW_FORM_data1 #CHECK: - Attribute: DW_AT_type #CHECK: Form: DW_FORM_ref4 #CHECK: - Code: 0x7 #CHECK: Tag: DW_TAG_const_type #CHECK: Children: DW_CHILDREN_no #CHECK: Attributes: #CHECK: - Attribute: DW_AT_type #CHECK: Form: DW_FORM_ref4 #CHECK: ...