69 lines · plain
1# This tests that lldb is able to process DW_OP_addrx tags introduced in dwarf5.2 3# REQUIRES: lld4 5# RUN: llvm-mc -g -dwarf-version=5 -triple x86_64-unknown-linux-gnu %s -filetype=obj > %t.o6# RUN: ld.lld -m elf_x86_64 %t.o -o %t 7# RUN: lldb-test symbols %t | FileCheck %s8 9# CHECK: Variable{0x00000011}, name = "color"10# CHECK-SAME: location = DW_OP_addrx 0x011 12 .text13 .section .debug_str,"MS",@progbits,114.Lstr_offsets_base0:15 .asciz "color"16 17 .section .debug_str_offsets,"",@progbits18 .long .Lstr_offsets_base019 20 .section .debug_abbrev,"",@progbits21 .byte 1 # Abbreviation Code22 .byte 17 # DW_TAG_compile_unit23 .byte 1 # DW_CHILDREN_yes24 .byte 114 # DW_AT_str_offsets_base25 .byte 23 # DW_FORM_sec_offset26 .byte 0 # EOM(1)27 .byte 0 # EOM(2)28 .byte 2 # Abbreviation Code29 .byte 52 # DW_TAG_variable30 .byte 0 # DW_CHILDREN_no31 .byte 3 # DW_AT_name32 .byte 37 # DW_FORM_strx133 .byte 63 # DW_AT_external34 .byte 25 # DW_FORM_flag_present35 .byte 2 # DW_AT_location36 .byte 24 # DW_FORM_exprloc37 .byte 0 # EOM(1)38 .byte 0 # EOM(2)39 .byte 0 # EOM(3)40 .byte 0 # EOM(4)41 42 .section .debug_info,"",@progbits43 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit44.Ldebug_info_start0:45 .short 5 # DWARF version number46 .byte 1 # DWARF Unit Type47 .byte 8 # Address Size (in bytes)48 .long .debug_abbrev # Offset Into Abbrev. Section49 .byte 1 # Abbrev [1] 0xc:0x22 DW_TAG_compile_unit50 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base51 .byte 2 # Abbrev [2] 0x1e:0xb DW_TAG_variable52 .byte 0 # DW_AT_name53 # DW_AT_external54 .byte 2 # DW_AT_location55 .byte 16156 .byte 057 .byte 0 # End Of Children Mark58.Ldebug_info_end0:59 60 .section .debug_addr,"",@progbits61 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution62.Ldebug_addr_start0:63 .short 5 # DWARF version number64 .byte 8 # Address size65 .byte 0 # Segment selector size66 .quad color67.Ldebug_addr_end0:68 69