xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/no_debug_addr.s (revision 715726429ec4fc4f0f5f0f2e3dc6c3c31ce8f3a6)
1# RUN: llvm-mc %s -filetype obj -triple=x86_64-pc-linux -o %t.o
2# RUN: llvm-dwarfdump -v %t.o | FileCheck %s -match-full-lines
3
4## Ensure bogus empty section names are not printed when dumping
5## rnglists that reference debug_addr when it is not present (such as in .dwo files)
6
7# CHECK:       DW_AT_ranges [DW_FORM_rnglistx]   (indexed (0x0) rangelist = 0x00000010
8# CHECK-NEXT:    [0x0000000000000000, 0x0000000000000001)
9# CHECK-NEXT:    [0x0000000000000000, 0x0000000000000002))
10
11.section .debug_info.dwo,"e",@progbits
12.long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1   # Length of Unit
13.Ldebug_info_dwo_start1:
14  .short 5                       # DWARF version number
15  .byte  5                       # DWARF Unit Type
16  .byte  8                       # Address Size (in bytes)
17  .long  0                       # Offset Into Abbrev. Section
18  .quad  -6809755978868859807
19  .byte  1                       # Abbrev [1] 0x14:0x32 DW_TAG_compile_unit
20  .byte  0                       # DW_AT_ranges
21.Ldebug_info_dwo_end1:
22
23.section .debug_abbrev.dwo,"e",@progbits
24  .byte 1                        # Abbreviation Code
25  .byte 17                       # DW_TAG_compile_unit
26  .byte 0                        # DW_CHILDREN_no
27  .byte 85                       # DW_AT_ranges
28  .byte 35                       # DW_FORM_rnglistx
29  .byte 0                        # EOM(1)
30  .byte 0                        # EOM(2)
31  .byte 0                        # EOM(3)
32
33.section .debug_rnglists.dwo,"e",@progbits
34  .long  .Ldebug_rnglist_table_end1-.Ldebug_rnglist_table_start1 # Length
35.Ldebug_rnglist_table_start1:
36  .short  5                      # Version
37  .byte  8                       # Address size
38  .byte  0                       # Segment selector size
39  .long  1                       # Offset entry count
40.Lrnglists_dwo_table_base0:
41  .long  .Ldebug_ranges0-.Lrnglists_dwo_table_base0
42.Ldebug_ranges0:
43  .byte  1                       # DW_RLE_base_addressx
44  .byte  0                       #   base address index
45  .byte  4                       # DW_RLE_offset_pair
46  .byte  0                       #   starting offset
47  .byte  1                       #   ending offset
48  .byte  3                       # DW_RLE_startx_length
49  .byte  1                       #   start index
50  .byte  2                       #   length
51  .byte  0                       # DW_RLE_end_of_list
52.Ldebug_rnglist_table_end1:
53