Home | History | Annotate | Download | only in MachO
      1 # RUN: yaml2obj %s | obj2yaml | FileCheck %s
      2 
      3 --- !mach-o
      4 FileHeader:      
      5   magic:           0xFEEDFACF
      6   cputype:         0x01000007
      7   cpusubtype:      0x00000003
      8   filetype:        0x0000000A
      9   ncmds:           5
     10   sizeofcmds:      1800
     11   flags:           0x00000000
     12   reserved:        0x00000000
     13 LoadCommands:    
     14   - cmd:             LC_SEGMENT_64
     15     cmdsize:         72
     16     segname:         __PAGEZERO
     17     vmaddr:          0
     18     vmsize:          4294967296
     19     fileoff:         0
     20     filesize:        0
     21     maxprot:         0
     22     initprot:        0
     23     nsects:          0
     24     flags:           0
     25   - cmd:             LC_SEGMENT_64
     26     cmdsize:         472
     27     segname:         __TEXT
     28     vmaddr:          4294967296
     29     vmsize:          4096
     30     fileoff:         0
     31     filesize:        0
     32     maxprot:         7
     33     initprot:        5
     34     nsects:          5
     35     flags:           0
     36     Sections:        
     37       - sectname:        __text
     38         segname:         __TEXT
     39         addr:            0x0000000100000F50
     40         size:            52
     41         offset:          0x00000000
     42         align:           4
     43         reloff:          0x00000000
     44         nreloc:          0
     45         flags:           0x80000400
     46         reserved1:       0x00000000
     47         reserved2:       0x00000000
     48         reserved3:       0x00000000
     49       - sectname:        __stubs
     50         segname:         __TEXT
     51         addr:            0x0000000100000F84
     52         size:            6
     53         offset:          0x00000000
     54         align:           1
     55         reloff:          0x00000000
     56         nreloc:          0
     57         flags:           0x80000408
     58         reserved1:       0x00000000
     59         reserved2:       0x00000006
     60         reserved3:       0x00000000
     61       - sectname:        __stub_helper
     62         segname:         __TEXT
     63         addr:            0x0000000100000F8C
     64         size:            26
     65         offset:          0x00000000
     66         align:           2
     67         reloff:          0x00000000
     68         nreloc:          0
     69         flags:           0x80000400
     70         reserved1:       0x00000000
     71         reserved2:       0x00000000
     72         reserved3:       0x00000000
     73       - sectname:        __cstring
     74         segname:         __TEXT
     75         addr:            0x0000000100000FA6
     76         size:            14
     77         offset:          0x00000000
     78         align:           0
     79         reloff:          0x00000000
     80         nreloc:          0
     81         flags:           0x00000002
     82         reserved1:       0x00000000
     83         reserved2:       0x00000000
     84         reserved3:       0x00000000
     85       - sectname:        __unwind_info
     86         segname:         __TEXT
     87         addr:            0x0000000100000FB4
     88         size:            72
     89         offset:          0x00000000
     90         align:           2
     91         reloff:          0x00000000
     92         nreloc:          0
     93         flags:           0x00000000
     94         reserved1:       0x00000000
     95         reserved2:       0x00000000
     96         reserved3:       0x00000000
     97   - cmd:             LC_SEGMENT_64
     98     cmdsize:         232
     99     segname:         __DATA
    100     vmaddr:          4294971392
    101     vmsize:          4096
    102     fileoff:         0
    103     filesize:        0
    104     maxprot:         7
    105     initprot:        3
    106     nsects:          2
    107     flags:           0
    108     Sections:        
    109       - sectname:        __nl_symbol_ptr
    110         segname:         __DATA
    111         addr:            0x0000000100001000
    112         size:            16
    113         offset:          0x00000000
    114         align:           3
    115         reloff:          0x00000000
    116         nreloc:          0
    117         flags:           0x00000006
    118         reserved1:       0x00000001
    119         reserved2:       0x00000000
    120         reserved3:       0x00000000
    121       - sectname:        __la_symbol_ptr
    122         segname:         __DATA
    123         addr:            0x0000000100001010
    124         size:            8
    125         offset:          0x00000000
    126         align:           3
    127         reloff:          0x00000000
    128         nreloc:          0
    129         flags:           0x00000007
    130         reserved1:       0x00000003
    131         reserved2:       0x00000000
    132         reserved3:       0x00000000
    133   - cmd:             LC_SEGMENT_64
    134     cmdsize:         72
    135     segname:         __LINKEDIT
    136     vmaddr:          4294975488
    137     vmsize:          4096
    138     fileoff:         4096
    139     filesize:        60
    140     maxprot:         7
    141     initprot:        1
    142     nsects:          0
    143     flags:           0
    144   - cmd:             LC_SEGMENT_64
    145     cmdsize:         952
    146     segname:         __DWARF
    147     vmaddr:          4294979584
    148     vmsize:          4096
    149     fileoff:         8192
    150     filesize:        764
    151     maxprot:         7
    152     initprot:        3
    153     nsects:          11
    154     flags:           0
    155     Sections:        
    156       - sectname:        __debug_line
    157         segname:         __DWARF
    158         addr:            0x0000000100003000
    159         size:            69
    160         offset:          0x00002000
    161         align:           0
    162         reloff:          0x00000000
    163         nreloc:          0
    164         flags:           0x00000000
    165         reserved1:       0x00000000
    166         reserved2:       0x00000000
    167         reserved3:       0x00000000
    168       - sectname:        __debug_pubnames
    169         segname:         __DWARF
    170         addr:            0x0000000100003045
    171         size:            27
    172         offset:          0x00002045
    173         align:           0
    174         reloff:          0x00000000
    175         nreloc:          0
    176         flags:           0x00000000
    177         reserved1:       0x00000000
    178         reserved2:       0x00000000
    179         reserved3:       0x00000000
    180       - sectname:        __debug_pubtypes
    181         segname:         __DWARF
    182         addr:            0x0000000100003060
    183         size:            35
    184         offset:          0x00002060
    185         align:           0
    186         reloff:          0x00000000
    187         nreloc:          0
    188         flags:           0x00000000
    189         reserved1:       0x00000000
    190         reserved2:       0x00000000
    191         reserved3:       0x00000000
    192       - sectname:        __debug_aranges
    193         segname:         __DWARF
    194         addr:            0x0000000100003083
    195         size:            48
    196         offset:          0x00002083
    197         align:           0
    198         reloff:          0x00000000
    199         nreloc:          0
    200         flags:           0x00000000
    201         reserved1:       0x00000000
    202         reserved2:       0x00000000
    203         reserved3:       0x00000000
    204       - sectname:        __debug_info
    205         segname:         __DWARF
    206         addr:            0x00000001000030B3
    207         size:            121
    208         offset:          0x000020B3
    209         align:           0
    210         reloff:          0x00000000
    211         nreloc:          0
    212         flags:           0x00000000
    213         reserved1:       0x00000000
    214         reserved2:       0x00000000
    215         reserved3:       0x00000000
    216       - sectname:        __debug_abbrev
    217         segname:         __DWARF
    218         addr:            0x000000010000312C
    219         size:            76
    220         offset:          0x0000212C
    221         align:           0
    222         reloff:          0x00000000
    223         nreloc:          0
    224         flags:           0x00000000
    225         reserved1:       0x00000000
    226         reserved2:       0x00000000
    227         reserved3:       0x00000000
    228       - sectname:        __debug_str
    229         segname:         __DWARF
    230         addr:            0x0000000100003178
    231         size:            142
    232         offset:          0x00002178
    233         align:           0
    234         reloff:          0x00000000
    235         nreloc:          0
    236         flags:           0x00000000
    237         reserved1:       0x00000000
    238         reserved2:       0x00000000
    239         reserved3:       0x00000000
    240       - sectname:        __apple_names
    241         segname:         __DWARF
    242         addr:            0x0000000100003206
    243         size:            60
    244         offset:          0x00002206
    245         align:           0
    246         reloff:          0x00000000
    247         nreloc:          0
    248         flags:           0x00000000
    249         reserved1:       0x00000000
    250         reserved2:       0x00000000
    251         reserved3:       0x00000000
    252       - sectname:        __apple_namespac
    253         segname:         __DWARF
    254         addr:            0x0000000100003242
    255         size:            36
    256         offset:          0x00002242
    257         align:           0
    258         reloff:          0x00000000
    259         nreloc:          0
    260         flags:           0x00000000
    261         reserved1:       0x00000000
    262         reserved2:       0x00000000
    263         reserved3:       0x00000000
    264       - sectname:        __apple_types
    265         segname:         __DWARF
    266         addr:            0x0000000100003266
    267         size:            114
    268         offset:          0x00002266
    269         align:           0
    270         reloff:          0x00000000
    271         nreloc:          0
    272         flags:           0x00000000
    273         reserved1:       0x00000000
    274         reserved2:       0x00000000
    275         reserved3:       0x00000000
    276       - sectname:        __apple_objc
    277         segname:         __DWARF
    278         addr:            0x00000001000032D8
    279         size:            36
    280         offset:          0x000022D8
    281         align:           0
    282         reloff:          0x00000000
    283         nreloc:          0
    284         flags:           0x00000000
    285         reserved1:       0x00000000
    286         reserved2:       0x00000000
    287         reserved3:       0x00000000
    288 DWARF:           
    289   debug_abbrev:     
    290     - Code:            0x00000001
    291       Tag:             DW_TAG_compile_unit
    292       Children:        DW_CHILDREN_yes
    293       Attributes:      
    294         - Attribute:       DW_AT_producer
    295           Form:            DW_FORM_strp
    296         - Attribute:       DW_AT_language
    297           Form:            DW_FORM_data2
    298         - Attribute:       DW_AT_name
    299           Form:            DW_FORM_strp
    300         - Attribute:       DW_AT_stmt_list
    301           Form:            DW_FORM_sec_offset
    302         - Attribute:       DW_AT_comp_dir
    303           Form:            DW_FORM_strp
    304         - Attribute:       DW_AT_low_pc
    305           Form:            DW_FORM_addr
    306         - Attribute:       DW_AT_high_pc
    307           Form:            DW_FORM_data4
    308     - Code:            0x00000002
    309       Tag:             DW_TAG_subprogram
    310       Children:        DW_CHILDREN_yes
    311       Attributes:      
    312         - Attribute:       DW_AT_low_pc
    313           Form:            DW_FORM_addr
    314         - Attribute:       DW_AT_high_pc
    315           Form:            DW_FORM_data4
    316         - Attribute:       DW_AT_frame_base
    317           Form:            DW_FORM_exprloc
    318         - Attribute:       DW_AT_name
    319           Form:            DW_FORM_strp
    320         - Attribute:       DW_AT_decl_file
    321           Form:            DW_FORM_data1
    322         - Attribute:       DW_AT_decl_line
    323           Form:            DW_FORM_data1
    324         - Attribute:       DW_AT_prototyped
    325           Form:            DW_FORM_flag_present
    326         - Attribute:       DW_AT_type
    327           Form:            DW_FORM_ref4
    328         - Attribute:       DW_AT_external
    329           Form:            DW_FORM_flag_present
    330     - Code:            0x00000003
    331       Tag:             DW_TAG_formal_parameter
    332       Children:        DW_CHILDREN_no
    333       Attributes:      
    334         - Attribute:       DW_AT_location
    335           Form:            DW_FORM_exprloc
    336         - Attribute:       DW_AT_name
    337           Form:            DW_FORM_strp
    338         - Attribute:       DW_AT_decl_file
    339           Form:            DW_FORM_data1
    340         - Attribute:       DW_AT_decl_line
    341           Form:            DW_FORM_data1
    342         - Attribute:       DW_AT_type
    343           Form:            DW_FORM_ref4
    344     - Code:            0x00000004
    345       Tag:             DW_TAG_base_type
    346       Children:        DW_CHILDREN_no
    347       Attributes:      
    348         - Attribute:       DW_AT_name
    349           Form:            DW_FORM_strp
    350         - Attribute:       DW_AT_encoding
    351           Form:            DW_FORM_data1
    352         - Attribute:       DW_AT_byte_size
    353           Form:            DW_FORM_data1
    354     - Code:            0x00000005
    355       Tag:             DW_TAG_pointer_type
    356       Children:        DW_CHILDREN_no
    357       Attributes:      
    358         - Attribute:       DW_AT_type
    359           Form:            DW_FORM_ref4
    360 ...
    361 
    362 #CHECK: DWARF:           
    363 #CHECK:   debug_abbrev:     
    364 #CHECK:     - Code:            0x00000001
    365 #CHECK:       Tag:             DW_TAG_compile_unit
    366 #CHECK:       Children:        DW_CHILDREN_yes
    367 #CHECK:       Attributes:      
    368 #CHECK:         - Attribute:       DW_AT_producer
    369 #CHECK:           Form:            DW_FORM_strp
    370 #CHECK:         - Attribute:       DW_AT_language
    371 #CHECK:           Form:            DW_FORM_data2
    372 #CHECK:         - Attribute:       DW_AT_name
    373 #CHECK:           Form:            DW_FORM_strp
    374 #CHECK:         - Attribute:       DW_AT_stmt_list
    375 #CHECK:           Form:            DW_FORM_sec_offset
    376 #CHECK:         - Attribute:       DW_AT_comp_dir
    377 #CHECK:           Form:            DW_FORM_strp
    378 #CHECK:         - Attribute:       DW_AT_low_pc
    379 #CHECK:           Form:            DW_FORM_addr
    380 #CHECK:         - Attribute:       DW_AT_high_pc
    381 #CHECK:           Form:            DW_FORM_data4
    382 #CHECK:     - Code:            0x00000002
    383 #CHECK:       Tag:             DW_TAG_subprogram
    384 #CHECK:       Children:        DW_CHILDREN_yes
    385 #CHECK:       Attributes:      
    386 #CHECK:         - Attribute:       DW_AT_low_pc
    387 #CHECK:           Form:            DW_FORM_addr
    388 #CHECK:         - Attribute:       DW_AT_high_pc
    389 #CHECK:           Form:            DW_FORM_data4
    390 #CHECK:         - Attribute:       DW_AT_frame_base
    391 #CHECK:           Form:            DW_FORM_exprloc
    392 #CHECK:         - Attribute:       DW_AT_name
    393 #CHECK:           Form:            DW_FORM_strp
    394 #CHECK:         - Attribute:       DW_AT_decl_file
    395 #CHECK:           Form:            DW_FORM_data1
    396 #CHECK:         - Attribute:       DW_AT_decl_line
    397 #CHECK:           Form:            DW_FORM_data1
    398 #CHECK:         - Attribute:       DW_AT_prototyped
    399 #CHECK:           Form:            DW_FORM_flag_present
    400 #CHECK:         - Attribute:       DW_AT_type
    401 #CHECK:           Form:            DW_FORM_ref4
    402 #CHECK:         - Attribute:       DW_AT_external
    403 #CHECK:           Form:            DW_FORM_flag_present
    404 #CHECK:     - Code:            0x00000003
    405 #CHECK:       Tag:             DW_TAG_formal_parameter
    406 #CHECK:       Children:        DW_CHILDREN_no
    407 #CHECK:       Attributes:      
    408 #CHECK:         - Attribute:       DW_AT_location
    409 #CHECK:           Form:            DW_FORM_exprloc
    410 #CHECK:         - Attribute:       DW_AT_name
    411 #CHECK:           Form:            DW_FORM_strp
    412 #CHECK:         - Attribute:       DW_AT_decl_file
    413 #CHECK:           Form:            DW_FORM_data1
    414 #CHECK:         - Attribute:       DW_AT_decl_line
    415 #CHECK:           Form:            DW_FORM_data1
    416 #CHECK:         - Attribute:       DW_AT_type
    417 #CHECK:           Form:            DW_FORM_ref4
    418 #CHECK:     - Code:            0x00000004
    419 #CHECK:       Tag:             DW_TAG_base_type
    420 #CHECK:       Children:        DW_CHILDREN_no
    421 #CHECK:       Attributes:      
    422 #CHECK:         - Attribute:       DW_AT_name
    423 #CHECK:           Form:            DW_FORM_strp
    424 #CHECK:         - Attribute:       DW_AT_encoding
    425 #CHECK:           Form:            DW_FORM_data1
    426 #CHECK:         - Attribute:       DW_AT_byte_size
    427 #CHECK:           Form:            DW_FORM_data1
    428 #CHECK:     - Code:            0x00000005
    429 #CHECK:       Tag:             DW_TAG_pointer_type
    430 #CHECK:       Children:        DW_CHILDREN_no
    431 #CHECK:       Attributes:      
    432 #CHECK:         - Attribute:       DW_AT_type
    433 #CHECK:           Form:            DW_FORM_ref4
    434