xref: /llvm-project/llvm/test/DebugInfo/dwarfdump-loclist-basetyperef.test (revision c6e9371cbd23a9f2d03fee9b406065dbd0b7cf6a)
1# REQUIRES: x86-registered-target
2
3
4# This test checks whether llvm-dwarfdump correctly handles base type
5# references when dumping the .debug_loclists section.
6
7# When dumping the .debug_loclists section, the corresponding compile unit
8# for a base type reference is not known and therefore it cannot be resolved.
9
10# prettyPrintBaseTypeRef must handle this case by printing only reduced
11# information without crashing.
12
13
14# RUN: llvm-mc %s -filetype=obj -triple=x86_64 -o %t
15# RUN: llvm-dwarfdump %t --debug-loclists | FileCheck %s
16
17# CHECK: 0x0000000c:
18# CHECK-NEXT: <default>: DW_OP_regval_type XMM0 <base_type ref: 0x2a>, DW_OP_stack_value
19
20
21	.section	.debug_loclists,"",@progbits
22	.long	.Ldebug_loc1-.Ldebug_loc0   # Length
23.Ldebug_loc0:
24	.value	0x5                         # Version
25	.byte	0x8                         # Address size
26	.byte	0                           # Segmen selector size
27	.long	0                           # Offset entry count
28
29	.byte	0x5                         # DW_LLE_default_location
30	.uleb128 0x4                        # Loc expr size
31	.byte	0xa5                        # DW_OP_regval_type
32	.uleb128 0x11                       #   XMM0
33	.uleb128 0x2a                       #   <base_type ref: 0x2a>
34	.byte	0x9f                        # DW_OP_stack_value
35
36	.byte	0                           # DW_LLE_end_of_list
37.Ldebug_loc1:
38