| # 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: |
| - 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: 0x00000001 |
| #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: 0x00000002 |
| #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: 0x00000003 |
| #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: 0x00000004 |
| #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: 0x00000005 |
| #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: 0x00000006 |
| #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: 0x00000007 |
| #CHECK: Tag: DW_TAG_const_type |
| #CHECK: Children: DW_CHILDREN_no |
| #CHECK: Attributes: |
| #CHECK: - Attribute: DW_AT_type |
| #CHECK: Form: DW_FORM_ref4 |
| |