| # RUN: yaml2obj %s | obj2yaml | FileCheck %s |
| |
| --- !mach-o |
| IsLittleEndian: true |
| FileHeader: |
| magic: 0xFEEDFACF |
| cputype: 0x01000007 |
| cpusubtype: 0x00000003 |
| filetype: 0x00000001 |
| ncmds: 4 |
| sizeofcmds: 1392 |
| flags: 0x00002000 |
| reserved: 0x00000000 |
| LoadCommands: |
| - cmd: LC_SEGMENT_64 |
| cmdsize: 1272 |
| segname: '' |
| vmaddr: 0 |
| vmsize: 1086 |
| fileoff: 1424 |
| filesize: 1086 |
| maxprot: 7 |
| initprot: 7 |
| nsects: 15 |
| flags: 0 |
| Sections: |
| - sectname: __text |
| segname: __TEXT |
| addr: 0x0000000000000000 |
| size: 93 |
| offset: 0x00000590 |
| align: 4 |
| reloff: 0x000009D0 |
| nreloc: 3 |
| flags: 0x80000400 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __cstring |
| segname: __TEXT |
| addr: 0x000000000000005D |
| size: 48 |
| offset: 0x000005ED |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x00000002 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_str |
| segname: __DWARF |
| addr: 0x000000000000008D |
| size: 182 |
| offset: 0x0000061D |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_loc |
| segname: __DWARF |
| addr: 0x0000000000000143 |
| size: 0 |
| offset: 0x000006D3 |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_abbrev |
| segname: __DWARF |
| addr: 0x0000000000000143 |
| size: 104 |
| offset: 0x000006D3 |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_info |
| segname: __DWARF |
| addr: 0x00000000000001AB |
| size: 146 |
| offset: 0x0000073B |
| align: 0 |
| reloff: 0x000009E8 |
| nreloc: 2 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_ranges |
| segname: __DWARF |
| addr: 0x000000000000023D |
| size: 0 |
| offset: 0x000007CD |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_macinfo |
| segname: __DWARF |
| addr: 0x000000000000023D |
| size: 1 |
| offset: 0x000007CD |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __apple_names |
| segname: __DWARF |
| addr: 0x000000000000023E |
| size: 60 |
| offset: 0x000007CE |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __apple_objc |
| segname: __DWARF |
| addr: 0x000000000000027A |
| size: 36 |
| offset: 0x0000080A |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __apple_namespac |
| segname: __DWARF |
| addr: 0x000000000000029E |
| size: 36 |
| offset: 0x0000082E |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __apple_types |
| segname: __DWARF |
| addr: 0x00000000000002C2 |
| size: 133 |
| offset: 0x00000852 |
| align: 0 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __compact_unwind |
| segname: __LD |
| addr: 0x0000000000000348 |
| size: 32 |
| offset: 0x000008D8 |
| align: 3 |
| reloff: 0x000009F8 |
| nreloc: 1 |
| flags: 0x02000000 |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __eh_frame |
| segname: __TEXT |
| addr: 0x0000000000000368 |
| size: 64 |
| offset: 0x000008F8 |
| align: 3 |
| reloff: 0x00000000 |
| nreloc: 0 |
| flags: 0x6800000B |
| reserved1: 0x00000000 |
| reserved2: 0x00000000 |
| reserved3: 0x00000000 |
| - sectname: __debug_line |
| segname: __DWARF |
| addr: 0x00000000000003A8 |
| size: 150 |
| offset: 0x00000938 |
| align: 0 |
| reloff: 0x00000A00 |
| 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: 2568 |
| nsyms: 2 |
| stroff: 2600 |
| 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 |
| #CHECK: ... |