# RUN: yaml2obj %s | obj2yaml | FileCheck %s --- !mach-o FileHeader: magic: 0xFEEDFACF cputype: 0x01000007 cpusubtype: 0x00000003 filetype: 0x0000000A ncmds: 5 sizeofcmds: 1800 flags: 0x00000000 reserved: 0x00000000 LoadCommands: - cmd: LC_SEGMENT_64 cmdsize: 72 segname: __PAGEZERO vmaddr: 0 vmsize: 4294967296 fileoff: 0 filesize: 0 maxprot: 0 initprot: 0 nsects: 0 flags: 0 - cmd: LC_SEGMENT_64 cmdsize: 472 segname: __TEXT vmaddr: 4294967296 vmsize: 4096 fileoff: 0 filesize: 0 maxprot: 7 initprot: 5 nsects: 5 flags: 0 Sections: - sectname: __text segname: __TEXT addr: 0x0000000100000F50 size: 52 offset: 0x00000000 align: 4 reloff: 0x00000000 nreloc: 0 flags: 0x80000400 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __stubs segname: __TEXT addr: 0x0000000100000F84 size: 6 offset: 0x00000000 align: 1 reloff: 0x00000000 nreloc: 0 flags: 0x80000408 reserved1: 0x00000000 reserved2: 0x00000006 reserved3: 0x00000000 - sectname: __stub_helper segname: __TEXT addr: 0x0000000100000F8C size: 26 offset: 0x00000000 align: 2 reloff: 0x00000000 nreloc: 0 flags: 0x80000400 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __cstring segname: __TEXT addr: 0x0000000100000FA6 size: 14 offset: 0x00000000 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000002 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __unwind_info segname: __TEXT addr: 0x0000000100000FB4 size: 72 offset: 0x00000000 align: 2 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - cmd: LC_SEGMENT_64 cmdsize: 232 segname: __DATA vmaddr: 4294971392 vmsize: 4096 fileoff: 0 filesize: 0 maxprot: 7 initprot: 3 nsects: 2 flags: 0 Sections: - sectname: __nl_symbol_ptr segname: __DATA addr: 0x0000000100001000 size: 16 offset: 0x00000000 align: 3 reloff: 0x00000000 nreloc: 0 flags: 0x00000006 reserved1: 0x00000001 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __la_symbol_ptr segname: __DATA addr: 0x0000000100001010 size: 8 offset: 0x00000000 align: 3 reloff: 0x00000000 nreloc: 0 flags: 0x00000007 reserved1: 0x00000003 reserved2: 0x00000000 reserved3: 0x00000000 - cmd: LC_SEGMENT_64 cmdsize: 72 segname: __LINKEDIT vmaddr: 4294975488 vmsize: 4096 fileoff: 4096 filesize: 60 maxprot: 7 initprot: 1 nsects: 0 flags: 0 - cmd: LC_SEGMENT_64 cmdsize: 952 segname: __DWARF vmaddr: 4294979584 vmsize: 4096 fileoff: 8192 filesize: 764 maxprot: 7 initprot: 3 nsects: 11 flags: 0 Sections: - sectname: __debug_line segname: __DWARF addr: 0x0000000100003000 size: 69 offset: 0x00002000 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_pubnames segname: __DWARF addr: 0x0000000100003045 size: 27 offset: 0x00002045 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_pubtypes segname: __DWARF addr: 0x0000000100003060 size: 35 offset: 0x00002060 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_aranges segname: __DWARF addr: 0x0000000100003083 size: 48 offset: 0x00002083 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_info segname: __DWARF addr: 0x00000001000030B3 size: 121 offset: 0x000020B3 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_abbrev segname: __DWARF addr: 0x000000010000312C size: 76 offset: 0x0000212C align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __debug_str segname: __DWARF addr: 0x0000000100003178 size: 142 offset: 0x00002178 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_names segname: __DWARF addr: 0x0000000100003206 size: 60 offset: 0x00002206 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_namespac segname: __DWARF addr: 0x0000000100003242 size: 36 offset: 0x00002242 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_types segname: __DWARF addr: 0x0000000100003266 size: 114 offset: 0x00002266 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 - sectname: __apple_objc segname: __DWARF addr: 0x00000001000032D8 size: 36 offset: 0x000022D8 align: 0 reloff: 0x00000000 nreloc: 0 flags: 0x00000000 reserved1: 0x00000000 reserved2: 0x00000000 reserved3: 0x00000000 LinkEditData: NameList: - n_strx: 2 n_type: 0x0F n_sect: 1 n_desc: 16 n_value: 4294967296 - n_strx: 22 n_type: 0x0F n_sect: 1 n_desc: 0 n_value: 4294971216 StringTable: - '' - '' - __mh_execute_header - _main DWARF: debug_abbrev: - 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_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: 0x00000003 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: 0x00000004 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: 0x00000005 Tag: DW_TAG_pointer_type Children: DW_CHILDREN_no Attributes: - Attribute: DW_AT_type Form: DW_FORM_ref4 debug_aranges: - Length: TotalLength: 44 Version: 2 CuOffset: 0 AddrSize: 8 SegSize: 0 Descriptors: - Address: 0x0000000100000F50 Length: 52 debug_info: - Length: TotalLength: 117 Version: 4 AbbrOffset: 0 AddrSize: 8 Entries: - AbbrCode: 0x00000001 Values: - Value: 0x0000000000000001 - Value: 0x000000000000000C - Value: 0x0000000000000038 - Value: 0x0000000000000000 - Value: 0x0000000000000046 - Value: 0x0000000100000F50 - Value: 0x0000000000000034 - AbbrCode: 0x00000002 Values: - Value: 0x0000000100000F50 - Value: 0x0000000000000034 - Value: 0x0000000000000001 BlockData: - 0x56 - Value: 0x0000000000000076 - Value: 0x0000000000000001 - Value: 0x0000000000000003 - Value: 0x0000000000000001 - Value: 0x0000000000000060 - Value: 0x0000000000000001 - AbbrCode: 0x00000003 Values: - Value: 0x0000000000000002 BlockData: - 0x91 - 0x78 - Value: 0x000000000000007B - Value: 0x0000000000000001 - Value: 0x0000000000000003 - Value: 0x0000000000000060 - AbbrCode: 0x00000003 Values: - Value: 0x0000000000000002 BlockData: - 0x91 - 0x70 - Value: 0x0000000000000080 - Value: 0x0000000000000001 - Value: 0x0000000000000003 - Value: 0x0000000000000067 - AbbrCode: 0x00000000 Values: - AbbrCode: 0x00000004 Values: - Value: 0x0000000000000085 - Value: 0x0000000000000005 - Value: 0x0000000000000004 - AbbrCode: 0x00000005 Values: - Value: 0x000000000000006C - AbbrCode: 0x00000005 Values: - Value: 0x0000000000000071 - AbbrCode: 0x00000004 Values: - Value: 0x0000000000000089 - Value: 0x0000000000000006 - Value: 0x0000000000000001 - AbbrCode: 0x00000000 Values: debug_line: - Length: TotalLength: 65 Version: 2 PrologueLength: 36 MinInstLength: 1 DefaultIsStmt: 1 LineBase: 251 LineRange: 14 OpcodeBase: 13 StandardOpcodeLengths: - 0 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 1 - 0 - 0 - 1 IncludeDirs: Files: - Name: hello_world.c DirIdx: 0 ModTime: 0 Length: 0 Opcodes: - Opcode: DW_LNS_extended_op ExtLen: 9 SubOpcode: DW_LNE_set_address Data: 4294971216 - Opcode: 0x14 Data: 4294971216 - Opcode: DW_LNS_set_column Data: 3 - Opcode: DW_LNS_set_prologue_end Data: 3 - Opcode: DW_LNS_const_add_pc Data: 3 - Opcode: 0xBB Data: 3 - Opcode: 0xBB Data: 3 - Opcode: DW_LNS_advance_pc Data: 11 - Opcode: DW_LNS_extended_op ExtLen: 1 SubOpcode: DW_LNE_end_sequence Data: 11 ... ... #CHECK: DWARF: #CHECK: debug_info: #CHECK: - Length: #CHECK: TotalLength: 117 #CHECK: Version: 4 #CHECK: AbbrOffset: 0 #CHECK: AddrSize: 8 #CHECK: Entries: #CHECK: - AbbrCode: 0x00000001 #CHECK: Values: #CHECK: - Value: 0x0000000000000001 #CHECK: - Value: 0x000000000000000C #CHECK: - Value: 0x0000000000000038 #CHECK: - Value: 0x0000000000000000 #CHECK: - Value: 0x0000000000000046 #CHECK: - Value: 0x0000000100000F50 #CHECK: - Value: 0x0000000000000034 #CHECK: - AbbrCode: 0x00000002 #CHECK: Values: #CHECK: - Value: 0x0000000100000F50 #CHECK: - Value: 0x0000000000000034 #CHECK: - Value: 0x0000000000000001 #CHECK: BlockData: #CHECK: - 0x56 #CHECK: - Value: 0x0000000000000076 #CHECK: - Value: 0x0000000000000001 #CHECK: - Value: 0x0000000000000003 #CHECK: - Value: 0x0000000000000001 #CHECK: - Value: 0x0000000000000060 #CHECK: - Value: 0x0000000000000001 #CHECK: - AbbrCode: 0x00000003 #CHECK: Values: #CHECK: - Value: 0x0000000000000002 #CHECK: BlockData: #CHECK: - 0x91 #CHECK: - 0x78 #CHECK: - Value: 0x000000000000007B #CHECK: - Value: 0x0000000000000001 #CHECK: - Value: 0x0000000000000003 #CHECK: - Value: 0x0000000000000060 #CHECK: - AbbrCode: 0x00000003 #CHECK: Values: #CHECK: - Value: 0x0000000000000002 #CHECK: BlockData: #CHECK: - 0x91 #CHECK: - 0x70 #CHECK: - Value: 0x0000000000000080 #CHECK: - Value: 0x0000000000000001 #CHECK: - Value: 0x0000000000000003 #CHECK: - Value: 0x0000000000000067 #CHECK: - AbbrCode: 0x00000000 #CHECK: Values: #CHECK: - AbbrCode: 0x00000004 #CHECK: Values: #CHECK: - Value: 0x0000000000000085 #CHECK: - Value: 0x0000000000000005 #CHECK: - Value: 0x0000000000000004 #CHECK: - AbbrCode: 0x00000005 #CHECK: Values: #CHECK: - Value: 0x000000000000006C #CHECK: - AbbrCode: 0x00000005 #CHECK: Values: #CHECK: - Value: 0x0000000000000071 #CHECK: - AbbrCode: 0x00000004 #CHECK: Values: #CHECK: - Value: 0x0000000000000089 #CHECK: - Value: 0x0000000000000006 #CHECK: - Value: 0x0000000000000001 #CHECK: - AbbrCode: 0x00000000 #CHECK: Values: