1*e51a6b73Szr33# clang++ -g -gdwarf-5 -gsplit-dwarf=split -emit-llvm -S main.cpp 2*e51a6b73Szr33# llc -O0 -mtriple=x86_64-unknown-linux-gnu main.ll 3*e51a6b73Szr33# void use(int * x, int * y) { 4*e51a6b73Szr33# *x += 4; 5*e51a6b73Szr33# *y -= 2; 6*e51a6b73Szr33# } 7*e51a6b73Szr33# 8*e51a6b73Szr33# int helper(int z_, int d_); 9*e51a6b73Szr33# int x = 0; 10*e51a6b73Szr33# int y = 1; 11*e51a6b73Szr33# int main(int argc, char *argv[]) { 12*e51a6b73Szr33# x = argc; 13*e51a6b73Szr33# y = argc + 3; 14*e51a6b73Szr33# use(&x, &y); 15*e51a6b73Szr33# return helper(x, y); 16*e51a6b73Szr33# } 17*e51a6b73Szr33 18*e51a6b73Szr33 .text 19*e51a6b73Szr33 .file "main.cpp" 20*e51a6b73Szr33 .file 0 "." "main.cpp" md5 0x1f627913a0daee879e00a3a51726f0ef 21*e51a6b73Szr33 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_ 22*e51a6b73Szr33 .p2align 4, 0x90 23*e51a6b73Szr33 .type _Z3usePiS_,@function 24*e51a6b73Szr33_Z3usePiS_: # @_Z3usePiS_ 25*e51a6b73Szr33.Lfunc_begin0: 26*e51a6b73Szr33 .loc 0 1 0 # main.cpp:1:0 27*e51a6b73Szr33 .cfi_startproc 28*e51a6b73Szr33# %bb.0: # %entry 29*e51a6b73Szr33 pushq %rbp 30*e51a6b73Szr33 .cfi_def_cfa_offset 16 31*e51a6b73Szr33 .cfi_offset %rbp, -16 32*e51a6b73Szr33 movq %rsp, %rbp 33*e51a6b73Szr33 .cfi_def_cfa_register %rbp 34*e51a6b73Szr33 movq %rdi, -8(%rbp) 35*e51a6b73Szr33 movq %rsi, -16(%rbp) 36*e51a6b73Szr33.Ltmp0: 37*e51a6b73Szr33 .loc 0 2 2 prologue_end # main.cpp:2:2 38*e51a6b73Szr33 movq -8(%rbp), %rax 39*e51a6b73Szr33 .loc 0 2 4 is_stmt 0 # main.cpp:2:4 40*e51a6b73Szr33 movl (%rax), %ecx 41*e51a6b73Szr33 addl $4, %ecx 42*e51a6b73Szr33 movl %ecx, (%rax) 43*e51a6b73Szr33 .loc 0 3 2 is_stmt 1 # main.cpp:3:2 44*e51a6b73Szr33 movq -16(%rbp), %rax 45*e51a6b73Szr33 .loc 0 3 4 is_stmt 0 # main.cpp:3:4 46*e51a6b73Szr33 movl (%rax), %ecx 47*e51a6b73Szr33 subl $2, %ecx 48*e51a6b73Szr33 movl %ecx, (%rax) 49*e51a6b73Szr33 .loc 0 4 1 is_stmt 1 # main.cpp:4:1 50*e51a6b73Szr33 popq %rbp 51*e51a6b73Szr33 .cfi_def_cfa %rsp, 8 52*e51a6b73Szr33 retq 53*e51a6b73Szr33.Ltmp1: 54*e51a6b73Szr33.Lfunc_end0: 55*e51a6b73Szr33 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_ 56*e51a6b73Szr33 .cfi_endproc 57*e51a6b73Szr33 # -- End function 58*e51a6b73Szr33 .globl main # -- Begin function main 59*e51a6b73Szr33 .p2align 4, 0x90 60*e51a6b73Szr33 .type main,@function 61*e51a6b73Szr33main: # @main 62*e51a6b73Szr33.Lfunc_begin1: 63*e51a6b73Szr33 .loc 0 9 0 # main.cpp:9:0 64*e51a6b73Szr33 .cfi_startproc 65*e51a6b73Szr33# %bb.0: # %entry 66*e51a6b73Szr33 pushq %rbp 67*e51a6b73Szr33 .cfi_def_cfa_offset 16 68*e51a6b73Szr33 .cfi_offset %rbp, -16 69*e51a6b73Szr33 movq %rsp, %rbp 70*e51a6b73Szr33 .cfi_def_cfa_register %rbp 71*e51a6b73Szr33 subq $16, %rsp 72*e51a6b73Szr33 movl $0, -4(%rbp) 73*e51a6b73Szr33 movl %edi, -8(%rbp) 74*e51a6b73Szr33 movq %rsi, -16(%rbp) 75*e51a6b73Szr33.Ltmp2: 76*e51a6b73Szr33 .loc 0 10 8 prologue_end # main.cpp:10:8 77*e51a6b73Szr33 movl -8(%rbp), %eax 78*e51a6b73Szr33 .loc 0 10 6 is_stmt 0 # main.cpp:10:6 79*e51a6b73Szr33 movl %eax, x 80*e51a6b73Szr33 .loc 0 11 8 is_stmt 1 # main.cpp:11:8 81*e51a6b73Szr33 movl -8(%rbp), %eax 82*e51a6b73Szr33 .loc 0 11 13 is_stmt 0 # main.cpp:11:13 83*e51a6b73Szr33 addl $3, %eax 84*e51a6b73Szr33 .loc 0 11 6 # main.cpp:11:6 85*e51a6b73Szr33 movl %eax, y 86*e51a6b73Szr33 .loc 0 12 4 is_stmt 1 # main.cpp:12:4 87*e51a6b73Szr33 movabsq $x, %rdi 88*e51a6b73Szr33 movabsq $y, %rsi 89*e51a6b73Szr33 callq _Z3usePiS_ 90*e51a6b73Szr33 .loc 0 13 18 # main.cpp:13:18 91*e51a6b73Szr33 movl x, %edi 92*e51a6b73Szr33 .loc 0 13 21 is_stmt 0 # main.cpp:13:21 93*e51a6b73Szr33 movl y, %esi 94*e51a6b73Szr33 .loc 0 13 11 # main.cpp:13:11 95*e51a6b73Szr33 callq _Z6helperii 96*e51a6b73Szr33 .loc 0 13 4 # main.cpp:13:4 97*e51a6b73Szr33 addq $16, %rsp 98*e51a6b73Szr33 popq %rbp 99*e51a6b73Szr33 .cfi_def_cfa %rsp, 8 100*e51a6b73Szr33 retq 101*e51a6b73Szr33.Ltmp3: 102*e51a6b73Szr33.Lfunc_end1: 103*e51a6b73Szr33 .size main, .Lfunc_end1-main 104*e51a6b73Szr33 .cfi_endproc 105*e51a6b73Szr33 # -- End function 106*e51a6b73Szr33 .type x,@object # @x 107*e51a6b73Szr33 .bss 108*e51a6b73Szr33 .globl x 109*e51a6b73Szr33 .p2align 2 110*e51a6b73Szr33x: 111*e51a6b73Szr33 .long 0 # 0x0 112*e51a6b73Szr33 .size x, 4 113*e51a6b73Szr33 114*e51a6b73Szr33 .type y,@object # @y 115*e51a6b73Szr33 .data 116*e51a6b73Szr33 .globl y 117*e51a6b73Szr33 .p2align 2 118*e51a6b73Szr33y: 119*e51a6b73Szr33 .long 1 # 0x1 120*e51a6b73Szr33 .size y, 4 121*e51a6b73Szr33 122*e51a6b73Szr33 .section .debug_abbrev,"",@progbits 123*e51a6b73Szr33 .byte 1 # Abbreviation Code 124*e51a6b73Szr33 .byte 74 # DW_TAG_skeleton_unit 125*e51a6b73Szr33 .byte 0 # DW_CHILDREN_no 126*e51a6b73Szr33 .byte 16 # DW_AT_stmt_list 127*e51a6b73Szr33 .byte 23 # DW_FORM_sec_offset 128*e51a6b73Szr33 .byte 114 # DW_AT_str_offsets_base 129*e51a6b73Szr33 .byte 23 # DW_FORM_sec_offset 130*e51a6b73Szr33 .byte 27 # DW_AT_comp_dir 131*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 132*e51a6b73Szr33 .ascii "\264B" # DW_AT_GNU_pubnames 133*e51a6b73Szr33 .byte 25 # DW_FORM_flag_present 134*e51a6b73Szr33 .byte 118 # DW_AT_dwo_name 135*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 136*e51a6b73Szr33 .byte 17 # DW_AT_low_pc 137*e51a6b73Szr33 .byte 27 # DW_FORM_addrx 138*e51a6b73Szr33 .byte 18 # DW_AT_high_pc 139*e51a6b73Szr33 .byte 6 # DW_FORM_data4 140*e51a6b73Szr33 .byte 115 # DW_AT_addr_base 141*e51a6b73Szr33 .byte 23 # DW_FORM_sec_offset 142*e51a6b73Szr33 .byte 0 # EOM(1) 143*e51a6b73Szr33 .byte 0 # EOM(2) 144*e51a6b73Szr33 .byte 0 # EOM(3) 145*e51a6b73Szr33 .section .debug_info,"",@progbits 146*e51a6b73Szr33.Lcu_begin0: 147*e51a6b73Szr33 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 148*e51a6b73Szr33.Ldebug_info_start0: 149*e51a6b73Szr33 .short 5 # DWARF version number 150*e51a6b73Szr33 .byte 4 # DWARF Unit Type 151*e51a6b73Szr33 .byte 8 # Address Size (in bytes) 152*e51a6b73Szr33 .long .debug_abbrev # Offset Into Abbrev. Section 153*e51a6b73Szr33 .quad 2452897014735893912 154*e51a6b73Szr33 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit 155*e51a6b73Szr33 .long .Lline_table_start0 # DW_AT_stmt_list 156*e51a6b73Szr33 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 157*e51a6b73Szr33 .byte 0 # DW_AT_comp_dir 158*e51a6b73Szr33 # DW_AT_GNU_pubnames 159*e51a6b73Szr33 .byte 1 # DW_AT_dwo_name 160*e51a6b73Szr33 .byte 2 # DW_AT_low_pc 161*e51a6b73Szr33 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc 162*e51a6b73Szr33 .long .Laddr_table_base0 # DW_AT_addr_base 163*e51a6b73Szr33.Ldebug_info_end0: 164*e51a6b73Szr33 .section .debug_str_offsets,"",@progbits 165*e51a6b73Szr33 .long 12 # Length of String Offsets Set 166*e51a6b73Szr33 .short 5 167*e51a6b73Szr33 .short 0 168*e51a6b73Szr33.Lstr_offsets_base0: 169*e51a6b73Szr33 .section .debug_str,"MS",@progbits,1 170*e51a6b73Szr33.Lskel_string0: 171*e51a6b73Szr33 .asciz "." # string offset=0 172*e51a6b73Szr33.Lskel_string1: 173*e51a6b73Szr33 .asciz "main.dwo" # string offset=2 174*e51a6b73Szr33 .section .debug_str_offsets,"",@progbits 175*e51a6b73Szr33 .long .Lskel_string0 176*e51a6b73Szr33 .long .Lskel_string1 177*e51a6b73Szr33 .section .debug_str_offsets.dwo,"e",@progbits 178*e51a6b73Szr33 .long 52 # Length of String Offsets Set 179*e51a6b73Szr33 .short 5 180*e51a6b73Szr33 .short 0 181*e51a6b73Szr33 .section .debug_str.dwo,"eMS",@progbits,1 182*e51a6b73Szr33.Linfo_string0: 183*e51a6b73Szr33 .asciz "x" # string offset=0 184*e51a6b73Szr33.Linfo_string1: 185*e51a6b73Szr33 .asciz "int" # string offset=2 186*e51a6b73Szr33.Linfo_string2: 187*e51a6b73Szr33 .asciz "y" # string offset=6 188*e51a6b73Szr33.Linfo_string3: 189*e51a6b73Szr33 .asciz "_Z3usePiS_" # string offset=8 190*e51a6b73Szr33.Linfo_string4: 191*e51a6b73Szr33 .asciz "use" # string offset=19 192*e51a6b73Szr33.Linfo_string5: 193*e51a6b73Szr33 .asciz "main" # string offset=23 194*e51a6b73Szr33.Linfo_string6: 195*e51a6b73Szr33 .asciz "argc" # string offset=28 196*e51a6b73Szr33.Linfo_string7: 197*e51a6b73Szr33 .asciz "argv" # string offset=33 198*e51a6b73Szr33.Linfo_string8: 199*e51a6b73Szr33 .asciz "char" # string offset=38 200*e51a6b73Szr33.Linfo_string9: 201*e51a6b73Szr33 .asciz "clang version 15.0.0" # string offset=43 202*e51a6b73Szr33.Linfo_string10: 203*e51a6b73Szr33 .asciz "main.cpp" # string offset=64 204*e51a6b73Szr33.Linfo_string11: 205*e51a6b73Szr33 .asciz "main.dwo" # string offset=73 206*e51a6b73Szr33 .section .debug_str_offsets.dwo,"e",@progbits 207*e51a6b73Szr33 .long 0 208*e51a6b73Szr33 .long 2 209*e51a6b73Szr33 .long 6 210*e51a6b73Szr33 .long 8 211*e51a6b73Szr33 .long 19 212*e51a6b73Szr33 .long 23 213*e51a6b73Szr33 .long 28 214*e51a6b73Szr33 .long 33 215*e51a6b73Szr33 .long 38 216*e51a6b73Szr33 .long 43 217*e51a6b73Szr33 .long 64 218*e51a6b73Szr33 .long 73 219*e51a6b73Szr33 .section .debug_info.dwo,"e",@progbits 220*e51a6b73Szr33 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 221*e51a6b73Szr33.Ldebug_info_dwo_start0: 222*e51a6b73Szr33 .short 5 # DWARF version number 223*e51a6b73Szr33 .byte 5 # DWARF Unit Type 224*e51a6b73Szr33 .byte 8 # Address Size (in bytes) 225*e51a6b73Szr33 .long 0 # Offset Into Abbrev. Section 226*e51a6b73Szr33 .quad 2452897014735893912 227*e51a6b73Szr33 .byte 1 # Abbrev [1] 0x14:0x7d DW_TAG_compile_unit 228*e51a6b73Szr33 .byte 9 # DW_AT_producer 229*e51a6b73Szr33 .short 33 # DW_AT_language 230*e51a6b73Szr33 .byte 10 # DW_AT_name 231*e51a6b73Szr33 .byte 11 # DW_AT_dwo_name 232*e51a6b73Szr33 .byte 2 # Abbrev [2] 0x1a:0xb DW_TAG_variable 233*e51a6b73Szr33 .byte 0 # DW_AT_name 234*e51a6b73Szr33 .long 37 # DW_AT_type 235*e51a6b73Szr33 # DW_AT_external 236*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 237*e51a6b73Szr33 .byte 7 # DW_AT_decl_line 238*e51a6b73Szr33 .byte 2 # DW_AT_location 239*e51a6b73Szr33 .byte 161 240*e51a6b73Szr33 .byte 0 241*e51a6b73Szr33 .byte 3 # Abbrev [3] 0x25:0x4 DW_TAG_base_type 242*e51a6b73Szr33 .byte 1 # DW_AT_name 243*e51a6b73Szr33 .byte 5 # DW_AT_encoding 244*e51a6b73Szr33 .byte 4 # DW_AT_byte_size 245*e51a6b73Szr33 .byte 2 # Abbrev [2] 0x29:0xb DW_TAG_variable 246*e51a6b73Szr33 .byte 2 # DW_AT_name 247*e51a6b73Szr33 .long 37 # DW_AT_type 248*e51a6b73Szr33 # DW_AT_external 249*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 250*e51a6b73Szr33 .byte 8 # DW_AT_decl_line 251*e51a6b73Szr33 .byte 2 # DW_AT_location 252*e51a6b73Szr33 .byte 161 253*e51a6b73Szr33 .byte 1 254*e51a6b73Szr33 .byte 4 # Abbrev [4] 0x34:0x23 DW_TAG_subprogram 255*e51a6b73Szr33 .byte 2 # DW_AT_low_pc 256*e51a6b73Szr33 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 257*e51a6b73Szr33 .byte 1 # DW_AT_frame_base 258*e51a6b73Szr33 .byte 86 259*e51a6b73Szr33 .byte 3 # DW_AT_linkage_name 260*e51a6b73Szr33 .byte 4 # DW_AT_name 261*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 262*e51a6b73Szr33 .byte 1 # DW_AT_decl_line 263*e51a6b73Szr33 # DW_AT_external 264*e51a6b73Szr33 .byte 5 # Abbrev [5] 0x40:0xb DW_TAG_formal_parameter 265*e51a6b73Szr33 .byte 2 # DW_AT_location 266*e51a6b73Szr33 .byte 145 267*e51a6b73Szr33 .byte 120 268*e51a6b73Szr33 .byte 0 # DW_AT_name 269*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 270*e51a6b73Szr33 .byte 1 # DW_AT_decl_line 271*e51a6b73Szr33 .long 125 # DW_AT_type 272*e51a6b73Szr33 .byte 5 # Abbrev [5] 0x4b:0xb DW_TAG_formal_parameter 273*e51a6b73Szr33 .byte 2 # DW_AT_location 274*e51a6b73Szr33 .byte 145 275*e51a6b73Szr33 .byte 112 276*e51a6b73Szr33 .byte 2 # DW_AT_name 277*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 278*e51a6b73Szr33 .byte 1 # DW_AT_decl_line 279*e51a6b73Szr33 .long 125 # DW_AT_type 280*e51a6b73Szr33 .byte 0 # End Of Children Mark 281*e51a6b73Szr33 .byte 6 # Abbrev [6] 0x57:0x26 DW_TAG_subprogram 282*e51a6b73Szr33 .byte 3 # DW_AT_low_pc 283*e51a6b73Szr33 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 284*e51a6b73Szr33 .byte 1 # DW_AT_frame_base 285*e51a6b73Szr33 .byte 86 286*e51a6b73Szr33 .byte 5 # DW_AT_name 287*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 288*e51a6b73Szr33 .byte 9 # DW_AT_decl_line 289*e51a6b73Szr33 .long 37 # DW_AT_type 290*e51a6b73Szr33 # DW_AT_external 291*e51a6b73Szr33 .byte 5 # Abbrev [5] 0x66:0xb DW_TAG_formal_parameter 292*e51a6b73Szr33 .byte 2 # DW_AT_location 293*e51a6b73Szr33 .byte 145 294*e51a6b73Szr33 .byte 120 295*e51a6b73Szr33 .byte 6 # DW_AT_name 296*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 297*e51a6b73Szr33 .byte 9 # DW_AT_decl_line 298*e51a6b73Szr33 .long 37 # DW_AT_type 299*e51a6b73Szr33 .byte 5 # Abbrev [5] 0x71:0xb DW_TAG_formal_parameter 300*e51a6b73Szr33 .byte 2 # DW_AT_location 301*e51a6b73Szr33 .byte 145 302*e51a6b73Szr33 .byte 112 303*e51a6b73Szr33 .byte 7 # DW_AT_name 304*e51a6b73Szr33 .byte 0 # DW_AT_decl_file 305*e51a6b73Szr33 .byte 9 # DW_AT_decl_line 306*e51a6b73Szr33 .long 130 # DW_AT_type 307*e51a6b73Szr33 .byte 0 # End Of Children Mark 308*e51a6b73Szr33 .byte 7 # Abbrev [7] 0x7d:0x5 DW_TAG_pointer_type 309*e51a6b73Szr33 .long 37 # DW_AT_type 310*e51a6b73Szr33 .byte 7 # Abbrev [7] 0x82:0x5 DW_TAG_pointer_type 311*e51a6b73Szr33 .long 135 # DW_AT_type 312*e51a6b73Szr33 .byte 7 # Abbrev [7] 0x87:0x5 DW_TAG_pointer_type 313*e51a6b73Szr33 .long 140 # DW_AT_type 314*e51a6b73Szr33 .byte 3 # Abbrev [3] 0x8c:0x4 DW_TAG_base_type 315*e51a6b73Szr33 .byte 8 # DW_AT_name 316*e51a6b73Szr33 .byte 6 # DW_AT_encoding 317*e51a6b73Szr33 .byte 1 # DW_AT_byte_size 318*e51a6b73Szr33 .byte 0 # End Of Children Mark 319*e51a6b73Szr33.Ldebug_info_dwo_end0: 320*e51a6b73Szr33 .section .debug_abbrev.dwo,"e",@progbits 321*e51a6b73Szr33 .byte 1 # Abbreviation Code 322*e51a6b73Szr33 .byte 17 # DW_TAG_compile_unit 323*e51a6b73Szr33 .byte 1 # DW_CHILDREN_yes 324*e51a6b73Szr33 .byte 37 # DW_AT_producer 325*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 326*e51a6b73Szr33 .byte 19 # DW_AT_language 327*e51a6b73Szr33 .byte 5 # DW_FORM_data2 328*e51a6b73Szr33 .byte 3 # DW_AT_name 329*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 330*e51a6b73Szr33 .byte 118 # DW_AT_dwo_name 331*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 332*e51a6b73Szr33 .byte 0 # EOM(1) 333*e51a6b73Szr33 .byte 0 # EOM(2) 334*e51a6b73Szr33 .byte 2 # Abbreviation Code 335*e51a6b73Szr33 .byte 52 # DW_TAG_variable 336*e51a6b73Szr33 .byte 0 # DW_CHILDREN_no 337*e51a6b73Szr33 .byte 3 # DW_AT_name 338*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 339*e51a6b73Szr33 .byte 73 # DW_AT_type 340*e51a6b73Szr33 .byte 19 # DW_FORM_ref4 341*e51a6b73Szr33 .byte 63 # DW_AT_external 342*e51a6b73Szr33 .byte 25 # DW_FORM_flag_present 343*e51a6b73Szr33 .byte 58 # DW_AT_decl_file 344*e51a6b73Szr33 .byte 11 # DW_FORM_data1 345*e51a6b73Szr33 .byte 59 # DW_AT_decl_line 346*e51a6b73Szr33 .byte 11 # DW_FORM_data1 347*e51a6b73Szr33 .byte 2 # DW_AT_location 348*e51a6b73Szr33 .byte 24 # DW_FORM_exprloc 349*e51a6b73Szr33 .byte 0 # EOM(1) 350*e51a6b73Szr33 .byte 0 # EOM(2) 351*e51a6b73Szr33 .byte 3 # Abbreviation Code 352*e51a6b73Szr33 .byte 36 # DW_TAG_base_type 353*e51a6b73Szr33 .byte 0 # DW_CHILDREN_no 354*e51a6b73Szr33 .byte 3 # DW_AT_name 355*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 356*e51a6b73Szr33 .byte 62 # DW_AT_encoding 357*e51a6b73Szr33 .byte 11 # DW_FORM_data1 358*e51a6b73Szr33 .byte 11 # DW_AT_byte_size 359*e51a6b73Szr33 .byte 11 # DW_FORM_data1 360*e51a6b73Szr33 .byte 0 # EOM(1) 361*e51a6b73Szr33 .byte 0 # EOM(2) 362*e51a6b73Szr33 .byte 4 # Abbreviation Code 363*e51a6b73Szr33 .byte 46 # DW_TAG_subprogram 364*e51a6b73Szr33 .byte 1 # DW_CHILDREN_yes 365*e51a6b73Szr33 .byte 17 # DW_AT_low_pc 366*e51a6b73Szr33 .byte 27 # DW_FORM_addrx 367*e51a6b73Szr33 .byte 18 # DW_AT_high_pc 368*e51a6b73Szr33 .byte 6 # DW_FORM_data4 369*e51a6b73Szr33 .byte 64 # DW_AT_frame_base 370*e51a6b73Szr33 .byte 24 # DW_FORM_exprloc 371*e51a6b73Szr33 .byte 110 # DW_AT_linkage_name 372*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 373*e51a6b73Szr33 .byte 3 # DW_AT_name 374*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 375*e51a6b73Szr33 .byte 58 # DW_AT_decl_file 376*e51a6b73Szr33 .byte 11 # DW_FORM_data1 377*e51a6b73Szr33 .byte 59 # DW_AT_decl_line 378*e51a6b73Szr33 .byte 11 # DW_FORM_data1 379*e51a6b73Szr33 .byte 63 # DW_AT_external 380*e51a6b73Szr33 .byte 25 # DW_FORM_flag_present 381*e51a6b73Szr33 .byte 0 # EOM(1) 382*e51a6b73Szr33 .byte 0 # EOM(2) 383*e51a6b73Szr33 .byte 5 # Abbreviation Code 384*e51a6b73Szr33 .byte 5 # DW_TAG_formal_parameter 385*e51a6b73Szr33 .byte 0 # DW_CHILDREN_no 386*e51a6b73Szr33 .byte 2 # DW_AT_location 387*e51a6b73Szr33 .byte 24 # DW_FORM_exprloc 388*e51a6b73Szr33 .byte 3 # DW_AT_name 389*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 390*e51a6b73Szr33 .byte 58 # DW_AT_decl_file 391*e51a6b73Szr33 .byte 11 # DW_FORM_data1 392*e51a6b73Szr33 .byte 59 # DW_AT_decl_line 393*e51a6b73Szr33 .byte 11 # DW_FORM_data1 394*e51a6b73Szr33 .byte 73 # DW_AT_type 395*e51a6b73Szr33 .byte 19 # DW_FORM_ref4 396*e51a6b73Szr33 .byte 0 # EOM(1) 397*e51a6b73Szr33 .byte 0 # EOM(2) 398*e51a6b73Szr33 .byte 6 # Abbreviation Code 399*e51a6b73Szr33 .byte 46 # DW_TAG_subprogram 400*e51a6b73Szr33 .byte 1 # DW_CHILDREN_yes 401*e51a6b73Szr33 .byte 17 # DW_AT_low_pc 402*e51a6b73Szr33 .byte 27 # DW_FORM_addrx 403*e51a6b73Szr33 .byte 18 # DW_AT_high_pc 404*e51a6b73Szr33 .byte 6 # DW_FORM_data4 405*e51a6b73Szr33 .byte 64 # DW_AT_frame_base 406*e51a6b73Szr33 .byte 24 # DW_FORM_exprloc 407*e51a6b73Szr33 .byte 3 # DW_AT_name 408*e51a6b73Szr33 .byte 37 # DW_FORM_strx1 409*e51a6b73Szr33 .byte 58 # DW_AT_decl_file 410*e51a6b73Szr33 .byte 11 # DW_FORM_data1 411*e51a6b73Szr33 .byte 59 # DW_AT_decl_line 412*e51a6b73Szr33 .byte 11 # DW_FORM_data1 413*e51a6b73Szr33 .byte 73 # DW_AT_type 414*e51a6b73Szr33 .byte 19 # DW_FORM_ref4 415*e51a6b73Szr33 .byte 63 # DW_AT_external 416*e51a6b73Szr33 .byte 25 # DW_FORM_flag_present 417*e51a6b73Szr33 .byte 0 # EOM(1) 418*e51a6b73Szr33 .byte 0 # EOM(2) 419*e51a6b73Szr33 .byte 7 # Abbreviation Code 420*e51a6b73Szr33 .byte 15 # DW_TAG_pointer_type 421*e51a6b73Szr33 .byte 0 # DW_CHILDREN_no 422*e51a6b73Szr33 .byte 73 # DW_AT_type 423*e51a6b73Szr33 .byte 19 # DW_FORM_ref4 424*e51a6b73Szr33 .byte 0 # EOM(1) 425*e51a6b73Szr33 .byte 0 # EOM(2) 426*e51a6b73Szr33 .byte 0 # EOM(3) 427*e51a6b73Szr33 .section .debug_addr,"",@progbits 428*e51a6b73Szr33 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 429*e51a6b73Szr33.Ldebug_addr_start0: 430*e51a6b73Szr33 .short 5 # DWARF version number 431*e51a6b73Szr33 .byte 8 # Address size 432*e51a6b73Szr33 .byte 0 # Segment selector size 433*e51a6b73Szr33.Laddr_table_base0: 434*e51a6b73Szr33 .quad x 435*e51a6b73Szr33 .quad y 436*e51a6b73Szr33 .quad .Lfunc_begin0 437*e51a6b73Szr33 .quad .Lfunc_begin1 438*e51a6b73Szr33.Ldebug_addr_end0: 439*e51a6b73Szr33 .section .debug_gnu_pubnames,"",@progbits 440*e51a6b73Szr33 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info 441*e51a6b73Szr33.LpubNames_start0: 442*e51a6b73Szr33 .short 2 # DWARF Version 443*e51a6b73Szr33 .long .Lcu_begin0 # Offset of Compilation Unit Info 444*e51a6b73Szr33 .long 40 # Compilation Unit Length 445*e51a6b73Szr33 .long 87 # DIE offset 446*e51a6b73Szr33 .byte 48 # Attributes: FUNCTION, EXTERNAL 447*e51a6b73Szr33 .asciz "main" # External Name 448*e51a6b73Szr33 .long 26 # DIE offset 449*e51a6b73Szr33 .byte 32 # Attributes: VARIABLE, EXTERNAL 450*e51a6b73Szr33 .asciz "x" # External Name 451*e51a6b73Szr33 .long 41 # DIE offset 452*e51a6b73Szr33 .byte 32 # Attributes: VARIABLE, EXTERNAL 453*e51a6b73Szr33 .asciz "y" # External Name 454*e51a6b73Szr33 .long 52 # DIE offset 455*e51a6b73Szr33 .byte 48 # Attributes: FUNCTION, EXTERNAL 456*e51a6b73Szr33 .asciz "use" # External Name 457*e51a6b73Szr33 .long 0 # End Mark 458*e51a6b73Szr33.LpubNames_end0: 459*e51a6b73Szr33 .section .debug_gnu_pubtypes,"",@progbits 460*e51a6b73Szr33 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info 461*e51a6b73Szr33.LpubTypes_start0: 462*e51a6b73Szr33 .short 2 # DWARF Version 463*e51a6b73Szr33 .long .Lcu_begin0 # Offset of Compilation Unit Info 464*e51a6b73Szr33 .long 40 # Compilation Unit Length 465*e51a6b73Szr33 .long 37 # DIE offset 466*e51a6b73Szr33 .byte 144 # Attributes: TYPE, STATIC 467*e51a6b73Szr33 .asciz "int" # External Name 468*e51a6b73Szr33 .long 140 # DIE offset 469*e51a6b73Szr33 .byte 144 # Attributes: TYPE, STATIC 470*e51a6b73Szr33 .asciz "char" # External Name 471*e51a6b73Szr33 .long 0 # End Mark 472*e51a6b73Szr33.LpubTypes_end0: 473*e51a6b73Szr33 .ident "clang version 15.0.0" 474*e51a6b73Szr33 .section ".note.GNU-stack","",@progbits 475*e51a6b73Szr33 .section .debug_line,"",@progbits 476*e51a6b73Szr33.Lline_table_start0: 477