brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 4112208 Raw
96 lines · plain
1## This tests dumping a .debug_str_offsets.dwo section which is referenced by2## DWARF64 pre-v5 units and dumping attributes in such units which use the3## DW_FORM_strx form.4 5# RUN: llvm-mc -triple x86_64 %s -filetype=obj -o - | \6# RUN:   llvm-dwarfdump -v - | \7# RUN:   FileCheck %s8 9# CHECK:      .debug_info.dwo contents:10# CHECK:      Compile Unit:11# CHECK:      DW_TAG_compile_unit [1]12# CHECK-NEXT:   DW_AT_name [DW_FORM_strx] (indexed (00000000) string = "Compilation Unit")13 14# CHECK:      .debug_types.dwo contents:15# CHECK:      Type Unit:16# CHECK:      DW_TAG_type_unit [2] *17# CHECK-NEXT:   DW_AT_name [DW_FORM_strx] (indexed (00000001) string = "Type Unit")18# CHECK:      DW_TAG_structure_type [3]  19# CHECK-NEXT:   DW_AT_name [DW_FORM_strx] (indexed (00000002) string = "Structure")20 21# CHECK:      .debug_str.dwo contents:22# CHECK-NEXT: 0x00000000: "Compilation Unit"23# CHECK-NEXT: 0x00000011: "Type Unit"24# CHECK-NEXT: 0x0000001b: "Structure"25 26# CHECK:      .debug_str_offsets.dwo contents:27# CHECK-NEXT: 0x00000000: Contribution size = 24, Format = DWARF64, Version = 428# CHECK-NEXT: 0x00000000: 0000000000000000 "Compilation Unit"29# CHECK-NEXT: 0x00000008: 0000000000000011 "Type Unit"30# CHECK-NEXT: 0x00000010: 000000000000001b "Structure"31 32    .section .debug_str.dwo, "MSe", @progbits, 133.LStr0:34    .asciz "Compilation Unit"35.LStr1:36    .asciz "Type Unit"37.LStr2:38    .asciz "Structure"39 40    .section .debug_str_offsets.dwo, "e", @progbits41    .quad .LStr0-.debug_str.dwo     # 0: "Compilation Unit"42    .quad .LStr1-.debug_str.dwo     # 1: "Type Unit"43    .quad .LStr2-.debug_str.dwo     # 2: "Structure"44 45    .section .debug_abbrev.dwo, "e", @progbits46    .uleb128 0x01                   # Abbrev code47    .uleb128 0x11                   # DW_TAG_compile_unit48    .byte 0x00                      # DW_CHILDREN_no49    .uleb128 0x03                   # DW_AT_name50    .uleb128 0x1a                   # DW_FORM_strx51    .byte 0x00                      # EOM(1)52    .byte 0x00                      # EOM(2)53    .uleb128 0x02                   # Abbrev code54    .uleb128 0x41                   # DW_TAG_type_unit55    .byte 0x01                      # DW_CHILDREN_yes56    .uleb128 0x03                   # DW_AT_name57    .uleb128 0x1a                   # DW_FORM_strx58    .byte 0x00                      # EOM(1)59    .byte 0x00                      # EOM(2)60    .uleb128 0x03                   # Abbrev code61    .uleb128 0x13                   # DW_TAG_structure_type62    .byte 0x00                      # DW_CHILDREN_no (no members)63    .uleb128 0x03                   # DW_AT_name64    .uleb128 0x1a                   # DW_FORM_strx65    .byte 0x00                      # EOM(1)66    .byte 0x00                      # EOM(2)67    .byte 0x00                      # EOM(3)68 69    .section .debug_info.dwo, "e", @progbits70    .long 0xffffffff                # DWARF64 mark71    .quad .LCUEnd-.LCUVer           # Length72.LCUVer:73    .short 4                        # Version74    .quad 0                         # Abbrev. offset75    .byte 8                         # Address size76    .uleb128 1                      # Abbrev [1] DW_TAG_compile_unit77    .uleb128 0                      # DW_AT_name ("Compilation Unit")78.LCUEnd:79 80    .section .debug_types.dwo, "e", @progbits81.LTU:82    .long 0xffffffff                # DWARF64 mark83    .quad .LTUEnd-.LTUVer           # Length84.LTUVer:85    .short 4                        # Version86    .quad 0                         # Abbrev. offset87    .byte 8                         # Address size88    .quad 0x11110022ffffffff        # Type Signature89    .quad .LTUType-.LTU             # Type offset90    .uleb128 2                      # Abbrev [2] DW_TAG_type_unit91    .uleb128 1                      # DW_AT_name ("Type Unit")92.LTUType:93    .uleb128 3                      # Abbrev [3] DW_TAG_structure_type94    .uleb128 2                      # DW_AT_name ("Structure")95.LTUEnd:96