| # 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: ... |