1*4b825c74SAlexander Yermolovich# RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %s -o %tmain.o 2*4b825c74SAlexander Yermolovich# RUN: %clang %cflags -gdwarf-5 %tmain.o -o %tmain.exe 3*4b825c74SAlexander Yermolovich# RUN: llvm-bolt %tmain.exe -o %tmain.exe.bolt --update-debug-sections 4*4b825c74SAlexander Yermolovich# RUN: llvm-dwarfdump --debug-names %tmain.exe.bolt > %tlog.txt 5*4b825c74SAlexander Yermolovich# RUN: cat %tlog.txt | FileCheck -check-prefix=BOLT %s 6*4b825c74SAlexander Yermolovich 7*4b825c74SAlexander Yermolovich## This test checks that BOLT correctly generates .debug_names section when there is transative 8*4b825c74SAlexander Yermolovich## DW_AT_name/DW_AT_linkage_name resolution. 9*4b825c74SAlexander Yermolovich 10*4b825c74SAlexander Yermolovich# BOLT: Abbreviations [ 11*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbreviation [[ABBREV1:0x[0-9a-f]*]] { 12*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_subprogram 13*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref4 14*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present 15*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 16*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbreviation [[ABBREV2:0x[0-9a-f]*]] { 17*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_class_type 18*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref4 19*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present 20*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 21*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbreviation [[ABBREV3:0x[0-9a-f]*]] { 22*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_inlined_subroutine 23*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref4 24*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: DW_FORM_ref4 25*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 26*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbreviation [[ABBREV4:0x[0-9a-f]*]] { 27*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_base_type 28*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: DW_FORM_ref4 29*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: DW_FORM_flag_present 30*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 31*4b825c74SAlexander Yermolovich# BOLT-NEXT: ] 32*4b825c74SAlexander Yermolovich# BOLT-NEXT: Bucket 0 [ 33*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 1 { 34*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0xD72418AA 35*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "_ZL3fooi" 36*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 37*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV1]] 38*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_subprogram 39*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x000000ba 40*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 41*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 42*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 43*4b825c74SAlexander Yermolovich# BOLT-NEXT: ] 44*4b825c74SAlexander Yermolovich# BOLT-NEXT: Bucket 1 [ 45*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 2 { 46*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0x10614A06 47*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "State" 48*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 49*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV2]] 50*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_class_type 51*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x0000002b 52*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 53*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 54*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ [[REF1:0x[0-9a-f]*]] { 55*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV1]] 56*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_subprogram 57*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x00000089 58*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 59*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 60*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 61*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV3]] 62*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_inlined_subroutine 63*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x000000a3 64*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: Entry @ [[REF1]] 65*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 66*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 67*4b825c74SAlexander Yermolovich# BOLT-NEXT: ] 68*4b825c74SAlexander Yermolovich# BOLT-NEXT: Bucket 2 [ 69*4b825c74SAlexander Yermolovich# BOLT-NEXT: EMPTY 70*4b825c74SAlexander Yermolovich# BOLT-NEXT: ] 71*4b825c74SAlexander Yermolovich# BOLT-NEXT: Bucket 3 [ 72*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 3 { 73*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0xB888030 74*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "int" 75*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 76*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV4]] 77*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_base_type 78*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x00000085 79*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 80*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 81*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 82*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 4 { 83*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0x7C9A7F6A 84*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "main" 85*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 86*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV1]] 87*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_subprogram 88*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x00000042 89*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 90*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 91*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 92*4b825c74SAlexander Yermolovich# BOLT-NEXT: ] 93*4b825c74SAlexander Yermolovich# BOLT-NEXT: Bucket 4 [ 94*4b825c74SAlexander Yermolovich# BOLT-NEXT: EMPTY 95*4b825c74SAlexander Yermolovich# BOLT-NEXT: ] 96*4b825c74SAlexander Yermolovich# BOLT-NEXT: Bucket 5 [ 97*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 5 { 98*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0xB887389 99*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "foo" 100*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 101*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV1]] 102*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_subprogram 103*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x000000ba 104*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 105*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 106*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 107*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 6 { 108*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0x7C952063 109*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "char" 110*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 111*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV4]] 112*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_base_type 113*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x000000d9 114*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 115*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 116*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 117*4b825c74SAlexander Yermolovich# BOLT-NEXT: Name 7 { 118*4b825c74SAlexander Yermolovich# BOLT-NEXT: Hash: 0xFBBDC812 119*4b825c74SAlexander Yermolovich# BOLT-NEXT: String: {{.+}} "_ZN5StateC2Ev" 120*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 121*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV1]] 122*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_subprogram 123*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x00000089 124*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: <parent not indexed> 125*4b825c74SAlexander Yermolovich# BOLT-NEXT: } 126*4b825c74SAlexander Yermolovich# BOLT-NEXT: Entry @ {{.+}} { 127*4b825c74SAlexander Yermolovich# BOLT-NEXT: Abbrev: [[ABBREV3]] 128*4b825c74SAlexander Yermolovich# BOLT-NEXT: Tag: DW_TAG_inlined_subroutine 129*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_die_offset: 0x000000a3 130*4b825c74SAlexander Yermolovich# BOLT-NEXT: DW_IDX_parent: Entry @ [[REF1]] 131*4b825c74SAlexander Yermolovich 132*4b825c74SAlexander Yermolovich## static int foo(int i) { 133*4b825c74SAlexander Yermolovich## return i ++; 134*4b825c74SAlexander Yermolovich## } 135*4b825c74SAlexander Yermolovich## class State { 136*4b825c74SAlexander Yermolovich## public: 137*4b825c74SAlexander Yermolovich## State() {[[clang::always_inline]] foo(3);} 138*4b825c74SAlexander Yermolovich## }; 139*4b825c74SAlexander Yermolovich## 140*4b825c74SAlexander Yermolovich## int main(int argc, char* argv[]) { 141*4b825c74SAlexander Yermolovich## State S; 142*4b825c74SAlexander Yermolovich## return 0; 143*4b825c74SAlexander Yermolovich## } 144*4b825c74SAlexander Yermolovich 145*4b825c74SAlexander Yermolovich## Test manually modified to redirect DW_TAG_inlined_subroutine to DW_TAG_subprogram with DW_AT_specification. 146*4b825c74SAlexander Yermolovich 147*4b825c74SAlexander Yermolovich .text 148*4b825c74SAlexander Yermolovich .file "main.cpp" 149*4b825c74SAlexander Yermolovich .file 0 "abstractChainTwo" "main.cpp" md5 0x17ad726b6a1fd49ee59559a1302da539 150*4b825c74SAlexander Yermolovich .globl main # -- Begin function main 151*4b825c74SAlexander Yermolovich .p2align 4, 0x90 152*4b825c74SAlexander Yermolovich .type main,@function 153*4b825c74SAlexander Yermolovichmain: # @main 154*4b825c74SAlexander Yermolovich.Lfunc_begin0: 155*4b825c74SAlexander Yermolovich .loc 0 9 0 # main.cpp:9:0 156*4b825c74SAlexander Yermolovich.Ltmp0: 157*4b825c74SAlexander Yermolovich .loc 0 10 9 prologue_end # main.cpp:10:9 158*4b825c74SAlexander Yermolovich callq _ZN5StateC2Ev 159*4b825c74SAlexander Yermolovich .loc 0 11 3 # main.cpp:11:3 160*4b825c74SAlexander Yermolovich .loc 0 11 3 epilogue_begin is_stmt 0 # main.cpp:11:3 161*4b825c74SAlexander Yermolovich retq 162*4b825c74SAlexander Yermolovich.Ltmp1: 163*4b825c74SAlexander Yermolovich.Lfunc_end0: 164*4b825c74SAlexander Yermolovich .size main, .Lfunc_end0-main 165*4b825c74SAlexander Yermolovich # -- End function 166*4b825c74SAlexander Yermolovich .section .text._ZN5StateC2Ev,"axG",@progbits,_ZN5StateC2Ev,comdat 167*4b825c74SAlexander Yermolovich .weak _ZN5StateC2Ev # -- Begin function _ZN5StateC2Ev 168*4b825c74SAlexander Yermolovich .p2align 4, 0x90 169*4b825c74SAlexander Yermolovich .type _ZN5StateC2Ev,@function 170*4b825c74SAlexander Yermolovich_ZN5StateC2Ev: # @_ZN5StateC2Ev 171*4b825c74SAlexander Yermolovich.Lfunc_begin1: 172*4b825c74SAlexander Yermolovich .loc 0 6 0 is_stmt 1 # main.cpp:6:0 173*4b825c74SAlexander Yermolovich .cfi_startproc 174*4b825c74SAlexander Yermolovich# %bb.0: 175*4b825c74SAlexander Yermolovich pushq %rbp 176*4b825c74SAlexander Yermolovich .cfi_def_cfa_offset 16 177*4b825c74SAlexander Yermolovich .cfi_offset %rbp, -16 178*4b825c74SAlexander Yermolovich movq %rsp, %rbp 179*4b825c74SAlexander Yermolovich .cfi_def_cfa_register %rbp 180*4b825c74SAlexander Yermolovich movq %rdi, -16(%rbp) 181*4b825c74SAlexander Yermolovich movl $3, -4(%rbp) 182*4b825c74SAlexander Yermolovich.Ltmp2: 183*4b825c74SAlexander Yermolovich .loc 0 2 12 prologue_end # main.cpp:2:12 184*4b825c74SAlexander Yermolovich movl -4(%rbp), %eax 185*4b825c74SAlexander Yermolovich addl $1, %eax 186*4b825c74SAlexander Yermolovich movl %eax, -4(%rbp) 187*4b825c74SAlexander Yermolovich.Ltmp3: 188*4b825c74SAlexander Yermolovich .loc 0 6 44 epilogue_begin # main.cpp:6:44 189*4b825c74SAlexander Yermolovich popq %rbp 190*4b825c74SAlexander Yermolovich .cfi_def_cfa %rsp, 8 191*4b825c74SAlexander Yermolovich retq 192*4b825c74SAlexander Yermolovich.Ltmp4: 193*4b825c74SAlexander Yermolovich.Lfunc_end1: 194*4b825c74SAlexander Yermolovich .size _ZN5StateC2Ev, .Lfunc_end1-_ZN5StateC2Ev 195*4b825c74SAlexander Yermolovich .cfi_endproc 196*4b825c74SAlexander Yermolovich # -- End function 197*4b825c74SAlexander Yermolovich .text 198*4b825c74SAlexander Yermolovich .p2align 4, 0x90 # -- Begin function _ZL3fooi 199*4b825c74SAlexander Yermolovich .type _ZL3fooi,@function 200*4b825c74SAlexander Yermolovich_ZL3fooi: # @_ZL3fooi 201*4b825c74SAlexander Yermolovich.Lfunc_begin2: 202*4b825c74SAlexander Yermolovich .loc 0 1 0 # main.cpp:1:0 203*4b825c74SAlexander Yermolovich .cfi_startproc 204*4b825c74SAlexander Yermolovich# %bb.0: 205*4b825c74SAlexander Yermolovich pushq %rbp 206*4b825c74SAlexander Yermolovich .cfi_def_cfa_offset 16 207*4b825c74SAlexander Yermolovich .cfi_offset %rbp, -16 208*4b825c74SAlexander Yermolovich movq %rsp, %rbp 209*4b825c74SAlexander Yermolovich .cfi_def_cfa_register %rbp 210*4b825c74SAlexander Yermolovich movl %edi, -4(%rbp) 211*4b825c74SAlexander Yermolovich.Ltmp5: 212*4b825c74SAlexander Yermolovich .loc 0 2 12 prologue_end # main.cpp:2:12 213*4b825c74SAlexander Yermolovich movl -4(%rbp), %eax 214*4b825c74SAlexander Yermolovich movl %eax, %ecx 215*4b825c74SAlexander Yermolovich addl $1, %ecx 216*4b825c74SAlexander Yermolovich movl %ecx, -4(%rbp) 217*4b825c74SAlexander Yermolovich .loc 0 2 3 epilogue_begin is_stmt 0 # main.cpp:2:3 218*4b825c74SAlexander Yermolovich popq %rbp 219*4b825c74SAlexander Yermolovich .cfi_def_cfa %rsp, 8 220*4b825c74SAlexander Yermolovich retq 221*4b825c74SAlexander Yermolovich.Ltmp6: 222*4b825c74SAlexander Yermolovich.Lfunc_end2: 223*4b825c74SAlexander Yermolovich .size _ZL3fooi, .Lfunc_end2-_ZL3fooi 224*4b825c74SAlexander Yermolovich .cfi_endproc 225*4b825c74SAlexander Yermolovich # -- End function 226*4b825c74SAlexander Yermolovich .section .debug_abbrev,"",@progbits 227*4b825c74SAlexander Yermolovich .byte 1 # Abbreviation Code 228*4b825c74SAlexander Yermolovich .byte 17 # DW_TAG_compile_unit 229*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 230*4b825c74SAlexander Yermolovich .byte 37 # DW_AT_producer 231*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 232*4b825c74SAlexander Yermolovich .byte 19 # DW_AT_language 233*4b825c74SAlexander Yermolovich .byte 5 # DW_FORM_data2 234*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 235*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 236*4b825c74SAlexander Yermolovich .byte 114 # DW_AT_str_offsets_base 237*4b825c74SAlexander Yermolovich .byte 23 # DW_FORM_sec_offset 238*4b825c74SAlexander Yermolovich .byte 16 # DW_AT_stmt_list 239*4b825c74SAlexander Yermolovich .byte 23 # DW_FORM_sec_offset 240*4b825c74SAlexander Yermolovich .byte 27 # DW_AT_comp_dir 241*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 242*4b825c74SAlexander Yermolovich .byte 17 # DW_AT_low_pc 243*4b825c74SAlexander Yermolovich .byte 1 # DW_FORM_addr 244*4b825c74SAlexander Yermolovich .byte 85 # DW_AT_ranges 245*4b825c74SAlexander Yermolovich .byte 35 # DW_FORM_rnglistx 246*4b825c74SAlexander Yermolovich .byte 115 # DW_AT_addr_base 247*4b825c74SAlexander Yermolovich .byte 23 # DW_FORM_sec_offset 248*4b825c74SAlexander Yermolovich .byte 116 # DW_AT_rnglists_base 249*4b825c74SAlexander Yermolovich .byte 23 # DW_FORM_sec_offset 250*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 251*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 252*4b825c74SAlexander Yermolovich .byte 2 # Abbreviation Code 253*4b825c74SAlexander Yermolovich .byte 2 # DW_TAG_class_type 254*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 255*4b825c74SAlexander Yermolovich .byte 54 # DW_AT_calling_convention 256*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 257*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 258*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 259*4b825c74SAlexander Yermolovich .byte 11 # DW_AT_byte_size 260*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 261*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 262*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 263*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 264*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 265*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 266*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 267*4b825c74SAlexander Yermolovich .byte 3 # Abbreviation Code 268*4b825c74SAlexander Yermolovich .byte 46 # DW_TAG_subprogram 269*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 270*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 271*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 272*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 273*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 274*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 275*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 276*4b825c74SAlexander Yermolovich .byte 60 # DW_AT_declaration 277*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 278*4b825c74SAlexander Yermolovich .byte 63 # DW_AT_external 279*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 280*4b825c74SAlexander Yermolovich .byte 50 # DW_AT_accessibility 281*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 282*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 283*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 284*4b825c74SAlexander Yermolovich .byte 4 # Abbreviation Code 285*4b825c74SAlexander Yermolovich .byte 5 # DW_TAG_formal_parameter 286*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 287*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 288*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 289*4b825c74SAlexander Yermolovich .byte 52 # DW_AT_artificial 290*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 291*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 292*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 293*4b825c74SAlexander Yermolovich .byte 5 # Abbreviation Code 294*4b825c74SAlexander Yermolovich .byte 15 # DW_TAG_pointer_type 295*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 296*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 297*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 298*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 299*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 300*4b825c74SAlexander Yermolovich .byte 6 # Abbreviation Code 301*4b825c74SAlexander Yermolovich .byte 46 # DW_TAG_subprogram 302*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 303*4b825c74SAlexander Yermolovich .byte 17 # DW_AT_low_pc 304*4b825c74SAlexander Yermolovich .byte 27 # DW_FORM_addrx 305*4b825c74SAlexander Yermolovich .byte 18 # DW_AT_high_pc 306*4b825c74SAlexander Yermolovich .byte 6 # DW_FORM_data4 307*4b825c74SAlexander Yermolovich .byte 64 # DW_AT_frame_base 308*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 309*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 310*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 311*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 312*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 313*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 314*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 315*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 316*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 317*4b825c74SAlexander Yermolovich .byte 63 # DW_AT_external 318*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 319*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 320*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 321*4b825c74SAlexander Yermolovich .byte 7 # Abbreviation Code 322*4b825c74SAlexander Yermolovich .byte 5 # DW_TAG_formal_parameter 323*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 324*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 325*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 326*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 327*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 328*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 329*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 330*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 331*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 332*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 333*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 334*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 335*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 336*4b825c74SAlexander Yermolovich .byte 8 # Abbreviation Code 337*4b825c74SAlexander Yermolovich .byte 52 # DW_TAG_variable 338*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 339*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 340*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 341*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 342*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 343*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 344*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 345*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 346*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 347*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 348*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 349*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 350*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 351*4b825c74SAlexander Yermolovich .byte 9 # Abbreviation Code 352*4b825c74SAlexander Yermolovich .byte 46 # DW_TAG_subprogram 353*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 354*4b825c74SAlexander Yermolovich .byte 110 # DW_AT_linkage_name 355*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 356*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 357*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 358*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 359*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 360*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 361*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 362*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 363*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 364*4b825c74SAlexander Yermolovich .byte 32 # DW_AT_inline 365*4b825c74SAlexander Yermolovich .byte 33 # DW_FORM_implicit_const 366*4b825c74SAlexander Yermolovich .byte 1 367*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 368*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 369*4b825c74SAlexander Yermolovich .byte 10 # Abbreviation Code 370*4b825c74SAlexander Yermolovich .byte 5 # DW_TAG_formal_parameter 371*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 372*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 373*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 374*4b825c74SAlexander Yermolovich .byte 58 # DW_AT_decl_file 375*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 376*4b825c74SAlexander Yermolovich .byte 59 # DW_AT_decl_line 377*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 378*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 379*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 380*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 381*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 382*4b825c74SAlexander Yermolovich .byte 11 # Abbreviation Code 383*4b825c74SAlexander Yermolovich .byte 36 # DW_TAG_base_type 384*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 385*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 386*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 387*4b825c74SAlexander Yermolovich .byte 62 # DW_AT_encoding 388*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 389*4b825c74SAlexander Yermolovich .byte 11 # DW_AT_byte_size 390*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 391*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 392*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 393*4b825c74SAlexander Yermolovich .byte 12 # Abbreviation Code 394*4b825c74SAlexander Yermolovich .byte 46 # DW_TAG_subprogram 395*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 396*4b825c74SAlexander Yermolovich .byte 17 # DW_AT_low_pc 397*4b825c74SAlexander Yermolovich .byte 27 # DW_FORM_addrx 398*4b825c74SAlexander Yermolovich .byte 18 # DW_AT_high_pc 399*4b825c74SAlexander Yermolovich .byte 6 # DW_FORM_data4 400*4b825c74SAlexander Yermolovich .byte 64 # DW_AT_frame_base 401*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 402*4b825c74SAlexander Yermolovich .byte 100 # DW_AT_object_pointer 403*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 404*4b825c74SAlexander Yermolovich .byte 110 # DW_AT_linkage_name 405*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 406*4b825c74SAlexander Yermolovich .byte 71 # DW_AT_specification 407*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 408*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 409*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 410*4b825c74SAlexander Yermolovich .byte 13 # Abbreviation Code 411*4b825c74SAlexander Yermolovich .byte 5 # DW_TAG_formal_parameter 412*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 413*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 414*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 415*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 416*4b825c74SAlexander Yermolovich .byte 37 # DW_FORM_strx1 417*4b825c74SAlexander Yermolovich .byte 73 # DW_AT_type 418*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 419*4b825c74SAlexander Yermolovich .byte 52 # DW_AT_artificial 420*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 421*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 422*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 423*4b825c74SAlexander Yermolovich .byte 14 # Abbreviation Code 424*4b825c74SAlexander Yermolovich .byte 29 # DW_TAG_inlined_subroutine 425*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 426*4b825c74SAlexander Yermolovich .byte 49 # DW_AT_abstract_origin 427*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 428*4b825c74SAlexander Yermolovich .byte 17 # DW_AT_low_pc 429*4b825c74SAlexander Yermolovich .byte 27 # DW_FORM_addrx 430*4b825c74SAlexander Yermolovich .byte 18 # DW_AT_high_pc 431*4b825c74SAlexander Yermolovich .byte 6 # DW_FORM_data4 432*4b825c74SAlexander Yermolovich .byte 88 # DW_AT_call_file 433*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 434*4b825c74SAlexander Yermolovich .byte 89 # DW_AT_call_line 435*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 436*4b825c74SAlexander Yermolovich .byte 87 # DW_AT_call_column 437*4b825c74SAlexander Yermolovich .byte 11 # DW_FORM_data1 438*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 439*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 440*4b825c74SAlexander Yermolovich .byte 15 # Abbreviation Code 441*4b825c74SAlexander Yermolovich .byte 5 # DW_TAG_formal_parameter 442*4b825c74SAlexander Yermolovich .byte 0 # DW_CHILDREN_no 443*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 444*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 445*4b825c74SAlexander Yermolovich .byte 49 # DW_AT_abstract_origin 446*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 447*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 448*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 449*4b825c74SAlexander Yermolovich .byte 16 # Abbreviation Code 450*4b825c74SAlexander Yermolovich .byte 46 # DW_TAG_subprogram 451*4b825c74SAlexander Yermolovich .byte 1 # DW_CHILDREN_yes 452*4b825c74SAlexander Yermolovich .byte 17 # DW_AT_low_pc 453*4b825c74SAlexander Yermolovich .byte 27 # DW_FORM_addrx 454*4b825c74SAlexander Yermolovich .byte 18 # DW_AT_high_pc 455*4b825c74SAlexander Yermolovich .byte 6 # DW_FORM_data4 456*4b825c74SAlexander Yermolovich .byte 64 # DW_AT_frame_base 457*4b825c74SAlexander Yermolovich .byte 24 # DW_FORM_exprloc 458*4b825c74SAlexander Yermolovich .byte 49 # DW_AT_abstract_origin 459*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 460*4b825c74SAlexander Yermolovich .byte 0 # EOM(1) 461*4b825c74SAlexander Yermolovich .byte 0 # EOM(2) 462*4b825c74SAlexander Yermolovich .byte 0 # EOM(3) 463*4b825c74SAlexander Yermolovich .section .debug_info,"",@progbits 464*4b825c74SAlexander Yermolovich.Lcu_begin0: 465*4b825c74SAlexander Yermolovich .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 466*4b825c74SAlexander Yermolovich.Ldebug_info_start0: 467*4b825c74SAlexander Yermolovich .short 5 # DWARF version number 468*4b825c74SAlexander Yermolovich .byte 1 # DWARF Unit Type 469*4b825c74SAlexander Yermolovich .byte 8 # Address Size (in bytes) 470*4b825c74SAlexander Yermolovich .long .debug_abbrev # Offset Into Abbrev. Section 471*4b825c74SAlexander Yermolovich .byte 1 # Abbrev [1] 0xc:0xd7 DW_TAG_compile_unit 472*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_producer 473*4b825c74SAlexander Yermolovich .short 33 # DW_AT_language 474*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_name 475*4b825c74SAlexander Yermolovich .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 476*4b825c74SAlexander Yermolovich .long .Lline_table_start0 # DW_AT_stmt_list 477*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_comp_dir 478*4b825c74SAlexander Yermolovich .quad 0 # DW_AT_low_pc 479*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_ranges 480*4b825c74SAlexander Yermolovich .long .Laddr_table_base0 # DW_AT_addr_base 481*4b825c74SAlexander Yermolovich .long .Lrnglists_table_base0 # DW_AT_rnglists_base 482*4b825c74SAlexander Yermolovich .byte 2 # Abbrev [2] 0x2b:0x12 DW_TAG_class_type 483*4b825c74SAlexander Yermolovich .byte 5 # DW_AT_calling_convention 484*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 485*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_byte_size 486*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 487*4b825c74SAlexander Yermolovich .byte 4 # DW_AT_decl_line 488*4b825c74SAlexander Yermolovich .byte 3 # Abbrev [3] 0x31:0xb DW_TAG_subprogram 489*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_name 490*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 491*4b825c74SAlexander Yermolovich .byte 6 # DW_AT_decl_line 492*4b825c74SAlexander Yermolovich # DW_AT_declaration 493*4b825c74SAlexander Yermolovich # DW_AT_external 494*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_accessibility 495*4b825c74SAlexander Yermolovich # DW_ACCESS_public 496*4b825c74SAlexander Yermolovich .byte 4 # Abbrev [4] 0x36:0x5 DW_TAG_formal_parameter 497*4b825c74SAlexander Yermolovich .long 61 # DW_AT_type 498*4b825c74SAlexander Yermolovich # DW_AT_artificial 499*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 500*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 501*4b825c74SAlexander Yermolovich .byte 5 # Abbrev [5] 0x3d:0x5 DW_TAG_pointer_type 502*4b825c74SAlexander Yermolovich .long 43 # DW_AT_type 503*4b825c74SAlexander Yermolovich .byte 6 # Abbrev [6] 0x42:0x31 DW_TAG_subprogram 504*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_low_pc 505*4b825c74SAlexander Yermolovich .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 506*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_frame_base 507*4b825c74SAlexander Yermolovich .byte 86 508*4b825c74SAlexander Yermolovich .byte 8 # DW_AT_name 509*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 510*4b825c74SAlexander Yermolovich .byte 9 # DW_AT_decl_line 511*4b825c74SAlexander Yermolovich .long 133 # DW_AT_type 512*4b825c74SAlexander Yermolovich # DW_AT_external 513*4b825c74SAlexander Yermolovich .byte 7 # Abbrev [7] 0x51:0xb DW_TAG_formal_parameter 514*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 515*4b825c74SAlexander Yermolovich .byte 145 516*4b825c74SAlexander Yermolovich .byte 120 517*4b825c74SAlexander Yermolovich .byte 10 # DW_AT_name 518*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 519*4b825c74SAlexander Yermolovich .byte 9 # DW_AT_decl_line 520*4b825c74SAlexander Yermolovich .long 133 # DW_AT_type 521*4b825c74SAlexander Yermolovich .byte 7 # Abbrev [7] 0x5c:0xb DW_TAG_formal_parameter 522*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 523*4b825c74SAlexander Yermolovich .byte 145 524*4b825c74SAlexander Yermolovich .byte 112 525*4b825c74SAlexander Yermolovich .byte 11 # DW_AT_name 526*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 527*4b825c74SAlexander Yermolovich .byte 9 # DW_AT_decl_line 528*4b825c74SAlexander Yermolovich .long 207 # DW_AT_type 529*4b825c74SAlexander Yermolovich .byte 8 # Abbrev [8] 0x67:0xb DW_TAG_variable 530*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 531*4b825c74SAlexander Yermolovich .byte 145 532*4b825c74SAlexander Yermolovich .byte 111 533*4b825c74SAlexander Yermolovich .byte 13 # DW_AT_name 534*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 535*4b825c74SAlexander Yermolovich .byte 10 # DW_AT_decl_line 536*4b825c74SAlexander Yermolovich .long 43 # DW_AT_type 537*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 538*4b825c74SAlexander Yermolovich .byte 9 # Abbrev [9] 0x73:0x12 DW_TAG_subprogram 539*4b825c74SAlexander Yermolovich .byte 4 # DW_AT_linkage_name 540*4b825c74SAlexander Yermolovich .byte 5 # DW_AT_name 541*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 542*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_decl_line 543*4b825c74SAlexander Yermolovich .long 133 # DW_AT_type 544*4b825c74SAlexander Yermolovich # DW_AT_inline 545*4b825c74SAlexander Yermolovich .byte 10 # Abbrev [10] 0x7c:0x8 DW_TAG_formal_parameter 546*4b825c74SAlexander Yermolovich .byte 7 # DW_AT_name 547*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_decl_file 548*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_decl_line 549*4b825c74SAlexander Yermolovich .long 133 # DW_AT_type 550*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 551*4b825c74SAlexander Yermolovich .byte 11 # Abbrev [11] 0x85:0x4 DW_TAG_base_type 552*4b825c74SAlexander Yermolovich .byte 6 # DW_AT_name 553*4b825c74SAlexander Yermolovich .byte 5 # DW_AT_encoding 554*4b825c74SAlexander Yermolovich .byte 4 # DW_AT_byte_size 555*4b825c74SAlexander Yermolovich .byte 12 # Abbrev [12] 0x89:0x31 DW_TAG_subprogram 556*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_low_pc 557*4b825c74SAlexander Yermolovich .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 558*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_frame_base 559*4b825c74SAlexander Yermolovich .byte 86 560*4b825c74SAlexander Yermolovich .long 154 # DW_AT_object_pointer 561*4b825c74SAlexander Yermolovich .byte 9 # DW_AT_linkage_name 562*4b825c74SAlexander Yermolovich .long 49 # DW_AT_specification 563*4b825c74SAlexander Yermolovich .byte 13 # Abbrev [13] 0x9a:0x9 DW_TAG_formal_parameter 564*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 565*4b825c74SAlexander Yermolovich .byte 145 566*4b825c74SAlexander Yermolovich .byte 112 567*4b825c74SAlexander Yermolovich .byte 14 # DW_AT_name 568*4b825c74SAlexander Yermolovich .long 221 # DW_AT_type 569*4b825c74SAlexander Yermolovich # DW_AT_artificial 570*4b825c74SAlexander Yermolovich .byte 14 # Abbrev [14] 0xa3:0x16 DW_TAG_inlined_subroutine 571*4b825c74SAlexander Yermolovich .long 137 # DW_AT_abstract_origin Manually Modified 572*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_low_pc 573*4b825c74SAlexander Yermolovich .long .Ltmp3-.Ltmp2 # DW_AT_high_pc 574*4b825c74SAlexander Yermolovich .byte 0 # DW_AT_call_file 575*4b825c74SAlexander Yermolovich .byte 6 # DW_AT_call_line 576*4b825c74SAlexander Yermolovich .byte 37 # DW_AT_call_column 577*4b825c74SAlexander Yermolovich .byte 15 # Abbrev [15] 0xb0:0x8 DW_TAG_formal_parameter 578*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 579*4b825c74SAlexander Yermolovich .byte 145 580*4b825c74SAlexander Yermolovich .byte 124 581*4b825c74SAlexander Yermolovich .long 124 # DW_AT_abstract_origin 582*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 583*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 584*4b825c74SAlexander Yermolovich .byte 16 # Abbrev [16] 0xba:0x15 DW_TAG_subprogram 585*4b825c74SAlexander Yermolovich .byte 3 # DW_AT_low_pc 586*4b825c74SAlexander Yermolovich .long .Lfunc_end2-.Lfunc_begin2 # DW_AT_high_pc 587*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_frame_base 588*4b825c74SAlexander Yermolovich .byte 86 589*4b825c74SAlexander Yermolovich .long 115 # DW_AT_abstract_origin 590*4b825c74SAlexander Yermolovich .byte 15 # Abbrev [15] 0xc6:0x8 DW_TAG_formal_parameter 591*4b825c74SAlexander Yermolovich .byte 2 # DW_AT_location 592*4b825c74SAlexander Yermolovich .byte 145 593*4b825c74SAlexander Yermolovich .byte 124 594*4b825c74SAlexander Yermolovich .long 124 # DW_AT_abstract_origin 595*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 596*4b825c74SAlexander Yermolovich .byte 5 # Abbrev [5] 0xcf:0x5 DW_TAG_pointer_type 597*4b825c74SAlexander Yermolovich .long 212 # DW_AT_type 598*4b825c74SAlexander Yermolovich .byte 5 # Abbrev [5] 0xd4:0x5 DW_TAG_pointer_type 599*4b825c74SAlexander Yermolovich .long 217 # DW_AT_type 600*4b825c74SAlexander Yermolovich .byte 11 # Abbrev [11] 0xd9:0x4 DW_TAG_base_type 601*4b825c74SAlexander Yermolovich .byte 12 # DW_AT_name 602*4b825c74SAlexander Yermolovich .byte 6 # DW_AT_encoding 603*4b825c74SAlexander Yermolovich .byte 1 # DW_AT_byte_size 604*4b825c74SAlexander Yermolovich .byte 5 # Abbrev [5] 0xdd:0x5 DW_TAG_pointer_type 605*4b825c74SAlexander Yermolovich .long 43 # DW_AT_type 606*4b825c74SAlexander Yermolovich .byte 0 # End Of Children Mark 607*4b825c74SAlexander Yermolovich.Ldebug_info_end0: 608*4b825c74SAlexander Yermolovich .section .debug_rnglists,"",@progbits 609*4b825c74SAlexander Yermolovich .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length 610*4b825c74SAlexander Yermolovich.Ldebug_list_header_start0: 611*4b825c74SAlexander Yermolovich .short 5 # Version 612*4b825c74SAlexander Yermolovich .byte 8 # Address size 613*4b825c74SAlexander Yermolovich .byte 0 # Segment selector size 614*4b825c74SAlexander Yermolovich .long 1 # Offset entry count 615*4b825c74SAlexander Yermolovich.Lrnglists_table_base0: 616*4b825c74SAlexander Yermolovich .long .Ldebug_ranges0-.Lrnglists_table_base0 617*4b825c74SAlexander Yermolovich.Ldebug_ranges0: 618*4b825c74SAlexander Yermolovich .byte 1 # DW_RLE_base_addressx 619*4b825c74SAlexander Yermolovich .byte 0 # base address index 620*4b825c74SAlexander Yermolovich .byte 4 # DW_RLE_offset_pair 621*4b825c74SAlexander Yermolovich .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset 622*4b825c74SAlexander Yermolovich .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset 623*4b825c74SAlexander Yermolovich .byte 4 # DW_RLE_offset_pair 624*4b825c74SAlexander Yermolovich .uleb128 .Lfunc_begin2-.Lfunc_begin0 # starting offset 625*4b825c74SAlexander Yermolovich .uleb128 .Lfunc_end2-.Lfunc_begin0 # ending offset 626*4b825c74SAlexander Yermolovich .byte 3 # DW_RLE_startx_length 627*4b825c74SAlexander Yermolovich .byte 1 # start index 628*4b825c74SAlexander Yermolovich .uleb128 .Lfunc_end1-.Lfunc_begin1 # length 629*4b825c74SAlexander Yermolovich .byte 0 # DW_RLE_end_of_list 630*4b825c74SAlexander Yermolovich.Ldebug_list_header_end0: 631*4b825c74SAlexander Yermolovich .section .debug_str_offsets,"",@progbits 632*4b825c74SAlexander Yermolovich .long 64 # Length of String Offsets Set 633*4b825c74SAlexander Yermolovich .short 5 634*4b825c74SAlexander Yermolovich .short 0 635*4b825c74SAlexander Yermolovich.Lstr_offsets_base0: 636*4b825c74SAlexander Yermolovich .section .debug_str,"MS",@progbits,1 637*4b825c74SAlexander Yermolovich.Linfo_string0: 638*4b825c74SAlexander Yermolovich .asciz "clang version 20.0.0git" # string offset=0 639*4b825c74SAlexander Yermolovich.Linfo_string1: 640*4b825c74SAlexander Yermolovich .asciz "main.cpp" # string offset=24 641*4b825c74SAlexander Yermolovich.Linfo_string2: 642*4b825c74SAlexander Yermolovich .asciz "abstractChainTwo" # string offset=33 643*4b825c74SAlexander Yermolovich.Linfo_string3: 644*4b825c74SAlexander Yermolovich .asciz "State" # string offset=88 645*4b825c74SAlexander Yermolovich.Linfo_string4: 646*4b825c74SAlexander Yermolovich .asciz "main" # string offset=94 647*4b825c74SAlexander Yermolovich.Linfo_string5: 648*4b825c74SAlexander Yermolovich .asciz "_ZL3fooi" # string offset=99 649*4b825c74SAlexander Yermolovich.Linfo_string6: 650*4b825c74SAlexander Yermolovich .asciz "foo" # string offset=108 651*4b825c74SAlexander Yermolovich.Linfo_string7: 652*4b825c74SAlexander Yermolovich .asciz "int" # string offset=112 653*4b825c74SAlexander Yermolovich.Linfo_string8: 654*4b825c74SAlexander Yermolovich .asciz "i" # string offset=116 655*4b825c74SAlexander Yermolovich.Linfo_string9: 656*4b825c74SAlexander Yermolovich .asciz "_ZN5StateC2Ev" # string offset=118 657*4b825c74SAlexander Yermolovich.Linfo_string10: 658*4b825c74SAlexander Yermolovich .asciz "argc" # string offset=132 659*4b825c74SAlexander Yermolovich.Linfo_string11: 660*4b825c74SAlexander Yermolovich .asciz "argv" # string offset=137 661*4b825c74SAlexander Yermolovich.Linfo_string12: 662*4b825c74SAlexander Yermolovich .asciz "char" # string offset=142 663*4b825c74SAlexander Yermolovich.Linfo_string13: 664*4b825c74SAlexander Yermolovich .asciz "S" # string offset=147 665*4b825c74SAlexander Yermolovich.Linfo_string14: 666*4b825c74SAlexander Yermolovich .asciz "this" # string offset=149 667*4b825c74SAlexander Yermolovich .section .debug_str_offsets,"",@progbits 668*4b825c74SAlexander Yermolovich .long .Linfo_string0 669*4b825c74SAlexander Yermolovich .long .Linfo_string1 670*4b825c74SAlexander Yermolovich .long .Linfo_string2 671*4b825c74SAlexander Yermolovich .long .Linfo_string3 672*4b825c74SAlexander Yermolovich .long .Linfo_string5 673*4b825c74SAlexander Yermolovich .long .Linfo_string6 674*4b825c74SAlexander Yermolovich .long .Linfo_string7 675*4b825c74SAlexander Yermolovich .long .Linfo_string8 676*4b825c74SAlexander Yermolovich .long .Linfo_string4 677*4b825c74SAlexander Yermolovich .long .Linfo_string9 678*4b825c74SAlexander Yermolovich .long .Linfo_string10 679*4b825c74SAlexander Yermolovich .long .Linfo_string11 680*4b825c74SAlexander Yermolovich .long .Linfo_string12 681*4b825c74SAlexander Yermolovich .long .Linfo_string13 682*4b825c74SAlexander Yermolovich .long .Linfo_string14 683*4b825c74SAlexander Yermolovich .section .debug_addr,"",@progbits 684*4b825c74SAlexander Yermolovich .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 685*4b825c74SAlexander Yermolovich.Ldebug_addr_start0: 686*4b825c74SAlexander Yermolovich .short 5 # DWARF version number 687*4b825c74SAlexander Yermolovich .byte 8 # Address size 688*4b825c74SAlexander Yermolovich .byte 0 # Segment selector size 689*4b825c74SAlexander Yermolovich.Laddr_table_base0: 690*4b825c74SAlexander Yermolovich .quad .Lfunc_begin0 691*4b825c74SAlexander Yermolovich .quad .Lfunc_begin1 692*4b825c74SAlexander Yermolovich .quad .Ltmp2 693*4b825c74SAlexander Yermolovich .quad .Lfunc_begin2 694*4b825c74SAlexander Yermolovich.Ldebug_addr_end0: 695*4b825c74SAlexander Yermolovich .section .debug_names,"",@progbits 696*4b825c74SAlexander Yermolovich .long .Lnames_end0-.Lnames_start0 # Header: unit length 697*4b825c74SAlexander Yermolovich.Lnames_start0: 698*4b825c74SAlexander Yermolovich .short 5 # Header: version 699*4b825c74SAlexander Yermolovich .short 0 # Header: padding 700*4b825c74SAlexander Yermolovich .long 1 # Header: compilation unit count 701*4b825c74SAlexander Yermolovich .long 0 # Header: local type unit count 702*4b825c74SAlexander Yermolovich .long 0 # Header: foreign type unit count 703*4b825c74SAlexander Yermolovich .long 7 # Header: bucket count 704*4b825c74SAlexander Yermolovich .long 7 # Header: name count 705*4b825c74SAlexander Yermolovich .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size 706*4b825c74SAlexander Yermolovich .long 8 # Header: augmentation string size 707*4b825c74SAlexander Yermolovich .ascii "LLVM0700" # Header: augmentation string 708*4b825c74SAlexander Yermolovich .long .Lcu_begin0 # Compilation unit 0 709*4b825c74SAlexander Yermolovich .long 1 # Bucket 0 710*4b825c74SAlexander Yermolovich .long 2 # Bucket 1 711*4b825c74SAlexander Yermolovich .long 0 # Bucket 2 712*4b825c74SAlexander Yermolovich .long 3 # Bucket 3 713*4b825c74SAlexander Yermolovich .long 0 # Bucket 4 714*4b825c74SAlexander Yermolovich .long 5 # Bucket 5 715*4b825c74SAlexander Yermolovich .long 0 # Bucket 6 716*4b825c74SAlexander Yermolovich .long -685500246 # Hash in Bucket 0 717*4b825c74SAlexander Yermolovich .long 274811398 # Hash in Bucket 1 718*4b825c74SAlexander Yermolovich .long 193495088 # Hash in Bucket 3 719*4b825c74SAlexander Yermolovich .long 2090499946 # Hash in Bucket 3 720*4b825c74SAlexander Yermolovich .long 193491849 # Hash in Bucket 5 721*4b825c74SAlexander Yermolovich .long 2090147939 # Hash in Bucket 5 722*4b825c74SAlexander Yermolovich .long -71448558 # Hash in Bucket 5 723*4b825c74SAlexander Yermolovich .long .Linfo_string5 # String in Bucket 0: _ZL3fooi 724*4b825c74SAlexander Yermolovich .long .Linfo_string3 # String in Bucket 1: State 725*4b825c74SAlexander Yermolovich .long .Linfo_string7 # String in Bucket 3: int 726*4b825c74SAlexander Yermolovich .long .Linfo_string4 # String in Bucket 3: main 727*4b825c74SAlexander Yermolovich .long .Linfo_string6 # String in Bucket 5: foo 728*4b825c74SAlexander Yermolovich .long .Linfo_string12 # String in Bucket 5: char 729*4b825c74SAlexander Yermolovich .long .Linfo_string9 # String in Bucket 5: _ZN5StateC2Ev 730*4b825c74SAlexander Yermolovich .long .Lnames5-.Lnames_entries0 # Offset in Bucket 0 731*4b825c74SAlexander Yermolovich .long .Lnames0-.Lnames_entries0 # Offset in Bucket 1 732*4b825c74SAlexander Yermolovich .long .Lnames2-.Lnames_entries0 # Offset in Bucket 3 733*4b825c74SAlexander Yermolovich .long .Lnames1-.Lnames_entries0 # Offset in Bucket 3 734*4b825c74SAlexander Yermolovich .long .Lnames4-.Lnames_entries0 # Offset in Bucket 5 735*4b825c74SAlexander Yermolovich .long .Lnames6-.Lnames_entries0 # Offset in Bucket 5 736*4b825c74SAlexander Yermolovich .long .Lnames3-.Lnames_entries0 # Offset in Bucket 5 737*4b825c74SAlexander Yermolovich.Lnames_abbrev_start0: 738*4b825c74SAlexander Yermolovich .byte 1 # Abbrev code 739*4b825c74SAlexander Yermolovich .byte 29 # DW_TAG_inlined_subroutine 740*4b825c74SAlexander Yermolovich .byte 3 # DW_IDX_die_offset 741*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 742*4b825c74SAlexander Yermolovich .byte 4 # DW_IDX_parent 743*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 744*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 745*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 746*4b825c74SAlexander Yermolovich .byte 2 # Abbrev code 747*4b825c74SAlexander Yermolovich .byte 46 # DW_TAG_subprogram 748*4b825c74SAlexander Yermolovich .byte 3 # DW_IDX_die_offset 749*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 750*4b825c74SAlexander Yermolovich .byte 4 # DW_IDX_parent 751*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 752*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 753*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 754*4b825c74SAlexander Yermolovich .byte 3 # Abbrev code 755*4b825c74SAlexander Yermolovich .byte 2 # DW_TAG_class_type 756*4b825c74SAlexander Yermolovich .byte 3 # DW_IDX_die_offset 757*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 758*4b825c74SAlexander Yermolovich .byte 4 # DW_IDX_parent 759*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 760*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 761*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 762*4b825c74SAlexander Yermolovich .byte 4 # Abbrev code 763*4b825c74SAlexander Yermolovich .byte 36 # DW_TAG_base_type 764*4b825c74SAlexander Yermolovich .byte 3 # DW_IDX_die_offset 765*4b825c74SAlexander Yermolovich .byte 19 # DW_FORM_ref4 766*4b825c74SAlexander Yermolovich .byte 4 # DW_IDX_parent 767*4b825c74SAlexander Yermolovich .byte 25 # DW_FORM_flag_present 768*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 769*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev 770*4b825c74SAlexander Yermolovich .byte 0 # End of abbrev list 771*4b825c74SAlexander Yermolovich.Lnames_abbrev_end0: 772*4b825c74SAlexander Yermolovich.Lnames_entries0: 773*4b825c74SAlexander Yermolovich.Lnames5: 774*4b825c74SAlexander Yermolovich.L1: 775*4b825c74SAlexander Yermolovich .byte 1 # Abbreviation code 776*4b825c74SAlexander Yermolovich .long 163 # DW_IDX_die_offset 777*4b825c74SAlexander Yermolovich .long .L2-.Lnames_entries0 # DW_IDX_parent 778*4b825c74SAlexander Yermolovich.L0: 779*4b825c74SAlexander Yermolovich .byte 2 # Abbreviation code 780*4b825c74SAlexander Yermolovich .long 186 # DW_IDX_die_offset 781*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 782*4b825c74SAlexander Yermolovich # End of list: _ZL3fooi 783*4b825c74SAlexander Yermolovich.Lnames0: 784*4b825c74SAlexander Yermolovich.L5: 785*4b825c74SAlexander Yermolovich .byte 3 # Abbreviation code 786*4b825c74SAlexander Yermolovich .long 43 # DW_IDX_die_offset 787*4b825c74SAlexander Yermolovich.L2: # DW_IDX_parent 788*4b825c74SAlexander Yermolovich .byte 2 # Abbreviation code 789*4b825c74SAlexander Yermolovich .long 137 # DW_IDX_die_offset 790*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 791*4b825c74SAlexander Yermolovich # End of list: State 792*4b825c74SAlexander Yermolovich.Lnames2: 793*4b825c74SAlexander Yermolovich.L4: 794*4b825c74SAlexander Yermolovich .byte 4 # Abbreviation code 795*4b825c74SAlexander Yermolovich .long 133 # DW_IDX_die_offset 796*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 797*4b825c74SAlexander Yermolovich # End of list: int 798*4b825c74SAlexander Yermolovich.Lnames1: 799*4b825c74SAlexander Yermolovich.L6: 800*4b825c74SAlexander Yermolovich .byte 2 # Abbreviation code 801*4b825c74SAlexander Yermolovich .long 66 # DW_IDX_die_offset 802*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 803*4b825c74SAlexander Yermolovich # End of list: main 804*4b825c74SAlexander Yermolovich.Lnames4: 805*4b825c74SAlexander Yermolovich .byte 1 # Abbreviation code 806*4b825c74SAlexander Yermolovich .long 163 # DW_IDX_die_offset 807*4b825c74SAlexander Yermolovich .long .L2-.Lnames_entries0 # DW_IDX_parent 808*4b825c74SAlexander Yermolovich .byte 2 # Abbreviation code 809*4b825c74SAlexander Yermolovich .long 186 # DW_IDX_die_offset 810*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 811*4b825c74SAlexander Yermolovich # End of list: foo 812*4b825c74SAlexander Yermolovich.Lnames6: 813*4b825c74SAlexander Yermolovich.L3: 814*4b825c74SAlexander Yermolovich .byte 4 # Abbreviation code 815*4b825c74SAlexander Yermolovich .long 217 # DW_IDX_die_offset 816*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 817*4b825c74SAlexander Yermolovich # End of list: char 818*4b825c74SAlexander Yermolovich.Lnames3: 819*4b825c74SAlexander Yermolovich .byte 2 # Abbreviation code 820*4b825c74SAlexander Yermolovich .long 137 # DW_IDX_die_offset 821*4b825c74SAlexander Yermolovich .byte 0 # DW_IDX_parent 822*4b825c74SAlexander Yermolovich # End of list: _ZN5StateC2Ev 823*4b825c74SAlexander Yermolovich .p2align 2, 0x0 824*4b825c74SAlexander Yermolovich.Lnames_end0: 825*4b825c74SAlexander Yermolovich .ident "clang version 20.0.0git" 826*4b825c74SAlexander Yermolovich .section ".note.GNU-stack","",@progbits 827*4b825c74SAlexander Yermolovich .addrsig 828*4b825c74SAlexander Yermolovich .section .debug_line,"",@progbits 829*4b825c74SAlexander Yermolovich.Lline_table_start0: 830