brintos

brintos / llvm-project-archived public Read only

0
0
Text · 22.6 KiB · 1900189 Raw
681 lines · yaml
1## This file contains test cases for generating a DWARFv5 .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:        765157    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:            122214        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:          0x0000212D227        align:           0228        reloff:          0x00000000229        nreloc:          0230        flags:           0x00000000231        reserved1:       0x00000000232        reserved2:       0x00000000233        reserved3:       0x00000000234      - sectname:        __debug_str235        segname:         __DWARF236        addr:            0x0000000100003178237        size:            142238        offset:          0x00002179239        align:           0240        reloff:          0x00000000241        nreloc:          0242        flags:           0x00000000243        reserved1:       0x00000000244        reserved2:       0x00000000245        reserved3:       0x00000000246      - sectname:        __apple_names247        segname:         __DWARF248        addr:            0x0000000100003206249        size:            60250        offset:          0x00002207251        align:           0252        reloff:          0x00000000253        nreloc:          0254        flags:           0x00000000255        reserved1:       0x00000000256        reserved2:       0x00000000257        reserved3:       0x00000000258      - sectname:        __apple_namespac259        segname:         __DWARF260        addr:            0x0000000100003242261        size:            36262        offset:          0x00002243263        align:           0264        reloff:          0x00000000265        nreloc:          0266        flags:           0x00000000267        reserved1:       0x00000000268        reserved2:       0x00000000269        reserved3:       0x00000000270      - sectname:        __apple_types271        segname:         __DWARF272        addr:            0x0000000100003266273        size:            114274        offset:          0x00002267275        align:           0276        reloff:          0x00000000277        nreloc:          0278        flags:           0x00000000279        reserved1:       0x00000000280        reserved2:       0x00000000281        reserved3:       0x00000000282      - sectname:        __apple_objc283        segname:         __DWARF284        addr:            0x00000001000032D8285        size:            36286        offset:          0x000022D9287        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:          118395      Version:         5396      UnitType:        DW_UT_compile397      AbbrOffset:      0398      AddrSize:        8399      Entries:         400        - AbbrCode:        0x00000001401          Values:          402            - Value:           0x0000000000000001403            - Value:           0x000000000000000C404            - Value:           0x0000000000000038405            - Value:           0x0000000000000000406            - Value:           0x0000000000000046407            - Value:           0x0000000100000F50408            - Value:           0x0000000000000034409        - AbbrCode:        0x00000002410          Values:          411            - Value:           0x0000000100000F50412            - Value:           0x0000000000000034413            - Value:           0x0000000000000001414              BlockData:       415                - 0x56416            - Value:           0x0000000000000076417            - Value:           0x0000000000000001418            - Value:           0x0000000000000003419            - Value:           0x0000000000000001420            - Value:           0x0000000000000060421            - Value:           0x0000000000000001422        - AbbrCode:        0x00000003423          Values:          424            - Value:           0x0000000000000002425              BlockData:       426                - 0x91427                - 0x78428            - Value:           0x000000000000007B429            - Value:           0x0000000000000001430            - Value:           0x0000000000000003431            - Value:           0x0000000000000060432        - AbbrCode:        0x00000003433          Values:          434            - Value:           0x0000000000000002435              BlockData:       436                - 0x91437                - 0x70438            - Value:           0x0000000000000080439            - Value:           0x0000000000000001440            - Value:           0x0000000000000003441            - Value:           0x0000000000000067442        - AbbrCode:        0x00000000443        - AbbrCode:        0x00000004444          Values:          445            - Value:           0x0000000000000085446            - Value:           0x0000000000000005447            - Value:           0x0000000000000004448        - AbbrCode:        0x00000005449          Values:          450            - Value:           0x000000000000006C451        - AbbrCode:        0x00000005452          Values:          453            - Value:           0x0000000000000071454        - AbbrCode:        0x00000004455          Values:          456            - Value:           0x0000000000000089457            - Value:           0x0000000000000006458            - Value:           0x0000000000000001459        - AbbrCode:        0x00000000460  debug_line:      461    - Length:          65462      Version:         2463      PrologueLength:  36464      MinInstLength:   1465      DefaultIsStmt:   1466      LineBase:        251467      LineRange:       14468      OpcodeBase:      13469      StandardOpcodeLengths: 470        - 0471        - 1472        - 1473        - 1474        - 1475        - 0476        - 0477        - 0478        - 1479        - 0480        - 0481        - 1482      Files:           483        - Name:            hello_world.c484          DirIdx:          0485          ModTime:         0486          Length:          0487      Opcodes:         488        - Opcode:          DW_LNS_extended_op489          ExtLen:          9490          SubOpcode:       DW_LNE_set_address491          Data:            4294971216492        - Opcode:          0x14493          Data:            4294971216494        - Opcode:          DW_LNS_set_column495          Data:            3496        - Opcode:          DW_LNS_set_prologue_end497          Data:            3498        - Opcode:          DW_LNS_const_add_pc499          Data:            3500        - Opcode:          0xBB501          Data:            3502        - Opcode:          0xBB503          Data:            3504        - Opcode:          DW_LNS_advance_pc505          Data:            11506        - Opcode:          DW_LNS_extended_op507          ExtLen:          1508          SubOpcode:       DW_LNE_end_sequence509          Data:            11510...511 512#      DWARF32: DWARF:513#      DWARF32:   debug_info:514# DWARF32-NEXT:     - Length:        0x76515# DWARF32-NEXT:       Version:       5516# DWARF32-NEXT:       UnitType:      DW_UT_compile517# DWARF32-NEXT:       AbbrevTableID: 0518# DWARF32-NEXT:       AbbrOffset:    0519# DWARF32-NEXT:       AddrSize:      8520# DWARF32-NEXT:       Entries:521# DWARF32-NEXT:         - AbbrCode: 0x1522# DWARF32-NEXT:           Values:523# DWARF32-NEXT:             - Value: 0x1524# DWARF32-NEXT:             - Value: 0xC525# DWARF32-NEXT:             - Value: 0x38526# DWARF32-NEXT:             - Value: 0x0527# DWARF32-NEXT:             - Value: 0x46528# DWARF32-NEXT:             - Value: 0x100000F50529# DWARF32-NEXT:             - Value: 0x34530# DWARF32-NEXT:         - AbbrCode: 0x2531# DWARF32-NEXT:           Values:532# DWARF32-NEXT:             - Value: 0x100000F50533# DWARF32-NEXT:             - Value: 0x34534# DWARF32-NEXT:             - Value: 0x1535# DWARF32-NEXT:               BlockData: [ 0x56 ]536# DWARF32-NEXT:             - Value: 0x76537# DWARF32-NEXT:             - Value: 0x1538# DWARF32-NEXT:             - Value: 0x3539# DWARF32-NEXT:             - Value: 0x1540# DWARF32-NEXT:             - Value: 0x60541# DWARF32-NEXT:             - Value: 0x1542# DWARF32-NEXT:         - AbbrCode: 0x3543# DWARF32-NEXT:           Values:544# DWARF32-NEXT:             - Value: 0x2545# DWARF32-NEXT:               BlockData: [ 0x91, 0x78 ]546# DWARF32-NEXT:             - Value: 0x7B547# DWARF32-NEXT:             - Value: 0x1548# DWARF32-NEXT:             - Value: 0x3549# DWARF32-NEXT:             - Value: 0x60550# DWARF32-NEXT:         - AbbrCode:        0x3551# DWARF32-NEXT:           Values:          552# DWARF32-NEXT:             - Value:           0x2553# DWARF32-NEXT:               BlockData:       [ 0x91, 0x70 ]554# DWARF32-NEXT:             - Value:           0x80555# DWARF32-NEXT:             - Value:           0x1556# DWARF32-NEXT:             - Value:           0x3557# DWARF32-NEXT:             - Value:           0x67558# DWARF32-NEXT:         - AbbrCode:        0x0559# DWARF32-NEXT:         - AbbrCode:        0x4560# DWARF32-NEXT:           Values:          561# DWARF32-NEXT:             - Value:           0x85562# DWARF32-NEXT:             - Value:           0x5563# DWARF32-NEXT:             - Value:           0x4564# DWARF32-NEXT:         - AbbrCode:        0x5565# DWARF32-NEXT:           Values:          566# DWARF32-NEXT:             - Value:           0x6C567# DWARF32-NEXT:         - AbbrCode:        0x5568# DWARF32-NEXT:           Values:          569# DWARF32-NEXT:             - Value:           0x71570# DWARF32-NEXT:         - AbbrCode:        0x4571# DWARF32-NEXT:           Values:          572# DWARF32-NEXT:             - Value:           0x89573# DWARF32-NEXT:             - Value:           0x6574# DWARF32-NEXT:             - Value:           0x1575# DWARF32-NEXT:         - AbbrCode:        0x0576 577## b) Test that yaml2obj emits a correct unit header and obj2yaml is able to convert it back.578 579## Test DWARF32 unit header.580 581# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF32 -DLENGTH=12 %s | \582# RUN:   obj2yaml | FileCheck %s --check-prefix=DWARF32-YAML583 584#      DWARF32-YAML: debug_info:585# DWARF32-YAML-NEXT:   - Length:        0xC586# DWARF32-YAML-NEXT:     Version:       5587# DWARF32-YAML-NEXT:     UnitType:      DW_UT_compile588# DWARF32-YAML-NEXT:     AbbrevTableID: 0589# DWARF32-YAML-NEXT:     AbbrOffset:    0x0590# DWARF32-YAML-NEXT:     AddrSize:      8591# DWARF32-YAML-NEXT:     Entries:592# DWARF32-YAML-NEXT:       - AbbrCode: 0x1593# DWARF32-YAML-NEXT:         Values:594# DWARF32-YAML-NEXT:           - Value: 0x1234595 596--- !mach-o597FileHeader:598  magic:      0xFEEDFACF599  cputype:    0x01000007600  cpusubtype: 0x00000003601  filetype:   0x0000000A602  ncmds:      1603  sizeofcmds: 232604  flags:      0x00000000605  reserved:   0x00000000606LoadCommands:607  - cmd:      LC_SEGMENT_64608    cmdsize:  232609    segname:  __DWARF610    vmaddr:   0x00611    vmsize:   0x00612    fileoff:  0x00613    filesize: 0x00614    maxprot:  0615    initprot: 0616    nsects:   2617    flags:    0618    Sections:619      - sectname:  __debug_abbrev620        segname:   __DWARF621        addr:      0x00622        size:      12623        offset:    528624        align:     0625        reloff:    0x00000000626        nreloc:    0627        flags:     0x00000000628        reserved1: 0x00000000629        reserved2: 0x00000000630        reserved3: 0x00000000631      - sectname:  __debug_info632        segname:   __DWARF633        addr:      0x00634        size:      0xffff635        offset:    1070636        align:     0637        reloff:    0x00000000638        nreloc:    0639        flags:     0x00000000640        reserved1: 0x00000000641        reserved2: 0x00000000642        reserved3: 0x00000000643DWARF:644  debug_abbrev:    645    - Table:646        - Code:     1647          Tag:      DW_TAG_compile_unit648          Children: DW_CHILDREN_no649          Attributes:650            - Attribute: DW_AT_low_pc651              Form:      DW_FORM_addr652  debug_info:653    - Format:     [[FORMAT]]654      Length:     [[LENGTH]]655      Version:    5656      UnitType:   DW_UT_compile657      AbbrOffset: 0658      AddrSize:   8659      Entries:660        - AbbrCode: 1661          Values:662            - Value: 0x1234663 664## Test DWARF64 unit header.665 666# RUN: yaml2obj --docnum=2 -DFORMAT=DWARF64 -DLENGTH=20 %s | \667# RUN:   obj2yaml | FileCheck %s --check-prefix=DWARF64-YAML668 669#      DWARF64-YAML: debug_info:670# DWARF64-YAML-NEXT:   - Format:        DWARF64671# DWARF64-YAML-NEXT:     Length:        0x14672# DWARF64-YAML-NEXT:     Version:       5673# DWARF64-YAML-NEXT:     UnitType:      DW_UT_compile674# DWARF64-YAML-NEXT:     AbbrevTableID: 0675# DWARF64-YAML-NEXT:     AbbrOffset:    0x0676# DWARF64-YAML-NEXT:     AddrSize:      8677# DWARF64-YAML-NEXT:     Entries:678# DWARF64-YAML-NEXT:       - AbbrCode: 0x1679# DWARF64-YAML-NEXT:         Values:680# DWARF64-YAML-NEXT:           - Value: 0x1234681