1# RUN: llvm-mc %s -filetype obj -triple x86_64-pc-linux -o %t.o 2# RUN: llvm-dwarfdump -v %t.o | FileCheck %s 3 4# DW_LLE_startx_length has different `length` encoding in pre-DWARF 5 5# and final DWARF 5 versions. This test checks we are able to parse 6# the final version which uses ULEB128 and not the U32. 7 8# CHECK: .debug_loclists contents: 9# CHECK-NEXT: 0x00000000: locations list header: length = 0x0000000e, format = DWARF32, version = 0x0005, addr_size = 0x08, seg_size = 0x00, offset_entry_count = 0x00000000 10# CHECK-NEXT: 0x0000000c: 11# CHECK-NEXT: DW_LLE_startx_length (0x0000000000000001, 0x0000000000000010): DW_OP_reg5 RDI 12# CHECK-NEXT: DW_LLE_end_of_list () 13 14.section .debug_loclists,"",@progbits 15 .long .Ldebug_loclist_table_end0-.Ldebug_loclist_table_start0 16.Ldebug_loclist_table_start0: 17 .short 5 # Version. 18 .byte 8 # Address size. 19 .byte 0 # Segmen selector size. 20 .long 0 # Offset entry count. 21 22 .byte 3 # DW_LLE_startx_length 23 .byte 0x01 # Index 24 .uleb128 0x10 # Length 25 .byte 1 # Loc expr size 26 .byte 85 # DW_OP_reg5 27 .byte 0 # DW_LLE_end_of_list 28.Ldebug_loclist_table_end0: 29