brintos

brintos / llvm-project-archived public Read only

0
0
Text · 16.6 KiB · bbadd47 Raw
492 lines · yaml
1## a) Test that yaml2obj is able to emit the __debug_abbrev section and obj2yaml is2## able to convert it back.3 4# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s5 6--- !mach-o7FileHeader:      8  magic:           0xFEEDFACF9  cputype:         0x0100000710  cpusubtype:      0x0000000311  filetype:        0x0000000A12  ncmds:           513  sizeofcmds:      180014  flags:           0x0000000015  reserved:        0x0000000016LoadCommands:    17  - cmd:             LC_SEGMENT_6418    cmdsize:         7219    segname:         __PAGEZERO20    vmaddr:          021    vmsize:          429496729622    fileoff:         023    filesize:        024    maxprot:         025    initprot:        026    nsects:          027    flags:           028  - cmd:             LC_SEGMENT_6429    cmdsize:         47230    segname:         __TEXT31    vmaddr:          429496729632    vmsize:          409633    fileoff:         034    filesize:        035    maxprot:         736    initprot:        537    nsects:          538    flags:           039    Sections:        40      - sectname:        __text41        segname:         __TEXT42        addr:            0x0000000100000F5043        size:            5244        offset:          0x0000000045        align:           446        reloff:          0x0000000047        nreloc:          048        flags:           0x8000040049        reserved1:       0x0000000050        reserved2:       0x0000000051        reserved3:       0x0000000052      - sectname:        __stubs53        segname:         __TEXT54        addr:            0x0000000100000F8455        size:            656        offset:          0x0000000057        align:           158        reloff:          0x0000000059        nreloc:          060        flags:           0x8000040861        reserved1:       0x0000000062        reserved2:       0x0000000663        reserved3:       0x0000000064      - sectname:        __stub_helper65        segname:         __TEXT66        addr:            0x0000000100000F8C67        size:            2668        offset:          0x0000000069        align:           270        reloff:          0x0000000071        nreloc:          072        flags:           0x8000040073        reserved1:       0x0000000074        reserved2:       0x0000000075        reserved3:       0x0000000076      - sectname:        __cstring77        segname:         __TEXT78        addr:            0x0000000100000FA679        size:            1480        offset:          0x0000000081        align:           082        reloff:          0x0000000083        nreloc:          084        flags:           0x0000000285        reserved1:       0x0000000086        reserved2:       0x0000000087        reserved3:       0x0000000088      - sectname:        __unwind_info89        segname:         __TEXT90        addr:            0x0000000100000FB491        size:            7292        offset:          0x0000000093        align:           294        reloff:          0x0000000095        nreloc:          096        flags:           0x0000000097        reserved1:       0x0000000098        reserved2:       0x0000000099        reserved3:       0x00000000100  - cmd:             LC_SEGMENT_64101    cmdsize:         232102    segname:         __DATA103    vmaddr:          4294971392104    vmsize:          4096105    fileoff:         0106    filesize:        0107    maxprot:         7108    initprot:        3109    nsects:          2110    flags:           0111    Sections:        112      - sectname:        __nl_symbol_ptr113        segname:         __DATA114        addr:            0x0000000100001000115        size:            16116        offset:          0x00000000117        align:           3118        reloff:          0x00000000119        nreloc:          0120        flags:           0x00000006121        reserved1:       0x00000001122        reserved2:       0x00000000123        reserved3:       0x00000000124      - sectname:        __la_symbol_ptr125        segname:         __DATA126        addr:            0x0000000100001010127        size:            8128        offset:          0x00000000129        align:           3130        reloff:          0x00000000131        nreloc:          0132        flags:           0x00000007133        reserved1:       0x00000003134        reserved2:       0x00000000135        reserved3:       0x00000000136  - cmd:             LC_SEGMENT_64137    cmdsize:         72138    segname:         __LINKEDIT139    vmaddr:          4294975488140    vmsize:          4096141    fileoff:         4096142    filesize:        60143    maxprot:         7144    initprot:        1145    nsects:          0146    flags:           0147  - cmd:             LC_SEGMENT_64148    cmdsize:         952149    segname:         __DWARF150    vmaddr:          4294979584151    vmsize:          4096152    fileoff:         8192153    filesize:        764154    maxprot:         7155    initprot:        3156    nsects:          11157    flags:           0158    Sections:        159      - sectname:        __debug_line160        segname:         __DWARF161        addr:            0x0000000100003000162        size:            69163        offset:          0x00002000164        align:           0165        reloff:          0x00000000166        nreloc:          0167        flags:           0x00000000168        reserved1:       0x00000000169        reserved2:       0x00000000170        reserved3:       0x00000000171      - sectname:        __debug_pubnames172        segname:         __DWARF173        addr:            0x0000000100003045174        size:            27175        offset:          0x00002045176        align:           0177        reloff:          0x00000000178        nreloc:          0179        flags:           0x00000000180        reserved1:       0x00000000181        reserved2:       0x00000000182        reserved3:       0x00000000183      - sectname:        __debug_pubtypes184        segname:         __DWARF185        addr:            0x0000000100003060186        size:            35187        offset:          0x00002060188        align:           0189        reloff:          0x00000000190        nreloc:          0191        flags:           0x00000000192        reserved1:       0x00000000193        reserved2:       0x00000000194        reserved3:       0x00000000195      - sectname:        __debug_info196        segname:         __DWARF197        addr:            0x00000001000030B3198        size:            121199        offset:          0x000020B3200        align:           0201        reloff:          0x00000000202        nreloc:          0203        flags:           0x00000000204        reserved1:       0x00000000205        reserved2:       0x00000000206        reserved3:       0x00000000207      - sectname:        __debug_abbrev208        segname:         __DWARF209        addr:            0x000000010000312C210        size:            76211        offset:          0x0000212C212        align:           0213        reloff:          0x00000000214        nreloc:          0215        flags:           0x00000000216        reserved1:       0x00000000217        reserved2:       0x00000000218        reserved3:       0x00000000219      - sectname:        __debug_str220        segname:         __DWARF221        addr:            0x0000000100003178222        size:            142223        offset:          0x00002178224        align:           0225        reloff:          0x00000000226        nreloc:          0227        flags:           0x00000000228        reserved1:       0x00000000229        reserved2:       0x00000000230        reserved3:       0x00000000231      - sectname:        __apple_names232        segname:         __DWARF233        addr:            0x0000000100003206234        size:            60235        offset:          0x00002206236        align:           0237        reloff:          0x00000000238        nreloc:          0239        flags:           0x00000000240        reserved1:       0x00000000241        reserved2:       0x00000000242        reserved3:       0x00000000243      - sectname:        __apple_namespac244        segname:         __DWARF245        addr:            0x0000000100003242246        size:            36247        offset:          0x00002242248        align:           0249        reloff:          0x00000000250        nreloc:          0251        flags:           0x00000000252        reserved1:       0x00000000253        reserved2:       0x00000000254        reserved3:       0x00000000255      - sectname:        __apple_types256        segname:         __DWARF257        addr:            0x0000000100003266258        size:            114259        offset:          0x00002266260        align:           0261        reloff:          0x00000000262        nreloc:          0263        flags:           0x00000000264        reserved1:       0x00000000265        reserved2:       0x00000000266        reserved3:       0x00000000267      - sectname:        __apple_objc268        segname:         __DWARF269        addr:            0x00000001000032D8270        size:            36271        offset:          0x000022D8272        align:           0273        reloff:          0x00000000274        nreloc:          0275        flags:           0x00000000276        reserved1:       0x00000000277        reserved2:       0x00000000278        reserved3:       0x00000000279DWARF:           280  debug_abbrev:     281    - Table:282        - Code:            0x00000001283          Tag:             DW_TAG_compile_unit284          Children:        DW_CHILDREN_yes285          Attributes:      286            - Attribute:       DW_AT_producer287              Form:            DW_FORM_strp288            - Attribute:       DW_AT_language289              Form:            DW_FORM_data2290            - Attribute:       DW_AT_name291              Form:            DW_FORM_strp292            - Attribute:       DW_AT_stmt_list293              Form:            DW_FORM_sec_offset294            - Attribute:       DW_AT_comp_dir295              Form:            DW_FORM_strp296            - Attribute:       DW_AT_low_pc297              Form:            DW_FORM_addr298            - Attribute:       DW_AT_high_pc299              Form:            DW_FORM_data4300        - Code:            0x00000002301          Tag:             DW_TAG_subprogram302          Children:        DW_CHILDREN_yes303          Attributes:      304            - Attribute:       DW_AT_low_pc305              Form:            DW_FORM_addr306            - Attribute:       DW_AT_high_pc307              Form:            DW_FORM_data4308            - Attribute:       DW_AT_frame_base309              Form:            DW_FORM_exprloc310            - Attribute:       DW_AT_name311              Form:            DW_FORM_strp312            - Attribute:       DW_AT_decl_file313              Form:            DW_FORM_data1314            - Attribute:       DW_AT_decl_line315              Form:            DW_FORM_data1316            - Attribute:       DW_AT_prototyped317              Form:            DW_FORM_flag_present318            - Attribute:       DW_AT_type319              Form:            DW_FORM_ref4320            - Attribute:       DW_AT_external321              Form:            DW_FORM_flag_present322        - Code:            0x00000003323          Tag:             DW_TAG_formal_parameter324          Children:        DW_CHILDREN_no325          Attributes:      326            - Attribute:       DW_AT_location327              Form:            DW_FORM_exprloc328            - Attribute:       DW_AT_name329              Form:            DW_FORM_strp330            - Attribute:       DW_AT_decl_file331              Form:            DW_FORM_data1332            - Attribute:       DW_AT_decl_line333              Form:            DW_FORM_data1334            - Attribute:       DW_AT_type335              Form:            DW_FORM_ref4336        - Code:            0x00000004337          Tag:             DW_TAG_base_type338          Children:        DW_CHILDREN_no339          Attributes:      340            - Attribute:       DW_AT_name341              Form:            DW_FORM_strp342            - Attribute:       DW_AT_encoding343              Form:            DW_FORM_data1344            - Attribute:       DW_AT_byte_size345              Form:            DW_FORM_data1346        - Code:            0x00000005347          Tag:             DW_TAG_pointer_type348          Children:        DW_CHILDREN_no349          Attributes:      350            - Attribute:       DW_AT_type351              Form:            DW_FORM_ref4352...353 354#CHECK: DWARF:           355#CHECK:   debug_abbrev:     356#CHECK:     - Code:            0x1357#CHECK:       Tag:             DW_TAG_compile_unit358#CHECK:       Children:        DW_CHILDREN_yes359#CHECK:       Attributes:      360#CHECK:         - Attribute:       DW_AT_producer361#CHECK:           Form:            DW_FORM_strp362#CHECK:         - Attribute:       DW_AT_language363#CHECK:           Form:            DW_FORM_data2364#CHECK:         - Attribute:       DW_AT_name365#CHECK:           Form:            DW_FORM_strp366#CHECK:         - Attribute:       DW_AT_stmt_list367#CHECK:           Form:            DW_FORM_sec_offset368#CHECK:         - Attribute:       DW_AT_comp_dir369#CHECK:           Form:            DW_FORM_strp370#CHECK:         - Attribute:       DW_AT_low_pc371#CHECK:           Form:            DW_FORM_addr372#CHECK:         - Attribute:       DW_AT_high_pc373#CHECK:           Form:            DW_FORM_data4374#CHECK:     - Code:            0x2375#CHECK:       Tag:             DW_TAG_subprogram376#CHECK:       Children:        DW_CHILDREN_yes377#CHECK:       Attributes:      378#CHECK:         - Attribute:       DW_AT_low_pc379#CHECK:           Form:            DW_FORM_addr380#CHECK:         - Attribute:       DW_AT_high_pc381#CHECK:           Form:            DW_FORM_data4382#CHECK:         - Attribute:       DW_AT_frame_base383#CHECK:           Form:            DW_FORM_exprloc384#CHECK:         - Attribute:       DW_AT_name385#CHECK:           Form:            DW_FORM_strp386#CHECK:         - Attribute:       DW_AT_decl_file387#CHECK:           Form:            DW_FORM_data1388#CHECK:         - Attribute:       DW_AT_decl_line389#CHECK:           Form:            DW_FORM_data1390#CHECK:         - Attribute:       DW_AT_prototyped391#CHECK:           Form:            DW_FORM_flag_present392#CHECK:         - Attribute:       DW_AT_type393#CHECK:           Form:            DW_FORM_ref4394#CHECK:         - Attribute:       DW_AT_external395#CHECK:           Form:            DW_FORM_flag_present396#CHECK:     - Code:            0x3397#CHECK:       Tag:             DW_TAG_formal_parameter398#CHECK:       Children:        DW_CHILDREN_no399#CHECK:       Attributes:      400#CHECK:         - Attribute:       DW_AT_location401#CHECK:           Form:            DW_FORM_exprloc402#CHECK:         - Attribute:       DW_AT_name403#CHECK:           Form:            DW_FORM_strp404#CHECK:         - Attribute:       DW_AT_decl_file405#CHECK:           Form:            DW_FORM_data1406#CHECK:         - Attribute:       DW_AT_decl_line407#CHECK:           Form:            DW_FORM_data1408#CHECK:         - Attribute:       DW_AT_type409#CHECK:           Form:            DW_FORM_ref4410#CHECK:     - Code:            0x4411#CHECK:       Tag:             DW_TAG_base_type412#CHECK:       Children:        DW_CHILDREN_no413#CHECK:       Attributes:      414#CHECK:         - Attribute:       DW_AT_name415#CHECK:           Form:            DW_FORM_strp416#CHECK:         - Attribute:       DW_AT_encoding417#CHECK:           Form:            DW_FORM_data1418#CHECK:         - Attribute:       DW_AT_byte_size419#CHECK:           Form:            DW_FORM_data1420#CHECK:     - Code:            0x5421#CHECK:       Tag:             DW_TAG_pointer_type422#CHECK:       Children:        DW_CHILDREN_no423#CHECK:       Attributes:      424#CHECK:         - Attribute:       DW_AT_type425#CHECK:           Form:            DW_FORM_ref4426 427## b) Test that yaml2obj emits an error message when there are non-empty compilation428## units and multiple abbrev tables are assigned the same ID.429 430# RUN: not yaml2obj --docnum=2 %s 2>&1 | FileCheck %s --check-prefix=ID-COLLISION431 432# ID-COLLISION: yaml2obj: error: the ID (1) of abbrev table with index 1 has been used by abbrev table with index 0433 434--- !mach-o435FileHeader:436  magic:      0xFEEDFACF437  cputype:    0x01000007438  cpusubtype: 0x00000003439  filetype:   0x0000000A440  ncmds:      1441  sizeofcmds: 232442  flags:      0x00000000443  reserved:   0x00000000444LoadCommands:445  - cmd:      LC_SEGMENT_64446    cmdsize:  232447    segname:  __DWARF448    vmaddr:   0x00449    vmsize:   0x00450    fileoff:  0x00451    filesize: 0x00452    maxprot:  0453    initprot: 0454    nsects:   2455    flags:    0456    Sections:457      - sectname:  __debug_abbrev458        segname:   __DWARF459        addr:      0x00460        size:      24461        offset:    528462        align:     0463        reloff:    0x00000000464        nreloc:    0465        flags:     0x00000000466        reserved1: 0x00000000467        reserved2: 0x00000000468        reserved3: 0x00000000469      - sectname:  __debug_info470        segname:   __DWARF471        addr:      0x00472        size:      64473        offset:    1070474        align:     0475        reloff:    0x00000000476        nreloc:    0477        flags:     0x00000000478        reserved1: 0x00000000479        reserved2: 0x00000000480        reserved3: 0x00000000481DWARF:482  debug_abbrev:483    - ID: 1484    - ID: 1485  debug_info:486    - Version:    4487      AbbrOffset: 0x00488      Entries:489        - AbbrCode: 1490          Values:491            - Value: 0x1234492