Home | History | Annotate | Download | only in MachO
      1 # RUN: yaml2obj %s | obj2yaml | FileCheck %s
      2 
      3 --- !mach-o
      4 IsLittleEndian:  false
      5 FileHeader:      
      6   magic:           0xFEEDFACE
      7   cputype:         0x00000012
      8   cpusubtype:      0x00000000
      9   filetype:        0x00000001
     10   ncmds:           4
     11   sizeofcmds:      1264
     12   flags:           0x00002000
     13 LoadCommands:    
     14   - cmd:             LC_SEGMENT
     15     cmdsize:         1144
     16     segname:         ''
     17     vmaddr:          0
     18     vmsize:          1122
     19     fileoff:         1292
     20     filesize:        1122
     21     maxprot:         7
     22     initprot:        7
     23     nsects:          16
     24     flags:           0
     25     Sections:        
     26       - sectname:        __text
     27         segname:         __TEXT
     28         addr:            0x0000000000000000
     29         size:            188
     30         offset:          0x0000050C
     31         align:           4
     32         reloff:          0x00000970
     33         nreloc:          9
     34         flags:           0x80000400
     35         reserved1:       0x00000000
     36         reserved2:       0x00000000
     37         reserved3:       0x00000000
     38       - sectname:        __textcoal_nt
     39         segname:         __TEXT
     40         addr:            0x00000000000000BC
     41         size:            0
     42         offset:          0x000005C8
     43         align:           0
     44         reloff:          0x00000000
     45         nreloc:          0
     46         flags:           0x8000000B
     47         reserved1:       0x00000000
     48         reserved2:       0x00000000
     49         reserved3:       0x00000000
     50       - sectname:        __picsymbolstub1
     51         segname:         __TEXT
     52         addr:            0x00000000000000BC
     53         size:            0
     54         offset:          0x000005C8
     55         align:           0
     56         reloff:          0x00000000
     57         nreloc:          0
     58         flags:           0x80000008
     59         reserved1:       0x00000000
     60         reserved2:       0x00000020
     61         reserved3:       0x00000000
     62       - sectname:        __cstring
     63         segname:         __TEXT
     64         addr:            0x00000000000000BC
     65         size:            48
     66         offset:          0x000005C8
     67         align:           0
     68         reloff:          0x00000000
     69         nreloc:          0
     70         flags:           0x00000002
     71         reserved1:       0x00000000
     72         reserved2:       0x00000000
     73         reserved3:       0x00000000
     74       - sectname:        __debug_str
     75         segname:         __DWARF
     76         addr:            0x00000000000000EC
     77         size:            182
     78         offset:          0x000005F8
     79         align:           0
     80         reloff:          0x00000000
     81         nreloc:          0
     82         flags:           0x02000000
     83         reserved1:       0x00000000
     84         reserved2:       0x00000000
     85         reserved3:       0x00000000
     86       - sectname:        __debug_loc
     87         segname:         __DWARF
     88         addr:            0x00000000000001A2
     89         size:            0
     90         offset:          0x000006AE
     91         align:           0
     92         reloff:          0x00000000
     93         nreloc:          0
     94         flags:           0x02000000
     95         reserved1:       0x00000000
     96         reserved2:       0x00000000
     97         reserved3:       0x00000000
     98       - sectname:        __debug_abbrev
     99         segname:         __DWARF
    100         addr:            0x00000000000001A2
    101         size:            104
    102         offset:          0x000006AE
    103         align:           0
    104         reloff:          0x00000000
    105         nreloc:          0
    106         flags:           0x02000000
    107         reserved1:       0x00000000
    108         reserved2:       0x00000000
    109         reserved3:       0x00000000
    110       - sectname:        __debug_info
    111         segname:         __DWARF
    112         addr:            0x000000000000020A
    113         size:            141
    114         offset:          0x00000716
    115         align:           0
    116         reloff:          0x000009B8
    117         nreloc:          2
    118         flags:           0x02000000
    119         reserved1:       0x00000000
    120         reserved2:       0x00000000
    121         reserved3:       0x00000000
    122       - sectname:        __debug_ranges
    123         segname:         __DWARF
    124         addr:            0x0000000000000297
    125         size:            0
    126         offset:          0x000007A3
    127         align:           0
    128         reloff:          0x00000000
    129         nreloc:          0
    130         flags:           0x02000000
    131         reserved1:       0x00000000
    132         reserved2:       0x00000000
    133         reserved3:       0x00000000
    134       - sectname:        __debug_macinfo
    135         segname:         __DWARF
    136         addr:            0x0000000000000297
    137         size:            1
    138         offset:          0x000007A3
    139         align:           0
    140         reloff:          0x00000000
    141         nreloc:          0
    142         flags:           0x02000000
    143         reserved1:       0x00000000
    144         reserved2:       0x00000000
    145         reserved3:       0x00000000
    146       - sectname:        __apple_names
    147         segname:         __DWARF
    148         addr:            0x0000000000000298
    149         size:            60
    150         offset:          0x000007A4
    151         align:           0
    152         reloff:          0x00000000
    153         nreloc:          0
    154         flags:           0x02000000
    155         reserved1:       0x00000000
    156         reserved2:       0x00000000
    157         reserved3:       0x00000000
    158       - sectname:        __apple_objc
    159         segname:         __DWARF
    160         addr:            0x00000000000002D4
    161         size:            36
    162         offset:          0x000007E0
    163         align:           0
    164         reloff:          0x00000000
    165         nreloc:          0
    166         flags:           0x02000000
    167         reserved1:       0x00000000
    168         reserved2:       0x00000000
    169         reserved3:       0x00000000
    170       - sectname:        __apple_namespac
    171         segname:         __DWARF
    172         addr:            0x00000000000002F8
    173         size:            36
    174         offset:          0x00000804
    175         align:           0
    176         reloff:          0x00000000
    177         nreloc:          0
    178         flags:           0x02000000
    179         reserved1:       0x00000000
    180         reserved2:       0x00000000
    181         reserved3:       0x00000000
    182       - sectname:        __apple_types
    183         segname:         __DWARF
    184         addr:            0x000000000000031C
    185         size:            133
    186         offset:          0x00000828
    187         align:           0
    188         reloff:          0x00000000
    189         nreloc:          0
    190         flags:           0x02000000
    191         reserved1:       0x00000000
    192         reserved2:       0x00000000
    193         reserved3:       0x00000000
    194       - sectname:        __debug_frame
    195         segname:         __DWARF
    196         addr:            0x00000000000003A4
    197         size:            48
    198         offset:          0x000008B0
    199         align:           2
    200         reloff:          0x000009C8
    201         nreloc:          1
    202         flags:           0x02000000
    203         reserved1:       0x00000000
    204         reserved2:       0x00000000
    205         reserved3:       0x00000000
    206       - sectname:        __debug_line
    207         segname:         __DWARF
    208         addr:            0x00000000000003D4
    209         size:            142
    210         offset:          0x000008E0
    211         align:           0
    212         reloff:          0x000009D0
    213         nreloc:          1
    214         flags:           0x02000000
    215         reserved1:       0x00000000
    216         reserved2:       0x00000000
    217         reserved3:       0x00000000
    218   - cmd:             LC_VERSION_MIN_MACOSX
    219     cmdsize:         16
    220     version:         658432
    221     sdk:             0
    222   - cmd:             LC_SYMTAB
    223     cmdsize:         24
    224     symoff:          2520
    225     nsyms:           2
    226     stroff:          2544
    227     strsize:         36
    228   - cmd:             LC_DYSYMTAB
    229     cmdsize:         80
    230     ilocalsym:       0
    231     nlocalsym:       0
    232     iextdefsym:      0
    233     nextdefsym:      1
    234     iundefsym:       1
    235     nundefsym:       1
    236     tocoff:          0
    237     ntoc:            0
    238     modtaboff:       0
    239     nmodtab:         0
    240     extrefsymoff:    0
    241     nextrefsyms:     0
    242     indirectsymoff:  0
    243     nindirectsyms:   0
    244     extreloff:       0
    245     nextrel:         0
    246     locreloff:       0
    247     nlocrel:         0
    248 LinkEditData:    
    249   NameList:        
    250     - n_strx:          24
    251       n_type:          0x0F
    252       n_sect:          1
    253       n_desc:          0
    254       n_value:         0
    255     - n_strx:          1
    256       n_type:          0x01
    257       n_sect:          0
    258       n_desc:          0
    259       n_value:         0
    260   StringTable:     
    261     - ''
    262     - _compilerrt_abort_impl
    263     - ___absvdi2
    264     - ''
    265 DWARF:           
    266   debug_str:       
    267     - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)'
    268     - ../compiler-rt/lib/builtins/absvdi2.c
    269     - /Users/cbieneman/dev/open-source/llvm-build-rel
    270     - int
    271     - di_int
    272     - long long int
    273     - __absvdi2
    274     - a
    275     - N
    276     - t
    277   debug_abbrev:    
    278     - Code:            0x00000001
    279       Tag:             DW_TAG_compile_unit
    280       Children:        DW_CHILDREN_yes
    281       Attributes:      
    282         - Attribute:       DW_AT_producer
    283           Form:            DW_FORM_strp
    284         - Attribute:       DW_AT_language
    285           Form:            DW_FORM_data2
    286         - Attribute:       DW_AT_name
    287           Form:            DW_FORM_strp
    288         - Attribute:       DW_AT_stmt_list
    289           Form:            DW_FORM_sec_offset
    290         - Attribute:       DW_AT_comp_dir
    291           Form:            DW_FORM_strp
    292         - Attribute:       DW_AT_low_pc
    293           Form:            DW_FORM_addr
    294         - Attribute:       DW_AT_high_pc
    295           Form:            DW_FORM_data4
    296     - Code:            0x00000002
    297       Tag:             DW_TAG_base_type
    298       Children:        DW_CHILDREN_no
    299       Attributes:      
    300         - Attribute:       DW_AT_name
    301           Form:            DW_FORM_strp
    302         - Attribute:       DW_AT_encoding
    303           Form:            DW_FORM_data1
    304         - Attribute:       DW_AT_byte_size
    305           Form:            DW_FORM_data1
    306     - Code:            0x00000003
    307       Tag:             DW_TAG_typedef
    308       Children:        DW_CHILDREN_no
    309       Attributes:      
    310         - Attribute:       DW_AT_type
    311           Form:            DW_FORM_ref4
    312         - Attribute:       DW_AT_name
    313           Form:            DW_FORM_strp
    314         - Attribute:       DW_AT_decl_file
    315           Form:            DW_FORM_data1
    316         - Attribute:       DW_AT_decl_line
    317           Form:            DW_FORM_data1
    318     - Code:            0x00000004
    319       Tag:             DW_TAG_subprogram
    320       Children:        DW_CHILDREN_yes
    321       Attributes:      
    322         - Attribute:       DW_AT_low_pc
    323           Form:            DW_FORM_addr
    324         - Attribute:       DW_AT_high_pc
    325           Form:            DW_FORM_data4
    326         - Attribute:       DW_AT_frame_base
    327           Form:            DW_FORM_exprloc
    328         - Attribute:       DW_AT_name
    329           Form:            DW_FORM_strp
    330         - Attribute:       DW_AT_decl_file
    331           Form:            DW_FORM_data1
    332         - Attribute:       DW_AT_decl_line
    333           Form:            DW_FORM_data1
    334         - Attribute:       DW_AT_prototyped
    335           Form:            DW_FORM_flag_present
    336         - Attribute:       DW_AT_type
    337           Form:            DW_FORM_ref4
    338         - Attribute:       DW_AT_external
    339           Form:            DW_FORM_flag_present
    340     - Code:            0x00000005
    341       Tag:             DW_TAG_formal_parameter
    342       Children:        DW_CHILDREN_no
    343       Attributes:      
    344         - Attribute:       DW_AT_location
    345           Form:            DW_FORM_exprloc
    346         - Attribute:       DW_AT_name
    347           Form:            DW_FORM_strp
    348         - Attribute:       DW_AT_decl_file
    349           Form:            DW_FORM_data1
    350         - Attribute:       DW_AT_decl_line
    351           Form:            DW_FORM_data1
    352         - Attribute:       DW_AT_type
    353           Form:            DW_FORM_ref4
    354     - Code:            0x00000006
    355       Tag:             DW_TAG_variable
    356       Children:        DW_CHILDREN_no
    357       Attributes:      
    358         - Attribute:       DW_AT_location
    359           Form:            DW_FORM_exprloc
    360         - Attribute:       DW_AT_name
    361           Form:            DW_FORM_strp
    362         - Attribute:       DW_AT_decl_file
    363           Form:            DW_FORM_data1
    364         - Attribute:       DW_AT_decl_line
    365           Form:            DW_FORM_data1
    366         - Attribute:       DW_AT_type
    367           Form:            DW_FORM_ref4
    368     - Code:            0x00000007
    369       Tag:             DW_TAG_const_type
    370       Children:        DW_CHILDREN_no
    371       Attributes:      
    372         - Attribute:       DW_AT_type
    373           Form:            DW_FORM_ref4       
    374 ...
    375 
    376 #CHECK: DWARF:           
    377 #CHECK:   debug_str:       
    378 #CHECK:     - 'clang version 4.0.0 (trunk 290181) (llvm/trunk 290209)'
    379 #CHECK:     - ../compiler-rt/lib/builtins/absvdi2.c
    380 #CHECK:     - /Users/cbieneman/dev/open-source/llvm-build-rel
    381 #CHECK:     - int
    382 #CHECK:     - di_int
    383 #CHECK:     - long long int
    384 #CHECK:     - __absvdi2
    385 #CHECK:     - a
    386 #CHECK:     - N
    387 #CHECK:     - t
    388 #CHECK:   debug_abbrev:    
    389 #CHECK:     - Code:            0x00000001
    390 #CHECK:       Tag:             DW_TAG_compile_unit
    391 #CHECK:       Children:        DW_CHILDREN_yes
    392 #CHECK:       Attributes:      
    393 #CHECK:         - Attribute:       DW_AT_producer
    394 #CHECK:           Form:            DW_FORM_strp
    395 #CHECK:         - Attribute:       DW_AT_language
    396 #CHECK:           Form:            DW_FORM_data2
    397 #CHECK:         - Attribute:       DW_AT_name
    398 #CHECK:           Form:            DW_FORM_strp
    399 #CHECK:         - Attribute:       DW_AT_stmt_list
    400 #CHECK:           Form:            DW_FORM_sec_offset
    401 #CHECK:         - Attribute:       DW_AT_comp_dir
    402 #CHECK:           Form:            DW_FORM_strp
    403 #CHECK:         - Attribute:       DW_AT_low_pc
    404 #CHECK:           Form:            DW_FORM_addr
    405 #CHECK:         - Attribute:       DW_AT_high_pc
    406 #CHECK:           Form:            DW_FORM_data4
    407 #CHECK:     - Code:            0x00000002
    408 #CHECK:       Tag:             DW_TAG_base_type
    409 #CHECK:       Children:        DW_CHILDREN_no
    410 #CHECK:       Attributes:      
    411 #CHECK:         - Attribute:       DW_AT_name
    412 #CHECK:           Form:            DW_FORM_strp
    413 #CHECK:         - Attribute:       DW_AT_encoding
    414 #CHECK:           Form:            DW_FORM_data1
    415 #CHECK:         - Attribute:       DW_AT_byte_size
    416 #CHECK:           Form:            DW_FORM_data1
    417 #CHECK:     - Code:            0x00000003
    418 #CHECK:       Tag:             DW_TAG_typedef
    419 #CHECK:       Children:        DW_CHILDREN_no
    420 #CHECK:       Attributes:      
    421 #CHECK:         - Attribute:       DW_AT_type
    422 #CHECK:           Form:            DW_FORM_ref4
    423 #CHECK:         - Attribute:       DW_AT_name
    424 #CHECK:           Form:            DW_FORM_strp
    425 #CHECK:         - Attribute:       DW_AT_decl_file
    426 #CHECK:           Form:            DW_FORM_data1
    427 #CHECK:         - Attribute:       DW_AT_decl_line
    428 #CHECK:           Form:            DW_FORM_data1
    429 #CHECK:     - Code:            0x00000004
    430 #CHECK:       Tag:             DW_TAG_subprogram
    431 #CHECK:       Children:        DW_CHILDREN_yes
    432 #CHECK:       Attributes:      
    433 #CHECK:         - Attribute:       DW_AT_low_pc
    434 #CHECK:           Form:            DW_FORM_addr
    435 #CHECK:         - Attribute:       DW_AT_high_pc
    436 #CHECK:           Form:            DW_FORM_data4
    437 #CHECK:         - Attribute:       DW_AT_frame_base
    438 #CHECK:           Form:            DW_FORM_exprloc
    439 #CHECK:         - Attribute:       DW_AT_name
    440 #CHECK:           Form:            DW_FORM_strp
    441 #CHECK:         - Attribute:       DW_AT_decl_file
    442 #CHECK:           Form:            DW_FORM_data1
    443 #CHECK:         - Attribute:       DW_AT_decl_line
    444 #CHECK:           Form:            DW_FORM_data1
    445 #CHECK:         - Attribute:       DW_AT_prototyped
    446 #CHECK:           Form:            DW_FORM_flag_present
    447 #CHECK:         - Attribute:       DW_AT_type
    448 #CHECK:           Form:            DW_FORM_ref4
    449 #CHECK:         - Attribute:       DW_AT_external
    450 #CHECK:           Form:            DW_FORM_flag_present
    451 #CHECK:     - Code:            0x00000005
    452 #CHECK:       Tag:             DW_TAG_formal_parameter
    453 #CHECK:       Children:        DW_CHILDREN_no
    454 #CHECK:       Attributes:      
    455 #CHECK:         - Attribute:       DW_AT_location
    456 #CHECK:           Form:            DW_FORM_exprloc
    457 #CHECK:         - Attribute:       DW_AT_name
    458 #CHECK:           Form:            DW_FORM_strp
    459 #CHECK:         - Attribute:       DW_AT_decl_file
    460 #CHECK:           Form:            DW_FORM_data1
    461 #CHECK:         - Attribute:       DW_AT_decl_line
    462 #CHECK:           Form:            DW_FORM_data1
    463 #CHECK:         - Attribute:       DW_AT_type
    464 #CHECK:           Form:            DW_FORM_ref4
    465 #CHECK:     - Code:            0x00000006
    466 #CHECK:       Tag:             DW_TAG_variable
    467 #CHECK:       Children:        DW_CHILDREN_no
    468 #CHECK:       Attributes:      
    469 #CHECK:         - Attribute:       DW_AT_location
    470 #CHECK:           Form:            DW_FORM_exprloc
    471 #CHECK:         - Attribute:       DW_AT_name
    472 #CHECK:           Form:            DW_FORM_strp
    473 #CHECK:         - Attribute:       DW_AT_decl_file
    474 #CHECK:           Form:            DW_FORM_data1
    475 #CHECK:         - Attribute:       DW_AT_decl_line
    476 #CHECK:           Form:            DW_FORM_data1
    477 #CHECK:         - Attribute:       DW_AT_type
    478 #CHECK:           Form:            DW_FORM_ref4
    479 #CHECK:     - Code:            0x00000007
    480 #CHECK:       Tag:             DW_TAG_const_type
    481 #CHECK:       Children:        DW_CHILDREN_no
    482 #CHECK:       Attributes:      
    483 #CHECK:         - Attribute:       DW_AT_type
    484 #CHECK:          Form:            DW_FORM_ref4       
    485 
    486