1# RUN: llvm-mc %s -filetype obj -triple x86_64 -o - | \
2# RUN:   llvm-dwarfdump -v -debug-loclists - | \
3# RUN:   FileCheck %s
4
5# CHECK:      .debug_loclists contents:
6# CHECK-NEXT: locations list header:
7# CHECK-SAME: length = 0x0000000000000028,
8# CHECK-SAME: format = DWARF64,
9# CHECK-SAME: version = 0x0005,
10# CHECK-SAME: addr_size = 0x08,
11# CHECK-SAME: seg_size = 0x00,
12# CHECK-SAME: offset_entry_count = 0x00000002
13# CHECK-NEXT: offsets: [
14# CHECK-NEXT: 0x0000000000000010 => 0x00000024
15# CHECK-NEXT: 0x0000000000000018 => 0x0000002c
16# CHECK-NEXT: ]
17# CHECK-NEXT: 0x00000024:
18# CHECK-NEXT:   DW_LLE_offset_pair (0x0000000000000001, 0x0000000000000002): DW_OP_consts +7, DW_OP_stack_value
19# CHECK-NEXT:   DW_LLE_end_of_list ()
20# CHECK-EMPTY:
21# CHECK-NEXT: 0x0000002c:
22# CHECK-NEXT:   DW_LLE_offset_pair (0x0000000000000005, 0x0000000000000007): DW_OP_consts +12, DW_OP_stack_value
23# CHECK-NEXT:   DW_LLE_end_of_list ()
24
25    .section .debug_loclists, "", @progbits
26    .long 0xffffffff            # DWARF64 mark
27    .quad .LLLEnd-.LLLBegin     # Length
28.LLLBegin:
29    .short 5                    # Version
30    .byte 8                     # Address size
31    .byte 0                     # Segment selector size
32    .long 2                     # Offset entry count
33.LLLBase:
34    .quad .LLL0-.LLLBase
35    .quad .LLL1-.LLLBase
36.LLL0:
37    .byte 4                     # DW_LLE_offset_pair
38    .uleb128 1                  #   starting offset
39    .uleb128 2                  #   ending offset
40    .byte 3                     # Loc expr size
41    .byte 17                    # DW_OP_consts
42    .byte 7                     # 7
43    .byte 159                   # DW_OP_stack_value
44    .byte 0                     # DW_LLE_end_of_list
45
46.LLL1:
47    .byte 4                     # DW_LLE_offset_pair
48    .uleb128 5                  #   starting offset
49    .uleb128 7                  #   ending offset
50    .byte 3                     # Loc expr size
51    .byte 17                    # DW_OP_consts
52    .byte 12                    # 12
53    .byte 159                   # DW_OP_stack_value
54    .byte 0                     # DW_LLE_end_of_list
55.LLLEnd:
56