brintos

brintos / llvm-project-archived public Read only

0
0
Text · 29.2 KiB · f3124e5 Raw
911 lines · yaml
1## This file contains test cases for generating a DAWRFv4 .debug_info2## section in object files from the DWARF entry of Mach-O YAML inputs.3 4## a) Test that yaml2obj emits a DWARF32 .debug_info sections and obj2yaml5## converts it back.6 7# RUN: yaml2obj --docnum=1 %s | obj2yaml | FileCheck %s --check-prefix=DWARF328 9--- !mach-o10FileHeader:      11  magic:           0xFEEDFACF12  cputype:         0x0100000713  cpusubtype:      0x0000000314  filetype:        0x0000000A15  ncmds:           516  sizeofcmds:      180017  flags:           0x0000000018  reserved:        0x0000000019LoadCommands:    20  - cmd:             LC_SEGMENT_6421    cmdsize:         7222    segname:         __PAGEZERO23    vmaddr:          024    vmsize:          429496729625    fileoff:         026    filesize:        027    maxprot:         028    initprot:        029    nsects:          030    flags:           031  - cmd:             LC_SEGMENT_6432    cmdsize:         47233    segname:         __TEXT34    vmaddr:          429496729635    vmsize:          409636    fileoff:         037    filesize:        038    maxprot:         739    initprot:        540    nsects:          541    flags:           042    Sections:        43      - sectname:        __text44        segname:         __TEXT45        addr:            0x0000000100000F5046        size:            5247        offset:          0x0000000048        align:           449        reloff:          0x0000000050        nreloc:          051        flags:           0x8000040052        reserved1:       0x0000000053        reserved2:       0x0000000054        reserved3:       0x0000000055      - sectname:        __stubs56        segname:         __TEXT57        addr:            0x0000000100000F8458        size:            659        offset:          0x0000000060        align:           161        reloff:          0x0000000062        nreloc:          063        flags:           0x8000040864        reserved1:       0x0000000065        reserved2:       0x0000000666        reserved3:       0x0000000067      - sectname:        __stub_helper68        segname:         __TEXT69        addr:            0x0000000100000F8C70        size:            2671        offset:          0x0000000072        align:           273        reloff:          0x0000000074        nreloc:          075        flags:           0x8000040076        reserved1:       0x0000000077        reserved2:       0x0000000078        reserved3:       0x0000000079      - sectname:        __cstring80        segname:         __TEXT81        addr:            0x0000000100000FA682        size:            1483        offset:          0x0000000084        align:           085        reloff:          0x0000000086        nreloc:          087        flags:           0x0000000288        reserved1:       0x0000000089        reserved2:       0x0000000090        reserved3:       0x0000000091      - sectname:        __unwind_info92        segname:         __TEXT93        addr:            0x0000000100000FB494        size:            7295        offset:          0x0000000096        align:           297        reloff:          0x0000000098        nreloc:          099        flags:           0x00000000100        reserved1:       0x00000000101        reserved2:       0x00000000102        reserved3:       0x00000000103  - cmd:             LC_SEGMENT_64104    cmdsize:         232105    segname:         __DATA106    vmaddr:          4294971392107    vmsize:          4096108    fileoff:         0109    filesize:        0110    maxprot:         7111    initprot:        3112    nsects:          2113    flags:           0114    Sections:        115      - sectname:        __nl_symbol_ptr116        segname:         __DATA117        addr:            0x0000000100001000118        size:            16119        offset:          0x00000000120        align:           3121        reloff:          0x00000000122        nreloc:          0123        flags:           0x00000006124        reserved1:       0x00000001125        reserved2:       0x00000000126        reserved3:       0x00000000127      - sectname:        __la_symbol_ptr128        segname:         __DATA129        addr:            0x0000000100001010130        size:            8131        offset:          0x00000000132        align:           3133        reloff:          0x00000000134        nreloc:          0135        flags:           0x00000007136        reserved1:       0x00000003137        reserved2:       0x00000000138        reserved3:       0x00000000139  - cmd:             LC_SEGMENT_64140    cmdsize:         72141    segname:         __LINKEDIT142    vmaddr:          4294975488143    vmsize:          4096144    fileoff:         4096145    filesize:        60146    maxprot:         7147    initprot:        1148    nsects:          0149    flags:           0150  - cmd:             LC_SEGMENT_64151    cmdsize:         952152    segname:         __DWARF153    vmaddr:          4294979584154    vmsize:          4096155    fileoff:         8192156    filesize:        764157    maxprot:         7158    initprot:        3159    nsects:          11160    flags:           0161    Sections:        162      - sectname:        __debug_line163        segname:         __DWARF164        addr:            0x0000000100003000165        size:            69166        offset:          0x00002000167        align:           0168        reloff:          0x00000000169        nreloc:          0170        flags:           0x00000000171        reserved1:       0x00000000172        reserved2:       0x00000000173        reserved3:       0x00000000174      - sectname:        __debug_pubnames175        segname:         __DWARF176        addr:            0x0000000100003045177        size:            27178        offset:          0x00002045179        align:           0180        reloff:          0x00000000181        nreloc:          0182        flags:           0x00000000183        reserved1:       0x00000000184        reserved2:       0x00000000185        reserved3:       0x00000000186      - sectname:        __debug_pubtypes187        segname:         __DWARF188        addr:            0x0000000100003060189        size:            35190        offset:          0x00002060191        align:           0192        reloff:          0x00000000193        nreloc:          0194        flags:           0x00000000195        reserved1:       0x00000000196        reserved2:       0x00000000197        reserved3:       0x00000000198      - sectname:        __debug_aranges199        segname:         __DWARF200        addr:            0x0000000100003083201        size:            48202        offset:          0x00002083203        align:           0204        reloff:          0x00000000205        nreloc:          0206        flags:           0x00000000207        reserved1:       0x00000000208        reserved2:       0x00000000209        reserved3:       0x00000000210      - sectname:        __debug_info211        segname:         __DWARF212        addr:            0x00000001000030B3213        size:            121214        offset:          0x000020B3215        align:           0216        reloff:          0x00000000217        nreloc:          0218        flags:           0x00000000219        reserved1:       0x00000000220        reserved2:       0x00000000221        reserved3:       0x00000000222      - sectname:        __debug_abbrev223        segname:         __DWARF224        addr:            0x000000010000312C225        size:            76226        offset:          0x0000212C227        align:           0228        reloff:          0x00000000229        nreloc:          0230        flags:           0x00000000231        reserved1:       0x00000000232        reserved2:       0x00000000233        reserved3:       0x00000000234      - sectname:        __debug_str235        segname:         __DWARF236        addr:            0x0000000100003178237        size:            142238        offset:          0x00002178239        align:           0240        reloff:          0x00000000241        nreloc:          0242        flags:           0x00000000243        reserved1:       0x00000000244        reserved2:       0x00000000245        reserved3:       0x00000000246      - sectname:        __apple_names247        segname:         __DWARF248        addr:            0x0000000100003206249        size:            60250        offset:          0x00002206251        align:           0252        reloff:          0x00000000253        nreloc:          0254        flags:           0x00000000255        reserved1:       0x00000000256        reserved2:       0x00000000257        reserved3:       0x00000000258      - sectname:        __apple_namespac259        segname:         __DWARF260        addr:            0x0000000100003242261        size:            36262        offset:          0x00002242263        align:           0264        reloff:          0x00000000265        nreloc:          0266        flags:           0x00000000267        reserved1:       0x00000000268        reserved2:       0x00000000269        reserved3:       0x00000000270      - sectname:        __apple_types271        segname:         __DWARF272        addr:            0x0000000100003266273        size:            114274        offset:          0x00002266275        align:           0276        reloff:          0x00000000277        nreloc:          0278        flags:           0x00000000279        reserved1:       0x00000000280        reserved2:       0x00000000281        reserved3:       0x00000000282      - sectname:        __apple_objc283        segname:         __DWARF284        addr:            0x00000001000032D8285        size:            36286        offset:          0x000022D8287        align:           0288        reloff:          0x00000000289        nreloc:          0290        flags:           0x00000000291        reserved1:       0x00000000292        reserved2:       0x00000000293        reserved3:       0x00000000294LinkEditData:    295  NameList:        296    - n_strx:          2297      n_type:          0x0F298      n_sect:          1299      n_desc:          16300      n_value:         4294967296301    - n_strx:          22302      n_type:          0x0F303      n_sect:          1304      n_desc:          0305      n_value:         4294971216306  StringTable:     307    - ''308    - ''309    - __mh_execute_header310    - _main311DWARF:           312  debug_abbrev:    313    - Table:314        - Code:            0x00000001315          Tag:             DW_TAG_compile_unit316          Children:        DW_CHILDREN_yes317          Attributes:318            - Attribute:       DW_AT_producer319              Form:            DW_FORM_strp320            - Attribute:       DW_AT_language321              Form:            DW_FORM_data2322            - Attribute:       DW_AT_name323              Form:            DW_FORM_strp324            - Attribute:       DW_AT_stmt_list325              Form:            DW_FORM_sec_offset326            - Attribute:       DW_AT_comp_dir327              Form:            DW_FORM_strp328            - Attribute:       DW_AT_low_pc329              Form:            DW_FORM_addr330            - Attribute:       DW_AT_high_pc331              Form:            DW_FORM_data4332        - Code:            0x00000002333          Tag:             DW_TAG_subprogram334          Children:        DW_CHILDREN_yes335          Attributes:336            - Attribute:       DW_AT_low_pc337              Form:            DW_FORM_addr338            - Attribute:       DW_AT_high_pc339              Form:            DW_FORM_data4340            - Attribute:       DW_AT_frame_base341              Form:            DW_FORM_exprloc342            - Attribute:       DW_AT_name343              Form:            DW_FORM_strp344            - Attribute:       DW_AT_decl_file345              Form:            DW_FORM_data1346            - Attribute:       DW_AT_decl_line347              Form:            DW_FORM_data1348            - Attribute:       DW_AT_prototyped349              Form:            DW_FORM_flag_present350            - Attribute:       DW_AT_type351              Form:            DW_FORM_ref4352            - Attribute:       DW_AT_external353              Form:            DW_FORM_flag_present354        - Code:            0x00000003355          Tag:             DW_TAG_formal_parameter356          Children:        DW_CHILDREN_no357          Attributes:358            - Attribute:       DW_AT_location359              Form:            DW_FORM_exprloc360            - Attribute:       DW_AT_name361              Form:            DW_FORM_strp362            - Attribute:       DW_AT_decl_file363              Form:            DW_FORM_data1364            - Attribute:       DW_AT_decl_line365              Form:            DW_FORM_data1366            - Attribute:       DW_AT_type367              Form:            DW_FORM_ref4368        - Code:            0x00000004369          Tag:             DW_TAG_base_type370          Children:        DW_CHILDREN_no371          Attributes:372            - Attribute:       DW_AT_name373              Form:            DW_FORM_strp374            - Attribute:       DW_AT_encoding375              Form:            DW_FORM_data1376            - Attribute:       DW_AT_byte_size377              Form:            DW_FORM_data1378        - Code:            0x00000005379          Tag:             DW_TAG_pointer_type380          Children:        DW_CHILDREN_no381          Attributes:382            - Attribute:       DW_AT_type383              Form:            DW_FORM_ref4384  debug_aranges:   385    - Length:              44386      Version:             2387      CuOffset:            0388      AddressSize:         8389      SegmentSelectorSize: 0390      Descriptors:     391        - Address:         0x0000000100000F50392          Length:          52393  debug_info:      394    - Length:          117395      Version:         4396      AbbrOffset:      0397      AddrSize:        8398      Entries:         399        - AbbrCode:        0x00000001400          Values:          401            - Value:           0x0000000000000001402            - Value:           0x000000000000000C403            - Value:           0x0000000000000038404            - Value:           0x0000000000000000405            - Value:           0x0000000000000046406            - Value:           0x0000000100000F50407            - Value:           0x0000000000000034408        - AbbrCode:        0x00000002409          Values:          410            - Value:           0x0000000100000F50411            - Value:           0x0000000000000034412            - Value:           0x0000000000000001413              BlockData:       414                - 0x56415            - Value:           0x0000000000000076416            - Value:           0x0000000000000001417            - Value:           0x0000000000000003418            - Value:           0x0000000000000001419            - Value:           0x0000000000000060420            - Value:           0x0000000000000001421        - AbbrCode:        0x00000003422          Values:          423            - Value:           0x0000000000000002424              BlockData:       425                - 0x91426                - 0x78427            - Value:           0x000000000000007B428            - Value:           0x0000000000000001429            - Value:           0x0000000000000003430            - Value:           0x0000000000000060431        - AbbrCode:        0x00000003432          Values:          433            - Value:           0x0000000000000002434              BlockData:       435                - 0x91436                - 0x70437            - Value:           0x0000000000000080438            - Value:           0x0000000000000001439            - Value:           0x0000000000000003440            - Value:           0x0000000000000067441        - AbbrCode:        0x00000000442        - AbbrCode:        0x00000004443          Values:          444            - Value:           0x0000000000000085445            - Value:           0x0000000000000005446            - Value:           0x0000000000000004447        - AbbrCode:        0x00000005448          Values:          449            - Value:           0x000000000000006C450        - AbbrCode:        0x00000005451          Values:          452            - Value:           0x0000000000000071453        - AbbrCode:        0x00000004454          Values:          455            - Value:           0x0000000000000089456            - Value:           0x0000000000000006457            - Value:           0x0000000000000001458        - AbbrCode:        0x00000000459  debug_line:      460    - Length:          65461      Version:         2462      PrologueLength:  36463      MinInstLength:   1464      DefaultIsStmt:   1465      LineBase:        251466      LineRange:       14467      OpcodeBase:      13468      StandardOpcodeLengths: 469        - 0470        - 1471        - 1472        - 1473        - 1474        - 0475        - 0476        - 0477        - 1478        - 0479        - 0480        - 1481      Files:           482        - Name:            hello_world.c483          DirIdx:          0484          ModTime:         0485          Length:          0486      Opcodes:         487        - Opcode:          DW_LNS_extended_op488          ExtLen:          9489          SubOpcode:       DW_LNE_set_address490          Data:            4294971216491        - Opcode:          0x14492          Data:            4294971216493        - Opcode:          DW_LNS_set_column494          Data:            3495        - Opcode:          DW_LNS_set_prologue_end496          Data:            3497        - Opcode:          DW_LNS_const_add_pc498          Data:            3499        - Opcode:          0xBB500          Data:            3501        - Opcode:          0xBB502          Data:            3503        - Opcode:          DW_LNS_advance_pc504          Data:            11505        - Opcode:          DW_LNS_extended_op506          ExtLen:          1507          SubOpcode:       DW_LNE_end_sequence508          Data:            11509...510...511 512#      DWARF32: DWARF:513#      DWARF32:   debug_info:514# DWARF32-NEXT:     - Length:        0x75515# DWARF32-NEXT:       Version:       4516# DWARF32-NEXT:       AbbrevTableID: 0517# DWARF32-NEXT:       AbbrOffset:    0518# DWARF32-NEXT:       AddrSize:      8519# DWARF32-NEXT:       Entries:520# DWARF32-NEXT:         - AbbrCode: 0x1521# DWARF32-NEXT:           Values:522# DWARF32-NEXT:             - Value: 0x1523# DWARF32-NEXT:             - Value: 0xC524# DWARF32-NEXT:             - Value: 0x38525# DWARF32-NEXT:             - Value: 0x0526# DWARF32-NEXT:             - Value: 0x46527# DWARF32-NEXT:             - Value: 0x100000F50528# DWARF32-NEXT:             - Value: 0x34529# DWARF32-NEXT:         - AbbrCode: 0x2530# DWARF32-NEXT:           Values:531# DWARF32-NEXT:             - Value: 0x100000F50532# DWARF32-NEXT:             - Value: 0x34533# DWARF32-NEXT:             - Value: 0x1534# DWARF32-NEXT:               BlockData: [ 0x56 ]535# DWARF32-NEXT:             - Value: 0x76536# DWARF32-NEXT:             - Value: 0x1537# DWARF32-NEXT:             - Value: 0x3538# DWARF32-NEXT:             - Value: 0x1539# DWARF32-NEXT:             - Value: 0x60540# DWARF32-NEXT:             - Value: 0x1541# DWARF32-NEXT:         - AbbrCode:        0x3542# DWARF32-NEXT:           Values:543# DWARF32-NEXT:             - Value: 0x2544# DWARF32-NEXT:               BlockData: [ 0x91, 0x78 ]545# DWARF32-NEXT:             - Value: 0x7B546# DWARF32-NEXT:             - Value: 0x1547# DWARF32-NEXT:             - Value: 0x3548# DWARF32-NEXT:             - Value: 0x60549# DWARF32-NEXT:         - AbbrCode: 0x3550# DWARF32-NEXT:           Values:551# DWARF32-NEXT:             - Value: 0x2552# DWARF32-NEXT:               BlockData: [ 0x91, 0x70 ]553# DWARF32-NEXT:             - Value: 0x80554# DWARF32-NEXT:             - Value: 0x1555# DWARF32-NEXT:             - Value: 0x3556# DWARF32-NEXT:             - Value: 0x67557# DWARF32-NEXT:         - AbbrCode: 0x0558# DWARF32-NEXT:         - AbbrCode: 0x4559# DWARF32-NEXT:           Values:560# DWARF32-NEXT:             - Value: 0x85561# DWARF32-NEXT:             - Value: 0x5562# DWARF32-NEXT:             - Value: 0x4563# DWARF32-NEXT:         - AbbrCode: 0x5564# DWARF32-NEXT:           Values:565# DWARF32-NEXT:             - Value: 0x6C566# DWARF32-NEXT:         - AbbrCode: 0x5567# DWARF32-NEXT:           Values:568# DWARF32-NEXT:             - Value: 0x71569# DWARF32-NEXT:         - AbbrCode: 0x4570# DWARF32-NEXT:           Values:571# DWARF32-NEXT:             - Value: 0x89572# DWARF32-NEXT:             - Value: 0x6573# DWARF32-NEXT:             - Value: 0x1574# DWARF32-NEXT:         - AbbrCode: 0x0575 576## b) Test that yaml2obj emits a correct unit header and obj2yaml is able to convert it back.577 578## Test DWARF32 unit header.579 580# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF32 %s | \581# RUN:   obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML582 583#      DWARF32-YAML: debug_info:584# DWARF32-YAML-NEXT:   - Length:        0xC585# DWARF32-YAML-NEXT:     Version:       4586# DWARF32-YAML-NEXT:     AbbrevTableID: 0587# DWARF32-YAML-NEXT:     AbbrOffset:    0588# DWARF32-YAML-NEXT:     AddrSize:      8589# DWARF32-YAML-NEXT:     Entries:590# DWARF32-YAML-NEXT:       - AbbrCode: 0x1591# DWARF32-YAML-NEXT:         Values:592# DWARF32-YAML-NEXT:           - Value: 0x1234593 594--- !mach-o595FileHeader:596  magic:      0xFEEDFACF597  cputype:    0x01000007598  cpusubtype: 0x00000003599  filetype:   0x0000000A600  ncmds:      1601  sizeofcmds: 232602  flags:      0x00000000603  reserved:   0x00000000604LoadCommands:605  - cmd:      LC_SEGMENT_64606    cmdsize:  232607    segname:  __DWARF608    vmaddr:   0x00609    vmsize:   0x00610    fileoff:  0x00611    filesize: 0x00612    maxprot:  0613    initprot: 0614    nsects:   2615    flags:    0616    Sections:617      - sectname:  __debug_abbrev618        segname:   __DWARF619        addr:      0x00620        size:      12621        offset:    528622        align:     0623        reloff:    0x00000000624        nreloc:    0625        flags:     0x00000000626        reserved1: 0x00000000627        reserved2: 0x00000000628        reserved3: 0x00000000629      - sectname:  __debug_info630        segname:   __DWARF631        addr:      0x00632        size:      0xffff633        offset:    1070634        align:     0635        reloff:    0x00000000636        nreloc:    0637        flags:     0x00000000638        reserved1: 0x00000000639        reserved2: 0x00000000640        reserved3: 0x00000000641DWARF:642  debug_abbrev:643    - Table:644        - Code:     1645          Tag:      DW_TAG_compile_unit646          Children: DW_CHILDREN_no647          Attributes:648            - Attribute: DW_AT_low_pc649              Form:      DW_FORM_addr650  debug_info:651    - Format:     [[FORMAT]]652      Length:     12653      Version:    4654      AbbrOffset: 0655      AddrSize:   8656      Entries:657        - AbbrCode: 1658          Values:659            - Value: 0x1234660 661## Test DWARF64 unit header.662 663# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF64 %s | \664# RUN:   obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML665 666#      DWARF64-YAML: debug_info:667# DWARF64-YAML-NEXT:   - Format:        DWARF64668# DWARF64-YAML-NEXT:     Length:        0xC669# DWARF64-YAML-NEXT:     Version:       4670# DWARF64-YAML-NEXT:     AbbrevTableID: 0671# DWARF64-YAML-NEXT:     AbbrOffset:    0672# DWARF64-YAML-NEXT:     AddrSize:      8673# DWARF64-YAML-NEXT:     Entries:674# DWARF64-YAML-NEXT:       - AbbrCode: 0x1675# DWARF64-YAML-NEXT:         Values:676# DWARF64-YAML-NEXT:           - Value: 0x1234677 678## c) Test that yaml2obj is able to generate compilation units according to the679## associated abbrev table that is referenced by the 'AbbrevTableID' and obj2yaml680## is able to convert it back.681 682# RUN: yaml2obj --docnum=3 %s | obj2yaml | FileCheck %s --check-prefix=MULTI-TABLES683 684#      MULTI-TABLES: DWARF:685# MULTI-TABLES-NEXT:   debug_abbrev:686# MULTI-TABLES-NEXT:     - ID: 0687# MULTI-TABLES-NEXT:       Table:688# MULTI-TABLES-NEXT:         - Code:     0x1689# MULTI-TABLES-NEXT:           Tag:      DW_TAG_compile_unit690# MULTI-TABLES-NEXT:           Children: DW_CHILDREN_no691# MULTI-TABLES-NEXT:           Attributes:692# MULTI-TABLES-NEXT:             - Attribute: DW_AT_low_pc693# MULTI-TABLES-NEXT:               Form:      DW_FORM_addr694# MULTI-TABLES-NEXT:     - ID: 1695# MULTI-TABLES-NEXT:       Table:696# MULTI-TABLES-NEXT:         - Code:     0x1697# MULTI-TABLES-NEXT:           Tag:      DW_TAG_compile_unit698# MULTI-TABLES-NEXT:           Children: DW_CHILDREN_no699# MULTI-TABLES-NEXT:           Attributes:700# MULTI-TABLES-NEXT:             - Attribute: DW_AT_low_pc701# MULTI-TABLES-NEXT:               Form:      DW_FORM_data4702# MULTI-TABLES-NEXT:         - Code:     0x2703# MULTI-TABLES-NEXT:           Tag:      DW_TAG_compile_unit704# MULTI-TABLES-NEXT:           Children: DW_CHILDREN_no705# MULTI-TABLES-NEXT:           Attributes:706# MULTI-TABLES-NEXT:             - Attribute: DW_AT_low_pc707# MULTI-TABLES-NEXT:               Form:      DW_FORM_data4708# MULTI-TABLES-NEXT:     - ID: 2709# MULTI-TABLES-NEXT:       Table:710# MULTI-TABLES-NEXT:         - Code:     0x1711# MULTI-TABLES-NEXT:           Tag:      DW_TAG_compile_unit712# MULTI-TABLES-NEXT:           Children: DW_CHILDREN_no713# MULTI-TABLES-NEXT:           Attributes:714# MULTI-TABLES-NEXT:             - Attribute: DW_AT_low_pc715# MULTI-TABLES-NEXT:               Form:      DW_FORM_udata716# MULTI-TABLES-NEXT:     - ID: 3717# MULTI-TABLES-NEXT:   debug_info:718# MULTI-TABLES-NEXT:     - Length:        0xC719# MULTI-TABLES-NEXT:       Version:       4720# MULTI-TABLES-NEXT:       AbbrevTableID: 1721# MULTI-TABLES-NEXT:       AbbrOffset:    0x8722# MULTI-TABLES-NEXT:       AddrSize:      8723# MULTI-TABLES-NEXT:       Entries:724# MULTI-TABLES-NEXT:         - AbbrCode: 0x1725# MULTI-TABLES-NEXT:           Values:726# MULTI-TABLES-NEXT:             - Value: 0x1234727# MULTI-TABLES-NEXT:     - Length:        0xC728# MULTI-TABLES-NEXT:       Version:       4729# MULTI-TABLES-NEXT:       AbbrevTableID: 1730# MULTI-TABLES-NEXT:       AbbrOffset:    0x8731# MULTI-TABLES-NEXT:       AddrSize:      8732# MULTI-TABLES-NEXT:       Entries:733# MULTI-TABLES-NEXT:         - AbbrCode: 0x1734# MULTI-TABLES-NEXT:           Values:735# MULTI-TABLES-NEXT:             - Value: 0x4321736# MULTI-TABLES-NEXT:     - Length:        0x10737# MULTI-TABLES-NEXT:       Version:       4738# MULTI-TABLES-NEXT:       AbbrevTableID: 0739# MULTI-TABLES-NEXT:       AbbrOffset:    0x0740# MULTI-TABLES-NEXT:       AddrSize:      8741# MULTI-TABLES-NEXT:       Entries:742# MULTI-TABLES-NEXT:         - AbbrCode: 0x1743# MULTI-TABLES-NEXT:           Values:744# MULTI-TABLES-NEXT:             - Value: 0x5678745# MULTI-TABLES-NEXT:     - Length:        0xB746# MULTI-TABLES-NEXT:       Version:       4747# MULTI-TABLES-NEXT:       AbbrevTableID: 2748# MULTI-TABLES-NEXT:       AbbrOffset:    0x17749# MULTI-TABLES-NEXT:       AddrSize:      8750# MULTI-TABLES-NEXT:       Entries:751# MULTI-TABLES-NEXT:         - AbbrCode: 0x1752# MULTI-TABLES-NEXT:           Values:753# MULTI-TABLES-NEXT:             - Value: 0x8765754# MULTI-TABLES-NEXT: ...755 756--- !mach-o757FileHeader:758  magic:      0xFEEDFACF759  cputype:    0x01000007760  cpusubtype: 0x00000003761  filetype:   0x0000000A762  ncmds:      1763  sizeofcmds: 232764  flags:      0x00000000765  reserved:   0x00000000766LoadCommands:767  - cmd:      LC_SEGMENT_64768    cmdsize:  232769    segname:  __DWARF770    vmaddr:   0x00771    vmsize:   0x00772    fileoff:  0x00773    filesize: 0x00774    maxprot:  0775    initprot: 0776    nsects:   2777    flags:    0778    Sections:779      - sectname:  __debug_abbrev780        segname:   __DWARF781        addr:      0x00782        size:      32783        offset:    528784        align:     0785        reloff:    0x00000000786        nreloc:    0787        flags:     0x00000000788        reserved1: 0x00000000789        reserved2: 0x00000000790        reserved3: 0x00000000791      - sectname:  __debug_info792        segname:   __DWARF793        addr:      0x00794        size:      67795        offset:    1070796        align:     0797        reloff:    0x00000000798        nreloc:    0799        flags:     0x00000000800        reserved1: 0x00000000801        reserved2: 0x00000000802        reserved3: 0x00000000803DWARF:804  debug_abbrev:805    - Table:806        - Code:     1807          Tag:      DW_TAG_compile_unit808          Children: DW_CHILDREN_no809          Attributes:810            - Attribute: DW_AT_low_pc811              Form:      DW_FORM_addr812    - ID: 2813      Table:814        - Code:     1815          Tag:      DW_TAG_compile_unit816          Children: DW_CHILDREN_no817          Attributes:818            - Attribute: DW_AT_low_pc819              Form:      DW_FORM_data4820        - Code:     2821          Tag:      DW_TAG_compile_unit822          Children: DW_CHILDREN_no823          Attributes:824            - Attribute: DW_AT_low_pc825              Form:      DW_FORM_data4826    - ID: 1827      Table:828        - Code:     1829          Tag:      DW_TAG_compile_unit830          Children: DW_CHILDREN_no831          Attributes:832            - Attribute: DW_AT_low_pc833              Form:      DW_FORM_udata834    - ID: 3835  debug_info:836    - Version:       4837      AbbrevTableID: 2838      Entries:839        - AbbrCode: 1840          Values:841            - Value: 0x1234842    - Version:       4843      AbbrevTableID: 2844      Entries:845        - AbbrCode: 1846          Values:847            - Value: 0x4321848    - Version:       4849      AbbrevTableID: 0850      Entries:851        - AbbrCode: 1852          Values:853            - Value: 0x5678854    - Version:       4855      AbbrevTableID: 1856      Entries:857        - AbbrCode: 1858          Values:859            - Value: 0x8765860 861## d) Test that yaml2obj emits an error message when a compilation unit doesn't have862## an associated abbrev table.863 864# RUN: not yaml2obj --docnum=4 %s 2>&1 | FileCheck %s --check-prefix=MISSING-ABBREV865 866# MISSING-ABBREV: yaml2obj: error: cannot find abbrev table whose ID is 0 for compilation unit with index 0867 868--- !mach-o869FileHeader:870  magic:      0xFEEDFACF871  cputype:    0x01000007872  cpusubtype: 0x00000003873  filetype:   0x0000000A874  ncmds:      1875  sizeofcmds: 232876  flags:      0x00000000877  reserved:   0x00000000878LoadCommands:879  - cmd:      LC_SEGMENT_64880    cmdsize:  152881    segname:  __DWARF882    vmaddr:   0x00883    vmsize:   0x00884    fileoff:  0x00885    filesize: 0x00886    maxprot:  0887    initprot: 0888    nsects:   2889    flags:    0890    Sections:891      - sectname:  __debug_info892        segname:   __DWARF893        addr:      0x00894        size:      64895        offset:    1070896        align:     0897        reloff:    0x00000000898        nreloc:    0899        flags:     0x00000000900        reserved1: 0x00000000901        reserved2: 0x00000000902        reserved3: 0x00000000903DWARF:904  debug_info:905    - Version:    4906      AbbrOffset: 0x00907      Entries:908        - AbbrCode: 1909          Values:910            - Value: 0x1234911