12c784f7dSAlexander Yermolovich# REQUIRES: system-linux 22c784f7dSAlexander Yermolovich 32c784f7dSAlexander Yermolovich# RUN: llvm-mc -dwarf-version=4 -filetype=obj -triple x86_64-unknown-linux %s -o %t1.o 42c784f7dSAlexander Yermolovich# RUN: %clang %cflags -dwarf-4 %t1.o -o %t.exe -Wl,-q 52c784f7dSAlexander Yermolovich# RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections -v 1 &> %tlog.txt 62c784f7dSAlexander Yermolovich# RUN: cat %tlog.txt | FileCheck --check-prefix=CHECKBOLT %s 72c784f7dSAlexander Yermolovich# RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.exe | FileCheck --check-prefix=CHECK %s 82c784f7dSAlexander Yermolovich 9*11791ae7SSayhaan Siddiqui## Tests BOLT does not assert when DIE reference is invalid. 102c784f7dSAlexander Yermolovich 112c784f7dSAlexander Yermolovich# CHECKBOLT: BOLT-WARNING: [internal-dwarf-error]: invalid referenced DIE at offset: 122c784f7dSAlexander Yermolovich# CHECKBOLT-NOT: Referenced DIE offsets not in .debug_info 132c784f7dSAlexander Yermolovich# CHECK: DW_TAG_variable 142c784f7dSAlexander Yermolovich# CHECK-NEXT: DW_AT_name 152c784f7dSAlexander Yermolovich# CHECK-NEXT: DW_AT_type [DW_FORM_ref4] (cu + 0x008f => {0x0000008f}) 162c784f7dSAlexander Yermolovich 172c784f7dSAlexander Yermolovich# Assembly manually modified 182c784f7dSAlexander Yermolovich# struct pair {int i; int j; }; 192c784f7dSAlexander Yermolovich# static pair p; 202c784f7dSAlexander Yermolovich# int load() { 212c784f7dSAlexander Yermolovich# return p.i + p.j; 222c784f7dSAlexander Yermolovich# } 232c784f7dSAlexander Yermolovich# void store(int i, int j) { 242c784f7dSAlexander Yermolovich# p.i = i; 252c784f7dSAlexander Yermolovich# p.j = j; 262c784f7dSAlexander Yermolovich# } 272c784f7dSAlexander Yermolovich# int main() { 282c784f7dSAlexander Yermolovich# return 0; 292c784f7dSAlexander Yermolovich# } 302c784f7dSAlexander Yermolovich 312c784f7dSAlexander Yermolovich .text 322c784f7dSAlexander Yermolovich .file "main.cpp" 332c784f7dSAlexander Yermolovich .file 1 "/invalidWithin" "main.cpp" 342c784f7dSAlexander Yermolovich .section .text._Z4loadv,"ax",@progbits 352c784f7dSAlexander Yermolovich .globl _Z4loadv # -- Begin function _Z4loadv 362c784f7dSAlexander Yermolovich .p2align 4, 0x90 372c784f7dSAlexander Yermolovich .type _Z4loadv,@function 382c784f7dSAlexander Yermolovich_Z4loadv: # @_Z4loadv 392c784f7dSAlexander Yermolovich.Lfunc_begin0: 402c784f7dSAlexander Yermolovich .cfi_startproc 412c784f7dSAlexander Yermolovich# %bb.0: # %entry 422c784f7dSAlexander Yermolovich .loc 1 4 20 prologue_end # main.cpp:4:20 432c784f7dSAlexander Yermolovich movl _ZL1p.1(%rip), %eax 442c784f7dSAlexander Yermolovich .loc 1 4 16 is_stmt 0 # main.cpp:4:16 452c784f7dSAlexander Yermolovich addl _ZL1p.0(%rip), %eax 462c784f7dSAlexander Yermolovich .loc 1 4 5 # main.cpp:4:5 472c784f7dSAlexander Yermolovich retq 482c784f7dSAlexander Yermolovich.Ltmp0: 492c784f7dSAlexander Yermolovich.Lfunc_end0: 502c784f7dSAlexander Yermolovich .size _Z4loadv, .Lfunc_end0-_Z4loadv 512c784f7dSAlexander Yermolovich .cfi_endproc 522c784f7dSAlexander Yermolovich # -- End function 532c784f7dSAlexander Yermolovich .section .text._Z5storeii,"ax",@progbits 542c784f7dSAlexander Yermolovich .globl _Z5storeii # -- Begin function _Z5storeii 552c784f7dSAlexander Yermolovich .p2align 4, 0x90 562c784f7dSAlexander Yermolovich .type _Z5storeii,@function 572c784f7dSAlexander Yermolovich_Z5storeii: # @_Z5storeii 582c784f7dSAlexander Yermolovich.Lfunc_begin1: 592c784f7dSAlexander Yermolovich .cfi_startproc 602c784f7dSAlexander Yermolovich# %bb.0: # %entry 612c784f7dSAlexander Yermolovich #DEBUG_VALUE: store:i <- $edi 622c784f7dSAlexander Yermolovich #DEBUG_VALUE: store:j <- $esi 632c784f7dSAlexander Yermolovich .loc 1 7 9 prologue_end is_stmt 1 # main.cpp:7:9 642c784f7dSAlexander Yermolovich movl %edi, _ZL1p.0(%rip) 652c784f7dSAlexander Yermolovich .loc 1 8 9 # main.cpp:8:9 662c784f7dSAlexander Yermolovich movl %esi, _ZL1p.1(%rip) 672c784f7dSAlexander Yermolovich .loc 1 9 1 # main.cpp:9:1 682c784f7dSAlexander Yermolovich retq 692c784f7dSAlexander Yermolovich.Ltmp1: 702c784f7dSAlexander Yermolovich.Lfunc_end1: 712c784f7dSAlexander Yermolovich .size _Z5storeii, .Lfunc_end1-_Z5storeii 722c784f7dSAlexander Yermolovich .cfi_endproc 732c784f7dSAlexander Yermolovich # -- End function 742c784f7dSAlexander Yermolovich .section .text.main,"ax",@progbits 752c784f7dSAlexander Yermolovich .globl main # -- Begin function main 762c784f7dSAlexander Yermolovich .p2align 4, 0x90 772c784f7dSAlexander Yermolovich .type main,@function 782c784f7dSAlexander Yermolovichmain: # @main 792c784f7dSAlexander Yermolovich.Lfunc_begin2: 802c784f7dSAlexander Yermolovich .cfi_startproc 812c784f7dSAlexander Yermolovich# %bb.0: # %entry 822c784f7dSAlexander Yermolovich .loc 1 11 1 prologue_end # main.cpp:11:1 832c784f7dSAlexander Yermolovich xorl %eax, %eax 842c784f7dSAlexander Yermolovich retq 852c784f7dSAlexander Yermolovich.Ltmp2: 862c784f7dSAlexander Yermolovich.Lfunc_end2: 872c784f7dSAlexander Yermolovich .size main, .Lfunc_end2-main 882c784f7dSAlexander Yermolovich .cfi_endproc 892c784f7dSAlexander Yermolovich # -- End function 902c784f7dSAlexander Yermolovich .type _ZL1p.0,@object # @_ZL1p.0 912c784f7dSAlexander Yermolovich .local _ZL1p.0 922c784f7dSAlexander Yermolovich .comm _ZL1p.0,4,4 932c784f7dSAlexander Yermolovich .type _ZL1p.1,@object # @_ZL1p.1 942c784f7dSAlexander Yermolovich .local _ZL1p.1 952c784f7dSAlexander Yermolovich .comm _ZL1p.1,4,4 962c784f7dSAlexander Yermolovich .section .debug_abbrev,"",@progbits 972c784f7dSAlexander Yermolovich .byte 1 # Abbreviation Code 982c784f7dSAlexander Yermolovich .byte 17 # DW_TAG_compile_unit 992c784f7dSAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 1002c784f7dSAlexander Yermolovich .byte 37 # DW_AT_producer 1012c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1022c784f7dSAlexander Yermolovich .byte 19 # DW_AT_language 1032c784f7dSAlexander Yermolovich .byte 5 # DW_FORM_data2 1042c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 1052c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1062c784f7dSAlexander Yermolovich .byte 16 # DW_AT_stmt_list 1072c784f7dSAlexander Yermolovich .byte 23 # DW_FORM_sec_offset 1082c784f7dSAlexander Yermolovich .byte 27 # DW_AT_comp_dir 1092c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1102c784f7dSAlexander Yermolovich .byte 17 # DW_AT_low_pc 1112c784f7dSAlexander Yermolovich .byte 1 # DW_FORM_addr 1122c784f7dSAlexander Yermolovich .byte 85 # DW_AT_ranges 1132c784f7dSAlexander Yermolovich .byte 23 # DW_FORM_sec_offset 1142c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 1152c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 1162c784f7dSAlexander Yermolovich .byte 2 # Abbreviation Code 1172c784f7dSAlexander Yermolovich .byte 52 # DW_TAG_variable 1182c784f7dSAlexander Yermolovich .byte 0 # DW_CHILDREN_no 1192c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 1202c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1212c784f7dSAlexander Yermolovich .byte 73 # DW_AT_type 1222c784f7dSAlexander Yermolovich .byte 19 # DW_FORM_ref4 1232c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 1242c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1252c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 1262c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1272c784f7dSAlexander Yermolovich .byte 2 # DW_AT_location 1282c784f7dSAlexander Yermolovich .byte 24 # DW_FORM_exprloc 1292c784f7dSAlexander Yermolovich .byte 110 # DW_AT_linkage_name 1302c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1312c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 1322c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 1332c784f7dSAlexander Yermolovich .byte 3 # Abbreviation Code 1342c784f7dSAlexander Yermolovich .byte 19 # DW_TAG_structure_type 1352c784f7dSAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 1362c784f7dSAlexander Yermolovich .byte 54 # DW_AT_calling_convention 1372c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1382c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 1392c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1402c784f7dSAlexander Yermolovich .byte 11 # DW_AT_byte_size 1412c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1422c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 1432c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1442c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 1452c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1462c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 1472c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 1482c784f7dSAlexander Yermolovich .byte 4 # Abbreviation Code 1492c784f7dSAlexander Yermolovich .byte 13 # DW_TAG_member 1502c784f7dSAlexander Yermolovich .byte 0 # DW_CHILDREN_no 1512c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 1522c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1532c784f7dSAlexander Yermolovich .byte 73 # DW_AT_type 1542c784f7dSAlexander Yermolovich .byte 19 # DW_FORM_ref4 1552c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 1562c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1572c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 1582c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1592c784f7dSAlexander Yermolovich .byte 56 # DW_AT_data_member_location 1602c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1612c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 1622c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 1632c784f7dSAlexander Yermolovich .byte 5 # Abbreviation Code 1642c784f7dSAlexander Yermolovich .byte 36 # DW_TAG_base_type 1652c784f7dSAlexander Yermolovich .byte 0 # DW_CHILDREN_no 1662c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 1672c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1682c784f7dSAlexander Yermolovich .byte 62 # DW_AT_encoding 1692c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1702c784f7dSAlexander Yermolovich .byte 11 # DW_AT_byte_size 1712c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1722c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 1732c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 1742c784f7dSAlexander Yermolovich .byte 6 # Abbreviation Code 1752c784f7dSAlexander Yermolovich .byte 46 # DW_TAG_subprogram 1762c784f7dSAlexander Yermolovich .byte 0 # DW_CHILDREN_no 1772c784f7dSAlexander Yermolovich .byte 17 # DW_AT_low_pc 1782c784f7dSAlexander Yermolovich .byte 1 # DW_FORM_addr 1792c784f7dSAlexander Yermolovich .byte 18 # DW_AT_high_pc 1802c784f7dSAlexander Yermolovich .byte 6 # DW_FORM_data4 1812c784f7dSAlexander Yermolovich .byte 64 # DW_AT_frame_base 1822c784f7dSAlexander Yermolovich .byte 24 # DW_FORM_exprloc 1832c784f7dSAlexander Yermolovich .ascii "\227B" # DW_AT_GNU_all_call_sites 1842c784f7dSAlexander Yermolovich .byte 25 # DW_FORM_flag_present 1852c784f7dSAlexander Yermolovich .byte 110 # DW_AT_linkage_name 1862c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1872c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 1882c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 1892c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 1902c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1912c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 1922c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 1932c784f7dSAlexander Yermolovich .byte 73 # DW_AT_type 1942c784f7dSAlexander Yermolovich .byte 19 # DW_FORM_ref4 1952c784f7dSAlexander Yermolovich .byte 63 # DW_AT_external 1962c784f7dSAlexander Yermolovich .byte 25 # DW_FORM_flag_present 1972c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 1982c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 1992c784f7dSAlexander Yermolovich .byte 7 # Abbreviation Code 2002c784f7dSAlexander Yermolovich .byte 46 # DW_TAG_subprogram 2012c784f7dSAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 2022c784f7dSAlexander Yermolovich .byte 17 # DW_AT_low_pc 2032c784f7dSAlexander Yermolovich .byte 1 # DW_FORM_addr 2042c784f7dSAlexander Yermolovich .byte 18 # DW_AT_high_pc 2052c784f7dSAlexander Yermolovich .byte 6 # DW_FORM_data4 2062c784f7dSAlexander Yermolovich .byte 64 # DW_AT_frame_base 2072c784f7dSAlexander Yermolovich .byte 24 # DW_FORM_exprloc 2082c784f7dSAlexander Yermolovich .ascii "\227B" # DW_AT_GNU_all_call_sites 2092c784f7dSAlexander Yermolovich .byte 25 # DW_FORM_flag_present 2102c784f7dSAlexander Yermolovich .byte 110 # DW_AT_linkage_name 2112c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 2122c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 2132c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 2142c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 2152c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 2162c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 2172c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 2182c784f7dSAlexander Yermolovich .byte 63 # DW_AT_external 2192c784f7dSAlexander Yermolovich .byte 25 # DW_FORM_flag_present 2202c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 2212c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 2222c784f7dSAlexander Yermolovich .byte 8 # Abbreviation Code 2232c784f7dSAlexander Yermolovich .byte 5 # DW_TAG_formal_parameter 2242c784f7dSAlexander Yermolovich .byte 0 # DW_CHILDREN_no 2252c784f7dSAlexander Yermolovich .byte 2 # DW_AT_location 2262c784f7dSAlexander Yermolovich .byte 24 # DW_FORM_exprloc 2272c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 2282c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 2292c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 2302c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 2312c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 2322c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 2332c784f7dSAlexander Yermolovich .byte 73 # DW_AT_type 2342c784f7dSAlexander Yermolovich .byte 19 # DW_FORM_ref4 2352c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 2362c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 2372c784f7dSAlexander Yermolovich .byte 9 # Abbreviation Code 2382c784f7dSAlexander Yermolovich .byte 46 # DW_TAG_subprogram 2392c784f7dSAlexander Yermolovich .byte 0 # DW_CHILDREN_no 2402c784f7dSAlexander Yermolovich .byte 17 # DW_AT_low_pc 2412c784f7dSAlexander Yermolovich .byte 1 # DW_FORM_addr 2422c784f7dSAlexander Yermolovich .byte 18 # DW_AT_high_pc 2432c784f7dSAlexander Yermolovich .byte 6 # DW_FORM_data4 2442c784f7dSAlexander Yermolovich .byte 64 # DW_AT_frame_base 2452c784f7dSAlexander Yermolovich .byte 24 # DW_FORM_exprloc 2462c784f7dSAlexander Yermolovich .ascii "\227B" # DW_AT_GNU_all_call_sites 2472c784f7dSAlexander Yermolovich .byte 25 # DW_FORM_flag_present 2482c784f7dSAlexander Yermolovich .byte 3 # DW_AT_name 2492c784f7dSAlexander Yermolovich .byte 14 # DW_FORM_strp 2502c784f7dSAlexander Yermolovich .byte 58 # DW_AT_decl_file 2512c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 2522c784f7dSAlexander Yermolovich .byte 59 # DW_AT_decl_line 2532c784f7dSAlexander Yermolovich .byte 11 # DW_FORM_data1 2542c784f7dSAlexander Yermolovich .byte 73 # DW_AT_type 2552c784f7dSAlexander Yermolovich .byte 19 # DW_FORM_ref4 2562c784f7dSAlexander Yermolovich .byte 63 # DW_AT_external 2572c784f7dSAlexander Yermolovich .byte 25 # DW_FORM_flag_present 2582c784f7dSAlexander Yermolovich .byte 0 # EOM(1) 2592c784f7dSAlexander Yermolovich .byte 0 # EOM(2) 2602c784f7dSAlexander Yermolovich .byte 0 # EOM(3) 2612c784f7dSAlexander Yermolovich .section .debug_info,"",@progbits 2622c784f7dSAlexander Yermolovich.Lcu_begin0: 2632c784f7dSAlexander Yermolovich .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 2642c784f7dSAlexander Yermolovich.Ldebug_info_start0: 2652c784f7dSAlexander Yermolovich .short 4 # DWARF version number 2662c784f7dSAlexander Yermolovich .long .debug_abbrev # Offset Into Abbrev. Section 2672c784f7dSAlexander Yermolovich .byte 8 # Address Size (in bytes) 2682c784f7dSAlexander Yermolovich .byte 1 # Abbrev [1] 0xb:0xd9 DW_TAG_compile_unit 2692c784f7dSAlexander Yermolovich .long .Linfo_string0 # DW_AT_producer 2702c784f7dSAlexander Yermolovich .short 33 # DW_AT_language 2712c784f7dSAlexander Yermolovich .long .Linfo_string1 # DW_AT_name 2722c784f7dSAlexander Yermolovich .long .Lline_table_start0 # DW_AT_stmt_list 2732c784f7dSAlexander Yermolovich .long .Linfo_string2 # DW_AT_comp_dir 2742c784f7dSAlexander Yermolovich .quad 0 # DW_AT_low_pc 2752c784f7dSAlexander Yermolovich .long .Ldebug_ranges0 # DW_AT_ranges 2762c784f7dSAlexander Yermolovich .byte 2 # Abbrev [2] 0x2a:0x26 DW_TAG_variable 2772c784f7dSAlexander Yermolovich .long .Linfo_string3 # DW_AT_name 2782c784f7dSAlexander Yermolovich .long 143 # DW_AT_type --> Modified manually s/80/143 2792c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 2802c784f7dSAlexander Yermolovich .byte 2 # DW_AT_decl_line 2812c784f7dSAlexander Yermolovich .byte 22 # DW_AT_location 2822c784f7dSAlexander Yermolovich .byte 3 2832c784f7dSAlexander Yermolovich .quad _ZL1p.0 2842c784f7dSAlexander Yermolovich .byte 147 2852c784f7dSAlexander Yermolovich .byte 4 2862c784f7dSAlexander Yermolovich .byte 3 2872c784f7dSAlexander Yermolovich .quad _ZL1p.1 2882c784f7dSAlexander Yermolovich .byte 147 2892c784f7dSAlexander Yermolovich .byte 4 2902c784f7dSAlexander Yermolovich .long .Linfo_string8 # DW_AT_linkage_name 2912c784f7dSAlexander Yermolovich .byte 3 # Abbrev [3] 0x50:0x22 DW_TAG_structure_type 2922c784f7dSAlexander Yermolovich .byte 5 # DW_AT_calling_convention 2932c784f7dSAlexander Yermolovich .long .Linfo_string7 # DW_AT_name 2942c784f7dSAlexander Yermolovich .byte 8 # DW_AT_byte_size 2952c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 2962c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_line 2972c784f7dSAlexander Yermolovich .byte 4 # Abbrev [4] 0x59:0xc DW_TAG_member 2982c784f7dSAlexander Yermolovich .long .Linfo_string4 # DW_AT_name 2992c784f7dSAlexander Yermolovich .long 114 # DW_AT_type 3002c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3012c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_line 3022c784f7dSAlexander Yermolovich .byte 0 # DW_AT_data_member_location 3032c784f7dSAlexander Yermolovich .byte 4 # Abbrev [4] 0x65:0xc DW_TAG_member 3042c784f7dSAlexander Yermolovich .long .Linfo_string6 # DW_AT_name 3052c784f7dSAlexander Yermolovich .long 114 # DW_AT_type 3062c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3072c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_line 3082c784f7dSAlexander Yermolovich .byte 4 # DW_AT_data_member_location 3092c784f7dSAlexander Yermolovich .byte 0 # End Of Children Mark 3102c784f7dSAlexander Yermolovich .byte 5 # Abbrev [5] 0x72:0x7 DW_TAG_base_type 3112c784f7dSAlexander Yermolovich .long .Linfo_string5 # DW_AT_name 3122c784f7dSAlexander Yermolovich .byte 5 # DW_AT_encoding 3132c784f7dSAlexander Yermolovich .byte 4 # DW_AT_byte_size 3142c784f7dSAlexander Yermolovich .byte 6 # Abbrev [6] 0x79:0x1d DW_TAG_subprogram 3152c784f7dSAlexander Yermolovich .quad .Lfunc_begin0 # DW_AT_low_pc 3162c784f7dSAlexander Yermolovich .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 3172c784f7dSAlexander Yermolovich .byte 1 # DW_AT_frame_base 3182c784f7dSAlexander Yermolovich .byte 87 3192c784f7dSAlexander Yermolovich # DW_AT_GNU_all_call_sites 3202c784f7dSAlexander Yermolovich .long .Linfo_string9 # DW_AT_linkage_name 3212c784f7dSAlexander Yermolovich .long .Linfo_string10 # DW_AT_name 3222c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3232c784f7dSAlexander Yermolovich .byte 3 # DW_AT_decl_line 3242c784f7dSAlexander Yermolovich .long 114 # DW_AT_type 3252c784f7dSAlexander Yermolovich # DW_AT_external 3262c784f7dSAlexander Yermolovich .byte 7 # Abbrev [7] 0x96:0x34 DW_TAG_subprogram 3272c784f7dSAlexander Yermolovich .quad .Lfunc_begin1 # DW_AT_low_pc 3282c784f7dSAlexander Yermolovich .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 3292c784f7dSAlexander Yermolovich .byte 1 # DW_AT_frame_base 3302c784f7dSAlexander Yermolovich .byte 87 3312c784f7dSAlexander Yermolovich # DW_AT_GNU_all_call_sites 3322c784f7dSAlexander Yermolovich .long .Linfo_string11 # DW_AT_linkage_name 3332c784f7dSAlexander Yermolovich .long .Linfo_string12 # DW_AT_name 3342c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3352c784f7dSAlexander Yermolovich .byte 6 # DW_AT_decl_line 3362c784f7dSAlexander Yermolovich # DW_AT_external 3372c784f7dSAlexander Yermolovich .byte 8 # Abbrev [8] 0xaf:0xd DW_TAG_formal_parameter 3382c784f7dSAlexander Yermolovich .byte 1 # DW_AT_location 3392c784f7dSAlexander Yermolovich .byte 85 3402c784f7dSAlexander Yermolovich .long .Linfo_string4 # DW_AT_name 3412c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3422c784f7dSAlexander Yermolovich .byte 6 # DW_AT_decl_line 3432c784f7dSAlexander Yermolovich .long 114 # DW_AT_type 3442c784f7dSAlexander Yermolovich .byte 8 # Abbrev [8] 0xbc:0xd DW_TAG_formal_parameter 3452c784f7dSAlexander Yermolovich .byte 1 # DW_AT_location 3462c784f7dSAlexander Yermolovich .byte 84 3472c784f7dSAlexander Yermolovich .long .Linfo_string6 # DW_AT_name 3482c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3492c784f7dSAlexander Yermolovich .byte 6 # DW_AT_decl_line 3502c784f7dSAlexander Yermolovich .long 114 # DW_AT_type 3512c784f7dSAlexander Yermolovich .byte 0 # End Of Children Mark 3522c784f7dSAlexander Yermolovich .byte 9 # Abbrev [9] 0xca:0x19 DW_TAG_subprogram 3532c784f7dSAlexander Yermolovich .quad .Lfunc_begin2 # DW_AT_low_pc 3542c784f7dSAlexander Yermolovich .long .Lfunc_end2-.Lfunc_begin2 # DW_AT_high_pc 3552c784f7dSAlexander Yermolovich .byte 1 # DW_AT_frame_base 3562c784f7dSAlexander Yermolovich .byte 87 3572c784f7dSAlexander Yermolovich # DW_AT_GNU_all_call_sites 3582c784f7dSAlexander Yermolovich .long .Linfo_string13 # DW_AT_name 3592c784f7dSAlexander Yermolovich .byte 1 # DW_AT_decl_file 3602c784f7dSAlexander Yermolovich .byte 10 # DW_AT_decl_line 3612c784f7dSAlexander Yermolovich .long 114 # DW_AT_type 3622c784f7dSAlexander Yermolovich # DW_AT_external 3632c784f7dSAlexander Yermolovich .byte 0 # End Of Children Mark 3642c784f7dSAlexander Yermolovich.Ldebug_info_end0: 3652c784f7dSAlexander Yermolovich .section .debug_ranges,"",@progbits 3662c784f7dSAlexander Yermolovich.Ldebug_ranges0: 3672c784f7dSAlexander Yermolovich .quad .Lfunc_begin0 3682c784f7dSAlexander Yermolovich .quad .Lfunc_end0 3692c784f7dSAlexander Yermolovich .quad .Lfunc_begin1 3702c784f7dSAlexander Yermolovich .quad .Lfunc_end1 3712c784f7dSAlexander Yermolovich .quad .Lfunc_begin2 3722c784f7dSAlexander Yermolovich .quad .Lfunc_end2 3732c784f7dSAlexander Yermolovich .quad 0 3742c784f7dSAlexander Yermolovich .quad 0 3752c784f7dSAlexander Yermolovich .section .debug_str,"MS",@progbits,1 3762c784f7dSAlexander Yermolovich.Linfo_string0: 3772c784f7dSAlexander Yermolovich .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 37d6c1cc7d4dd3a8a47ba62254bc88521bd50d66)" # string offset=0 3782c784f7dSAlexander Yermolovich.Linfo_string1: 3792c784f7dSAlexander Yermolovich .asciz "main.cpp" # string offset=101 3802c784f7dSAlexander Yermolovich.Linfo_string2: 3812c784f7dSAlexander Yermolovich .asciz "/invalidWithin" # string offset=110 3822c784f7dSAlexander Yermolovich.Linfo_string3: 3832c784f7dSAlexander Yermolovich .asciz "p" # string offset=162 3842c784f7dSAlexander Yermolovich.Linfo_string4: 3852c784f7dSAlexander Yermolovich .asciz "i" # string offset=164 3862c784f7dSAlexander Yermolovich.Linfo_string5: 3872c784f7dSAlexander Yermolovich .asciz "int" # string offset=166 3882c784f7dSAlexander Yermolovich.Linfo_string6: 3892c784f7dSAlexander Yermolovich .asciz "j" # string offset=170 3902c784f7dSAlexander Yermolovich.Linfo_string7: 3912c784f7dSAlexander Yermolovich .asciz "pair" # string offset=172 3922c784f7dSAlexander Yermolovich.Linfo_string8: 3932c784f7dSAlexander Yermolovich .asciz "_ZL1p" # string offset=177 3942c784f7dSAlexander Yermolovich.Linfo_string9: 3952c784f7dSAlexander Yermolovich .asciz "_Z4loadv" # string offset=183 3962c784f7dSAlexander Yermolovich.Linfo_string10: 3972c784f7dSAlexander Yermolovich .asciz "load" # string offset=192 3982c784f7dSAlexander Yermolovich.Linfo_string11: 3992c784f7dSAlexander Yermolovich .asciz "_Z5storeii" # string offset=197 4002c784f7dSAlexander Yermolovich.Linfo_string12: 4012c784f7dSAlexander Yermolovich .asciz "store" # string offset=208 4022c784f7dSAlexander Yermolovich.Linfo_string13: 4032c784f7dSAlexander Yermolovich .asciz "main" # string offset=214 4042c784f7dSAlexander Yermolovich .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 37d6c1cc7d4dd3a8a47ba62254bc88521bd50d66)" 4052c784f7dSAlexander Yermolovich .section ".note.GNU-stack","",@progbits 4062c784f7dSAlexander Yermolovich .addrsig 4072c784f7dSAlexander Yermolovich .section .debug_line,"",@progbits 4082c784f7dSAlexander Yermolovich.Lline_table_start0: 409