# RUN: yaml2obj %s | obj2yaml | FileCheck %s --- !mach-o IsLittleEndian: false FileHeader: magic: 0xFEEDFACE cputype: 0x00000012 cpusubtype: 0x00000000 filetype: 0x00000001 ncmds: 4 sizeofcmds: 1264 flags: 0x00002000 LoadCommands: - cmd: LC_SEGMENT cmdsize: 1144 segname: '' vmaddr: 0 vmsize: 1122 fileoff: 1292 filesize: 1122 maxprot: 7 initprot: 7 nsects: 16 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x0000000000000000 size: 188 offset: 0x0000050C align: 4 reloff: 0x00000970 nreloc: 9 flags: 0x80000400 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __textcoal_nt segname: __TEXT addr: 0x00000000000000BC size: 0 offset: 0x000005C8 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x8000000B reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __picsymbolstub1 segname: __TEXT addr: 0x00000000000000BC size: 0 offset: 0x000005C8 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x80000008 reserved1: 0x00000000 reserved2: 0x00000020 reserved3: 0x00000000 - sectname: __cstring segname: __TEXT addr: 0x00000000000000BC size: 48 offset: 0x000005C8 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000002 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_str segname: __DWARF addr: 0x00000000000000EC size: 182 offset: 0x000005F8 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_loc segname: __DWARF addr: 0x00000000000001A2 size: 0 offset: 0x000006AE align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_abbrev segname: __DWARF addr: 0x00000000000001A2 size: 104 offset: 0x000006AE align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_info segname: __DWARF addr: 0x000000000000020A size: 141 offset: 0x00000716 align: 0 reloff: 0x000009B8 nreloc: 2 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_ranges segname: __DWARF addr: 0x0000000000000297 size: 0 offset: 0x000007A3 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_macinfo segname: __DWARF addr: 0x0000000000000297 size: 1 offset: 0x000007A3 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_names segname: __DWARF addr: 0x0000000000000298 size: 60 offset: 0x000007A4 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_objc segname: __DWARF addr: 0x00000000000002D4 size: 36 offset: 0x000007E0 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_namespac segname: __DWARF addr: 0x00000000000002F8 size: 36 offset: 0x00000804 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_types segname: __DWARF addr: 0x000000000000031C size: 133 offset: 0x00000828 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_frame segname: __DWARF addr: 0x00000000000003A4 size: 48 offset: 0x000008B0 align: 2 reloff: 0x000009C8 nreloc: 1 flags: 0x02000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_line segname: __DWARF addr: 0x00000000000003D4 size: 142 offset: 0x000008E0 align: 0 reloff: 0x000009D0 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: 2520 nsyms: 2 stroff: 2544 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