| # 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_info |
| segname: __DWARF |
| addr: 0x00000001000030B3 |
| size: 180 |
| offset: 0x000020B3 |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x00000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_abbrev |
| segname: __DWARF |
| addr: 0x000000010000312C |
| size: 86 |
| offset: 0x00002167 |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x00000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_str |
| segname: __DWARF |
| addr: 0x0000000100003178 |
| size: 83 |
| offset: 0x000021BC |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x00000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __apple_names |
| segname: __DWARF |
| addr: 0x0000000100003206 |
| size: 36 |
| offset: 0x0000221E |
| 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 |
| DWARF: |
| debug_str: |
| - World |
| debug_abbrev: |
| - Table: |
| - Code: 0x00000001 |
| Tag: DW_TAG_compile_unit |
| Children: DW_CHILDREN_no |
| Attributes: |
| - Attribute: 0x2000 |
| Form: DW_FORM_addr |
| - Attribute: 0x2001 |
| Form: DW_FORM_block |
| - Attribute: DW_AT_MIPS_loop_begin |
| Form: DW_FORM_block1 |
| - Attribute: DW_AT_MIPS_tail_loop_begin |
| Form: DW_FORM_block2 |
| - Attribute: DW_AT_MIPS_epilog_begin |
| Form: DW_FORM_block4 |
| - Attribute: DW_AT_MIPS_loop_unroll_factor |
| Form: DW_FORM_data1 |
| - Attribute: DW_AT_MIPS_software_pipeline_depth |
| Form: DW_FORM_data2 |
| - Attribute: DW_AT_MIPS_linkage_name |
| Form: DW_FORM_data4 |
| - Attribute: DW_AT_MIPS_stride |
| Form: DW_FORM_data8 |
| - Attribute: DW_AT_MIPS_abstract_name |
| Form: DW_FORM_string |
| - Attribute: DW_AT_MIPS_clone_origin |
| Form: DW_FORM_strp |
| - Attribute: DW_AT_MIPS_has_inlines |
| Form: DW_FORM_ref_addr |
| - Attribute: DW_AT_MIPS_stride_byte |
| Form: DW_FORM_ref1 |
| - Attribute: DW_AT_MIPS_stride_elem |
| Form: DW_FORM_ref2 |
| - Attribute: DW_AT_MIPS_ptr_dopetype |
| Form: DW_FORM_ref4 |
| - Attribute: DW_AT_MIPS_allocatable_dopetype |
| Form: DW_FORM_ref8 |
| - Attribute: DW_AT_MIPS_assumed_shape_dopetype |
| Form: DW_FORM_ref_sig8 |
| - Attribute: DW_AT_MIPS_assumed_size |
| Form: DW_FORM_ref_udata |
| - Attribute: 0x2012 |
| Form: DW_FORM_flag |
| - Attribute: 0x2013 |
| Form: DW_FORM_flag |
| - Attribute: 0x2014 |
| Form: DW_FORM_flag_present |
| - Attribute: 0x2015 |
| Form: DW_FORM_sdata |
| - Attribute: 0x2017 |
| Form: DW_FORM_udata |
| - Attribute: 0x2018 |
| Form: DW_FORM_GNU_ref_alt |
| - Attribute: 0x2019 |
| Form: DW_FORM_sec_offset |
| - Attribute: 0x201A |
| Form: DW_FORM_addr |
| debug_info: |
| - Length: 168 |
| Version: 2 |
| AbbrOffset: 0 |
| AddrSize: 8 |
| Entries: |
| - AbbrCode: 0x00000001 |
| Values: |
| - Value: 0x0123456789ABCDEF |
| - Value: 0x000000000000000A |
| BlockData: |
| - 0x01 |
| - 0x02 |
| - 0x03 |
| - 0x04 |
| - 0x05 |
| - 0x06 |
| - 0x07 |
| - 0x08 |
| - 0x09 |
| - 0x00 |
| - Value: 0x000000000000000A |
| BlockData: |
| - 0x01 |
| - 0x02 |
| - 0x03 |
| - 0x04 |
| - 0x05 |
| - 0x06 |
| - 0x07 |
| - 0x08 |
| - 0x09 |
| - 0x00 |
| - Value: 0x000000000000000A |
| BlockData: |
| - 0x01 |
| - 0x02 |
| - 0x03 |
| - 0x04 |
| - 0x05 |
| - 0x06 |
| - 0x07 |
| - 0x08 |
| - 0x09 |
| - 0x00 |
| - Value: 0x000000000000000A |
| BlockData: |
| - 0x01 |
| - 0x02 |
| - 0x03 |
| - 0x04 |
| - 0x05 |
| - 0x06 |
| - 0x07 |
| - 0x08 |
| - 0x09 |
| - 0x00 |
| - Value: 0x0000000000000001 |
| - Value: 0x0000000000002345 |
| - Value: 0x000000006789ABCD |
| - Value: 0x0011223344556677 |
| - Value: 0x0000000000000000 |
| CStr: Hello |
| - Value: 0x0000000000000000 |
| - Value: 0x0000000012345678 |
| - Value: 0x0000000000000001 |
| - Value: 0x0000000000002345 |
| - Value: 0x000000006789ABCD |
| - Value: 0x0011223344556677 |
| - Value: 0xAABBCCDDEEFF0011 |
| - Value: 0xFFFFFFFFFFFFFFFE |
| - Value: 0x0000000000000001 |
| - Value: 0x0000000000000000 |
| - Value: 0x0000000000000001 |
| - Value: 0x8000000000000000 |
| - Value: 0xFFFFFFFFFFFFFFFE |
| - Value: 0x0000000000000001 |
| - Value: 0x0000000000000002 |
| - Value: 0x0123456789ABCDEF |
| ... |
| |
| #CHECK: debug_info: |
| #CHECK: - Length: 0xA8 |
| #CHECK: Version: 2 |
| #CHECK: AbbrOffset: 0 |
| #CHECK: AddrSize: 8 |
| #CHECK: Entries: |
| #CHECK: - AbbrCode: 0x1 |
| #CHECK: Values: |
| #CHECK: - Value: 0x123456789ABCDEF |
| #CHECK: - Value: 0xA |
| #CHECK: BlockData: [ 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, |
| #CHECK: 0x9, 0x0 ] |
| #CHECK: - Value: 0xA |
| #CHECK: BlockData: [ 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, |
| #CHECK: 0x9, 0x0 ] |
| #CHECK: - Value: 0xA |
| #CHECK: BlockData: [ 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, |
| #CHECK: 0x9, 0x0 ] |
| #CHECK: - Value: 0xA |
| #CHECK: BlockData: [ 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, |
| #CHECK: 0x9, 0x0 ] |
| #CHECK: - Value: 0x1 |
| #CHECK: - Value: 0x2345 |
| #CHECK: - Value: 0x6789ABCD |
| #CHECK: - Value: 0x11223344556677 |
| #CHECK: CStr: Hello |
| #CHECK: - Value: 0x0 |
| #CHECK: - Value: 0x12345678 |
| #CHECK: - Value: 0x1 |
| #CHECK: - Value: 0x2345 |
| #CHECK: - Value: 0x6789ABCD |
| #CHECK: - Value: 0x11223344556677 |
| #CHECK: - Value: 0xAABBCCDDEEFF0011 |
| #CHECK: - Value: 0xFFFFFFFFFFFFFFFE |
| #CHECK: - Value: 0x1 |
| #CHECK: - Value: 0x0 |
| #CHECK: - Value: 0x1 |
| #CHECK: - Value: 0xFFFFFFFFFFFFFFFE |
| #CHECK: - Value: 0x1 |
| #CHECK: - Value: 0x2 |
| #CHECK: - Value: 0x123456789ABCDEF |