# RUN: yaml2obj %s | obj2yaml | FileCheck %s --- !mach-o FileHeader: magic: 0xFEEDFACF cputype: 0x01000007 cpusubtype: 0x00000003 filetype: 0x0000000A ncmds: 7 sizeofcmds: 1848 flags: 0x00000000 reserved: 0x00000000 LoadCommands: - cmd: LC_UUID cmdsize: 24 uuid: B4D48511-37F4-3ED4-AFA7-1683DCE69AC4 - cmd: LC_SYMTAB cmdsize: 24 symoff: 4096 nsyms: 2 stroff: 4128 strsize: 28 - 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_str: - '' - 'clang version 4.0.0 (trunk 288923) (llvm/trunk 288991)' - hello_world.c - /Users/cbieneman/dev/open-source/llvm-build-rel - main - argc - argv - int - char 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_pubnames: Length: TotalLength: 23 Version: 2 UnitOffset: 0 UnitSize: 121 Entries: - DieOffset: 0x0000002A Name: main debug_pubtypes: Length: TotalLength: 31 Version: 2 UnitOffset: 0 UnitSize: 121 Entries: - DieOffset: 0x00000060 Name: int - DieOffset: 0x00000071 Name: char 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: debug_line: #CHECK: - Length: #CHECK: TotalLength: 65 #CHECK: Version: 2 #CHECK: PrologueLength: 36 #CHECK: MinInstLength: 1 #CHECK: DefaultIsStmt: 1 #CHECK: LineBase: 251 #CHECK: LineRange: 14 #CHECK: OpcodeBase: 13 #CHECK: StandardOpcodeLengths: [ 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1 ] #CHECK: IncludeDirs: #CHECK: Files: #CHECK: - Name: hello_world.c #CHECK: DirIdx: 0 #CHECK: ModTime: 0 #CHECK: Length: 0 #CHECK: Opcodes: #CHECK: - Opcode: DW_LNS_extended_op #CHECK: ExtLen: 9 #CHECK: SubOpcode: DW_LNE_set_address #CHECK: Data: 4294971216 #CHECK: - Opcode: 0x14 #CHECK: Data: 4294971216 #CHECK: - Opcode: DW_LNS_set_column #CHECK: Data: 3 #CHECK: - Opcode: DW_LNS_set_prologue_end #CHECK: Data: 3 #CHECK: - Opcode: DW_LNS_const_add_pc #CHECK: Data: 3 #CHECK: - Opcode: 0xBB #CHECK: Data: 3 #CHECK: - Opcode: 0xBB #CHECK: Data: 3 #CHECK: - Opcode: DW_LNS_advance_pc #CHECK: Data: 11 #CHECK: - Opcode: DW_LNS_extended_op #CHECK: ExtLen: 1 #CHECK: SubOpcode: DW_LNE_end_sequence #CHECK: Data: 11 #CHECK: ...