775 lines · plain
1# clang++ -O2 -g -gdwarf-5 -gsplit-dwarf main.cpp2# void use(int * x, int * y) {3# static int Foo = *y + *x;4# *x += 4;5# *y -= Foo;6# }7#8# int x = 0;9# int y = 1;10# int main(int argc, char *argv[]) {11# x = argc;12# y = argc + 3;13# use(&x, &y);14# return 0;15# }16 .text17 .file "main.cpp"18 .file 0 "." "main.cpp" md5 0x4f704c611bdcbf8d7a62eb17d439188e19 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_20 .p2align 4, 0x9021 .type _Z3usePiS_,@function22_Z3usePiS_: # @_Z3usePiS_23.Lfunc_begin0:24 .loc 0 1 0 # main.cpp:1:025 .cfi_startproc26# %bb.0: # %entry27 #DEBUG_VALUE: use:x <- $rdi28 #DEBUG_VALUE: use:y <- $rsi29 pushq %r1430 .cfi_def_cfa_offset 1631 pushq %rbx32 .cfi_def_cfa_offset 2433 pushq %rax34 .cfi_def_cfa_offset 3235 .cfi_offset %rbx, -2436 .cfi_offset %r14, -1637 movq %rsi, %rbx38 movq %rdi, %r1439.Ltmp0:40 .loc 0 2 2 prologue_end # main.cpp:2:241 movzbl _ZGVZ3usePiS_E3Foo(%rip), %eax42 testb %al, %al43 je .LBB0_144.Ltmp1:45.LBB0_3: # %init.end46 #DEBUG_VALUE: use:x <- $r1447 #DEBUG_VALUE: use:y <- $rbx48 .loc 0 3 5 # main.cpp:3:549 addl $4, (%r14)50 .loc 0 4 8 # main.cpp:4:851 movl _ZZ3usePiS_E3Foo(%rip), %eax52 .loc 0 4 5 is_stmt 0 # main.cpp:4:553 subl %eax, (%rbx)54 .loc 0 5 1 epilogue_begin is_stmt 1 # main.cpp:5:155 addq $8, %rsp56 .cfi_def_cfa_offset 2457 popq %rbx58.Ltmp2:59 #DEBUG_VALUE: use:y <- [DW_OP_LLVM_entry_value 1] $rsi60 .cfi_def_cfa_offset 1661 popq %r1462.Ltmp3:63 #DEBUG_VALUE: use:x <- [DW_OP_LLVM_entry_value 1] $rdi64 .cfi_def_cfa_offset 865 retq66.Ltmp4:67.LBB0_1: # %init.check68 .cfi_def_cfa_offset 3269 #DEBUG_VALUE: use:x <- $r1470 #DEBUG_VALUE: use:y <- $rbx71 .loc 0 2 2 # main.cpp:2:272 leaq _ZGVZ3usePiS_E3Foo(%rip), %rdi73 callq __cxa_guard_acquire@PLT74.Ltmp5:75 testl %eax, %eax76 je .LBB0_377.Ltmp6:78# %bb.2: # %init79 #DEBUG_VALUE: use:x <- $r1480 #DEBUG_VALUE: use:y <- $rbx81 .loc 0 2 24 is_stmt 0 # main.cpp:2:2482 movl (%r14), %eax83 .loc 0 2 22 # main.cpp:2:2284 addl (%rbx), %eax85 .loc 0 2 2 # main.cpp:2:286 movl %eax, _ZZ3usePiS_E3Foo(%rip)87 leaq _ZGVZ3usePiS_E3Foo(%rip), %rdi88 callq __cxa_guard_release@PLT89.Ltmp7:90 .loc 0 0 2 # main.cpp:0:291 jmp .LBB0_392.Ltmp8:93.Lfunc_end0:94 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_95 .cfi_endproc96 # -- End function97 .globl main # -- Begin function main98 .p2align 4, 0x9099 .type main,@function100main: # @main101.Lfunc_begin1:102 .cfi_startproc103# %bb.0: # %entry104 #DEBUG_VALUE: main:argc <- $edi105 #DEBUG_VALUE: main:argv <- $rsi106 .loc 0 10 6 prologue_end is_stmt 1 # main.cpp:10:6107 movl %edi, x(%rip)108 .loc 0 11 13 # main.cpp:11:13109 addl $3, %edi110.Ltmp9:111 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi112 .loc 0 11 6 is_stmt 0 # main.cpp:11:6113 movl %edi, y(%rip)114.Ltmp10:115 #DEBUG_VALUE: use:y <- undef116 #DEBUG_VALUE: use:x <- undef117 .loc 0 2 2 is_stmt 1 # main.cpp:2:2118 movzbl _ZGVZ3usePiS_E3Foo(%rip), %eax119 testb %al, %al120 je .LBB1_1121.Ltmp11:122.LBB1_4: # %_Z3usePiS_.exit123 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi124 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi125 .loc 0 3 5 # main.cpp:3:5126 addl $4, x(%rip)127 .loc 0 4 8 # main.cpp:4:8128 movl _ZZ3usePiS_E3Foo(%rip), %eax129 .loc 0 4 5 is_stmt 0 # main.cpp:4:5130 subl %eax, y(%rip)131.Ltmp12:132 .loc 0 13 4 is_stmt 1 # main.cpp:13:4133 xorl %eax, %eax134 retq135.Ltmp13:136.LBB1_1: # %init.check.i137 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi138 #DEBUG_VALUE: main:argv <- $rsi139 pushq %rax140 .cfi_def_cfa_offset 16141.Ltmp14:142 .loc 0 2 2 # main.cpp:2:2143 leaq _ZGVZ3usePiS_E3Foo(%rip), %rdi144 callq __cxa_guard_acquire@PLT145.Ltmp15:146 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi147 testl %eax, %eax148 je .LBB1_3149.Ltmp16:150# %bb.2: # %init.i151 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi152 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi153 .loc 0 2 24 is_stmt 0 # main.cpp:2:24154 movl x(%rip), %eax155 .loc 0 2 22 # main.cpp:2:22156 addl y(%rip), %eax157 .loc 0 2 2 # main.cpp:2:2158 movl %eax, _ZZ3usePiS_E3Foo(%rip)159 leaq _ZGVZ3usePiS_E3Foo(%rip), %rdi160 callq __cxa_guard_release@PLT161.Ltmp17:162.LBB1_3:163 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi164 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi165 .loc 0 0 2 # main.cpp:0:2166 addq $8, %rsp167 .cfi_def_cfa_offset 8168 jmp .LBB1_4169.Lfunc_end1:170 .size main, .Lfunc_end1-main171 .cfi_endproc172 # -- End function173 .type _ZZ3usePiS_E3Foo,@object # @_ZZ3usePiS_E3Foo174 .local _ZZ3usePiS_E3Foo175 .comm _ZZ3usePiS_E3Foo,4,4176 .type _ZGVZ3usePiS_E3Foo,@object # @_ZGVZ3usePiS_E3Foo177 .local _ZGVZ3usePiS_E3Foo178 .comm _ZGVZ3usePiS_E3Foo,8,8179 .type x,@object # @x180 .bss181 .globl x182 .p2align 2, 0x0183x:184 .long 0 # 0x0185 .size x, 4186 187 .type y,@object # @y188 .data189 .globl y190 .p2align 2, 0x0191y:192 .long 1 # 0x1193 .size y, 4194 195 .section .debug_loclists.dwo,"e",@progbits196 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length197.Ldebug_list_header_start0:198 .short 5 # Version199 .byte 8 # Address size200 .byte 0 # Segment selector size201 .long 4 # Offset entry count202.Lloclists_table_base0:203 .long .Ldebug_loc0-.Lloclists_table_base0204 .long .Ldebug_loc1-.Lloclists_table_base0205 .long .Ldebug_loc2-.Lloclists_table_base0206 .long .Ldebug_loc3-.Lloclists_table_base0207.Ldebug_loc0:208 .byte 1 # DW_LLE_base_addressx209 .byte 3 # base address index210 .byte 4 # DW_LLE_offset_pair211 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset212 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset213 .byte 1 # Loc expr size214 .byte 85 # DW_OP_reg5215 .byte 4 # DW_LLE_offset_pair216 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset217 .uleb128 .Ltmp3-.Lfunc_begin0 # ending offset218 .byte 1 # Loc expr size219 .byte 94 # DW_OP_reg14220 .byte 4 # DW_LLE_offset_pair221 .uleb128 .Ltmp3-.Lfunc_begin0 # starting offset222 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset223 .byte 4 # Loc expr size224 .byte 163 # DW_OP_entry_value225 .byte 1 # 1226 .byte 85 # DW_OP_reg5227 .byte 159 # DW_OP_stack_value228 .byte 4 # DW_LLE_offset_pair229 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset230 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset231 .byte 1 # Loc expr size232 .byte 94 # DW_OP_reg14233 .byte 0 # DW_LLE_end_of_list234.Ldebug_loc1:235 .byte 1 # DW_LLE_base_addressx236 .byte 3 # base address index237 .byte 4 # DW_LLE_offset_pair238 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset239 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset240 .byte 1 # Loc expr size241 .byte 84 # DW_OP_reg4242 .byte 4 # DW_LLE_offset_pair243 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset244 .uleb128 .Ltmp2-.Lfunc_begin0 # ending offset245 .byte 1 # Loc expr size246 .byte 83 # DW_OP_reg3247 .byte 4 # DW_LLE_offset_pair248 .uleb128 .Ltmp2-.Lfunc_begin0 # starting offset249 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset250 .byte 4 # Loc expr size251 .byte 163 # DW_OP_entry_value252 .byte 1 # 1253 .byte 84 # DW_OP_reg4254 .byte 159 # DW_OP_stack_value255 .byte 4 # DW_LLE_offset_pair256 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset257 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset258 .byte 1 # Loc expr size259 .byte 83 # DW_OP_reg3260 .byte 0 # DW_LLE_end_of_list261.Ldebug_loc2:262 .byte 1 # DW_LLE_base_addressx263 .byte 3 # base address index264 .byte 4 # DW_LLE_offset_pair265 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset266 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset267 .byte 1 # Loc expr size268 .byte 85 # super-register DW_OP_reg5269 .byte 4 # DW_LLE_offset_pair270 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset271 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset272 .byte 4 # Loc expr size273 .byte 163 # DW_OP_entry_value274 .byte 1 # 1275 .byte 85 # super-register DW_OP_reg5276 .byte 159 # DW_OP_stack_value277 .byte 0 # DW_LLE_end_of_list278.Ldebug_loc3:279 .byte 1 # DW_LLE_base_addressx280 .byte 3 # base address index281 .byte 4 # DW_LLE_offset_pair282 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset283 .uleb128 .Ltmp11-.Lfunc_begin0 # ending offset284 .byte 1 # Loc expr size285 .byte 84 # DW_OP_reg4286 .byte 4 # DW_LLE_offset_pair287 .uleb128 .Ltmp11-.Lfunc_begin0 # starting offset288 .uleb128 .Ltmp13-.Lfunc_begin0 # ending offset289 .byte 4 # Loc expr size290 .byte 163 # DW_OP_entry_value291 .byte 1 # 1292 .byte 84 # DW_OP_reg4293 .byte 159 # DW_OP_stack_value294 .byte 4 # DW_LLE_offset_pair295 .uleb128 .Ltmp13-.Lfunc_begin0 # starting offset296 .uleb128 .Ltmp15-.Lfunc_begin0 # ending offset297 .byte 1 # Loc expr size298 .byte 84 # DW_OP_reg4299 .byte 4 # DW_LLE_offset_pair300 .uleb128 .Ltmp15-.Lfunc_begin0 # starting offset301 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset302 .byte 4 # Loc expr size303 .byte 163 # DW_OP_entry_value304 .byte 1 # 1305 .byte 84 # DW_OP_reg4306 .byte 159 # DW_OP_stack_value307 .byte 0 # DW_LLE_end_of_list308.Ldebug_list_header_end0:309 .section .debug_abbrev,"",@progbits310 .byte 1 # Abbreviation Code311 .byte 74 # DW_TAG_skeleton_unit312 .byte 0 # DW_CHILDREN_no313 .byte 16 # DW_AT_stmt_list314 .byte 23 # DW_FORM_sec_offset315 .byte 114 # DW_AT_str_offsets_base316 .byte 23 # DW_FORM_sec_offset317 .byte 27 # DW_AT_comp_dir318 .byte 37 # DW_FORM_strx1319 .ascii "\264B" # DW_AT_GNU_pubnames320 .byte 25 # DW_FORM_flag_present321 .byte 118 # DW_AT_dwo_name322 .byte 37 # DW_FORM_strx1323 .byte 17 # DW_AT_low_pc324 .byte 27 # DW_FORM_addrx325 .byte 18 # DW_AT_high_pc326 .byte 6 # DW_FORM_data4327 .byte 115 # DW_AT_addr_base328 .byte 23 # DW_FORM_sec_offset329 .byte 0 # EOM(1)330 .byte 0 # EOM(2)331 .byte 0 # EOM(3)332 .section .debug_info,"",@progbits333.Lcu_begin0:334 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit335.Ldebug_info_start0:336 .short 5 # DWARF version number337 .byte 4 # DWARF Unit Type338 .byte 8 # Address Size (in bytes)339 .long .debug_abbrev # Offset Into Abbrev. Section340 .quad -3440409667494789237341 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit342 .long .Lline_table_start0 # DW_AT_stmt_list343 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base344 .byte 0 # DW_AT_comp_dir345 # DW_AT_GNU_pubnames346 .byte 1 # DW_AT_dwo_name347 .byte 3 # DW_AT_low_pc348 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc349 .long .Laddr_table_base0 # DW_AT_addr_base350.Ldebug_info_end0:351 .section .debug_str_offsets,"",@progbits352 .long 12 # Length of String Offsets Set353 .short 5354 .short 0355.Lstr_offsets_base0:356 .section .debug_str,"MS",@progbits,1357.Lskel_string0:358 .asciz "." # string offset=0359.Lskel_string1:360 .asciz "main.dwo" # string offset=38361 .section .debug_str_offsets,"",@progbits362 .long .Lskel_string0363 .long .Lskel_string1364 .section .debug_str_offsets.dwo,"e",@progbits365 .long 56 # Length of String Offsets Set366 .short 5367 .short 0368 .section .debug_str.dwo,"eMS",@progbits,1369.Linfo_string0:370 .asciz "Foo" # string offset=0371.Linfo_string1:372 .asciz "int" # string offset=4373.Linfo_string2:374 .asciz "x" # string offset=8375.Linfo_string3:376 .asciz "y" # string offset=10377.Linfo_string4:378 .asciz "_Z3usePiS_" # string offset=12379.Linfo_string5:380 .asciz "use" # string offset=23381.Linfo_string6:382 .asciz "main" # string offset=27383.Linfo_string7:384 .asciz "argc" # string offset=32385.Linfo_string8:386 .asciz "argv" # string offset=37387.Linfo_string9:388 .asciz "char" # string offset=42389.Linfo_string10:390 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=47391.Linfo_string11:392 .asciz "main.cpp" # string offset=148393.Linfo_string12:394 .asciz "main.dwo" # string offset=157395 .section .debug_str_offsets.dwo,"e",@progbits396 .long 0397 .long 4398 .long 8399 .long 10400 .long 12401 .long 23402 .long 27403 .long 32404 .long 37405 .long 42406 .long 47407 .long 148408 .long 157409 .section .debug_info.dwo,"e",@progbits410 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit411.Ldebug_info_dwo_start0:412 .short 5 # DWARF version number413 .byte 5 # DWARF Unit Type414 .byte 8 # Address Size (in bytes)415 .long 0 # Offset Into Abbrev. Section416 .quad -3440409667494789237417 .byte 1 # Abbrev [1] 0x14:0x95 DW_TAG_compile_unit418 .byte 10 # DW_AT_producer419 .short 33 # DW_AT_language420 .byte 11 # DW_AT_name421 .byte 12 # DW_AT_dwo_name422 .byte 2 # Abbrev [2] 0x1a:0x24 DW_TAG_subprogram423 .byte 3 # DW_AT_low_pc424 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc425 .byte 1 # DW_AT_frame_base426 .byte 87427 # DW_AT_call_all_calls428 .long 88 # DW_AT_abstract_origin429 .byte 3 # Abbrev [3] 0x26:0xb DW_TAG_variable430 .byte 0 # DW_AT_name431 .long 62 # DW_AT_type432 .byte 0 # DW_AT_decl_file433 .byte 2 # DW_AT_decl_line434 .byte 2 # DW_AT_location435 .byte 161436 .byte 0437 .byte 4 # Abbrev [4] 0x31:0x6 DW_TAG_formal_parameter438 .byte 0 # DW_AT_location439 .long 93 # DW_AT_abstract_origin440 .byte 4 # Abbrev [4] 0x37:0x6 DW_TAG_formal_parameter441 .byte 1 # DW_AT_location442 .long 101 # DW_AT_abstract_origin443 .byte 0 # End Of Children Mark444 .byte 5 # Abbrev [5] 0x3e:0x4 DW_TAG_base_type445 .byte 1 # DW_AT_name446 .byte 5 # DW_AT_encoding447 .byte 4 # DW_AT_byte_size448 .byte 6 # Abbrev [6] 0x42:0xb DW_TAG_variable449 .byte 2 # DW_AT_name450 .long 62 # DW_AT_type451 # DW_AT_external452 .byte 0 # DW_AT_decl_file453 .byte 7 # DW_AT_decl_line454 .byte 2 # DW_AT_location455 .byte 161456 .byte 1457 .byte 6 # Abbrev [6] 0x4d:0xb DW_TAG_variable458 .byte 3 # DW_AT_name459 .long 62 # DW_AT_type460 # DW_AT_external461 .byte 0 # DW_AT_decl_file462 .byte 8 # DW_AT_decl_line463 .byte 2 # DW_AT_location464 .byte 161465 .byte 2466 .byte 7 # Abbrev [7] 0x58:0x16 DW_TAG_subprogram467 .byte 4 # DW_AT_linkage_name468 .byte 5 # DW_AT_name469 .byte 0 # DW_AT_decl_file470 .byte 1 # DW_AT_decl_line471 # DW_AT_external472 # DW_AT_inline473 .byte 8 # Abbrev [8] 0x5d:0x8 DW_TAG_formal_parameter474 .byte 2 # DW_AT_name475 .byte 0 # DW_AT_decl_file476 .byte 1 # DW_AT_decl_line477 .long 110 # DW_AT_type478 .byte 8 # Abbrev [8] 0x65:0x8 DW_TAG_formal_parameter479 .byte 3 # DW_AT_name480 .byte 0 # DW_AT_decl_file481 .byte 1 # DW_AT_decl_line482 .long 110 # DW_AT_type483 .byte 0 # End Of Children Mark484 .byte 9 # Abbrev [9] 0x6e:0x5 DW_TAG_pointer_type485 .long 62 # DW_AT_type486 .byte 10 # Abbrev [10] 0x73:0x27 DW_TAG_subprogram487 .byte 0 # DW_AT_ranges488 .byte 1 # DW_AT_frame_base489 .byte 87490 # DW_AT_call_all_calls491 .byte 6 # DW_AT_name492 .byte 0 # DW_AT_decl_file493 .byte 9 # DW_AT_decl_line494 .long 62 # DW_AT_type495 # DW_AT_external496 .byte 11 # Abbrev [11] 0x7e:0x9 DW_TAG_formal_parameter497 .byte 2 # DW_AT_location498 .byte 7 # DW_AT_name499 .byte 0 # DW_AT_decl_file500 .byte 9 # DW_AT_decl_line501 .long 62 # DW_AT_type502 .byte 11 # Abbrev [11] 0x87:0x9 DW_TAG_formal_parameter503 .byte 3 # DW_AT_location504 .byte 8 # DW_AT_name505 .byte 0 # DW_AT_decl_file506 .byte 9 # DW_AT_decl_line507 .long 154 # DW_AT_type508 .byte 12 # Abbrev [12] 0x90:0x9 DW_TAG_inlined_subroutine509 .long 88 # DW_AT_abstract_origin510 .byte 1 # DW_AT_ranges511 .byte 0 # DW_AT_call_file512 .byte 12 # DW_AT_call_line513 .byte 4 # DW_AT_call_column514 .byte 0 # End Of Children Mark515 .byte 9 # Abbrev [9] 0x9a:0x5 DW_TAG_pointer_type516 .long 159 # DW_AT_type517 .byte 9 # Abbrev [9] 0x9f:0x5 DW_TAG_pointer_type518 .long 164 # DW_AT_type519 .byte 5 # Abbrev [5] 0xa4:0x4 DW_TAG_base_type520 .byte 9 # DW_AT_name521 .byte 6 # DW_AT_encoding522 .byte 1 # DW_AT_byte_size523 .byte 0 # End Of Children Mark524.Ldebug_info_dwo_end0:525 .section .debug_abbrev.dwo,"e",@progbits526 .byte 1 # Abbreviation Code527 .byte 17 # DW_TAG_compile_unit528 .byte 1 # DW_CHILDREN_yes529 .byte 37 # DW_AT_producer530 .byte 37 # DW_FORM_strx1531 .byte 19 # DW_AT_language532 .byte 5 # DW_FORM_data2533 .byte 3 # DW_AT_name534 .byte 37 # DW_FORM_strx1535 .byte 118 # DW_AT_dwo_name536 .byte 37 # DW_FORM_strx1537 .byte 0 # EOM(1)538 .byte 0 # EOM(2)539 .byte 2 # Abbreviation Code540 .byte 46 # DW_TAG_subprogram541 .byte 1 # DW_CHILDREN_yes542 .byte 17 # DW_AT_low_pc543 .byte 27 # DW_FORM_addrx544 .byte 18 # DW_AT_high_pc545 .byte 6 # DW_FORM_data4546 .byte 64 # DW_AT_frame_base547 .byte 24 # DW_FORM_exprloc548 .byte 122 # DW_AT_call_all_calls549 .byte 25 # DW_FORM_flag_present550 .byte 49 # DW_AT_abstract_origin551 .byte 19 # DW_FORM_ref4552 .byte 0 # EOM(1)553 .byte 0 # EOM(2)554 .byte 3 # Abbreviation Code555 .byte 52 # DW_TAG_variable556 .byte 0 # DW_CHILDREN_no557 .byte 3 # DW_AT_name558 .byte 37 # DW_FORM_strx1559 .byte 73 # DW_AT_type560 .byte 19 # DW_FORM_ref4561 .byte 58 # DW_AT_decl_file562 .byte 11 # DW_FORM_data1563 .byte 59 # DW_AT_decl_line564 .byte 11 # DW_FORM_data1565 .byte 2 # DW_AT_location566 .byte 24 # DW_FORM_exprloc567 .byte 0 # EOM(1)568 .byte 0 # EOM(2)569 .byte 4 # Abbreviation Code570 .byte 5 # DW_TAG_formal_parameter571 .byte 0 # DW_CHILDREN_no572 .byte 2 # DW_AT_location573 .byte 34 # DW_FORM_loclistx574 .byte 49 # DW_AT_abstract_origin575 .byte 19 # DW_FORM_ref4576 .byte 0 # EOM(1)577 .byte 0 # EOM(2)578 .byte 5 # Abbreviation Code579 .byte 36 # DW_TAG_base_type580 .byte 0 # DW_CHILDREN_no581 .byte 3 # DW_AT_name582 .byte 37 # DW_FORM_strx1583 .byte 62 # DW_AT_encoding584 .byte 11 # DW_FORM_data1585 .byte 11 # DW_AT_byte_size586 .byte 11 # DW_FORM_data1587 .byte 0 # EOM(1)588 .byte 0 # EOM(2)589 .byte 6 # Abbreviation Code590 .byte 52 # DW_TAG_variable591 .byte 0 # DW_CHILDREN_no592 .byte 3 # DW_AT_name593 .byte 37 # DW_FORM_strx1594 .byte 73 # DW_AT_type595 .byte 19 # DW_FORM_ref4596 .byte 63 # DW_AT_external597 .byte 25 # DW_FORM_flag_present598 .byte 58 # DW_AT_decl_file599 .byte 11 # DW_FORM_data1600 .byte 59 # DW_AT_decl_line601 .byte 11 # DW_FORM_data1602 .byte 2 # DW_AT_location603 .byte 24 # DW_FORM_exprloc604 .byte 0 # EOM(1)605 .byte 0 # EOM(2)606 .byte 7 # Abbreviation Code607 .byte 46 # DW_TAG_subprogram608 .byte 1 # DW_CHILDREN_yes609 .byte 110 # DW_AT_linkage_name610 .byte 37 # DW_FORM_strx1611 .byte 3 # DW_AT_name612 .byte 37 # DW_FORM_strx1613 .byte 58 # DW_AT_decl_file614 .byte 11 # DW_FORM_data1615 .byte 59 # DW_AT_decl_line616 .byte 11 # DW_FORM_data1617 .byte 63 # DW_AT_external618 .byte 25 # DW_FORM_flag_present619 .byte 32 # DW_AT_inline620 .byte 33 # DW_FORM_implicit_const621 .byte 1622 .byte 0 # EOM(1)623 .byte 0 # EOM(2)624 .byte 8 # Abbreviation Code625 .byte 5 # DW_TAG_formal_parameter626 .byte 0 # DW_CHILDREN_no627 .byte 3 # DW_AT_name628 .byte 37 # DW_FORM_strx1629 .byte 58 # DW_AT_decl_file630 .byte 11 # DW_FORM_data1631 .byte 59 # DW_AT_decl_line632 .byte 11 # DW_FORM_data1633 .byte 73 # DW_AT_type634 .byte 19 # DW_FORM_ref4635 .byte 0 # EOM(1)636 .byte 0 # EOM(2)637 .byte 9 # Abbreviation Code638 .byte 15 # DW_TAG_pointer_type639 .byte 0 # DW_CHILDREN_no640 .byte 73 # DW_AT_type641 .byte 19 # DW_FORM_ref4642 .byte 0 # EOM(1)643 .byte 0 # EOM(2)644 .byte 10 # Abbreviation Code645 .byte 46 # DW_TAG_subprogram646 .byte 1 # DW_CHILDREN_yes647 .byte 85 # DW_AT_ranges648 .byte 35 # DW_FORM_rnglistx649 .byte 64 # DW_AT_frame_base650 .byte 24 # DW_FORM_exprloc651 .byte 122 # DW_AT_call_all_calls652 .byte 25 # DW_FORM_flag_present653 .byte 3 # DW_AT_name654 .byte 37 # DW_FORM_strx1655 .byte 58 # DW_AT_decl_file656 .byte 11 # DW_FORM_data1657 .byte 59 # DW_AT_decl_line658 .byte 11 # DW_FORM_data1659 .byte 73 # DW_AT_type660 .byte 19 # DW_FORM_ref4661 .byte 63 # DW_AT_external662 .byte 25 # DW_FORM_flag_present663 .byte 0 # EOM(1)664 .byte 0 # EOM(2)665 .byte 11 # Abbreviation Code666 .byte 5 # DW_TAG_formal_parameter667 .byte 0 # DW_CHILDREN_no668 .byte 2 # DW_AT_location669 .byte 34 # DW_FORM_loclistx670 .byte 3 # DW_AT_name671 .byte 37 # DW_FORM_strx1672 .byte 58 # DW_AT_decl_file673 .byte 11 # DW_FORM_data1674 .byte 59 # DW_AT_decl_line675 .byte 11 # DW_FORM_data1676 .byte 73 # DW_AT_type677 .byte 19 # DW_FORM_ref4678 .byte 0 # EOM(1)679 .byte 0 # EOM(2)680 .byte 12 # Abbreviation Code681 .byte 29 # DW_TAG_inlined_subroutine682 .byte 0 # DW_CHILDREN_no683 .byte 49 # DW_AT_abstract_origin684 .byte 19 # DW_FORM_ref4685 .byte 85 # DW_AT_ranges686 .byte 35 # DW_FORM_rnglistx687 .byte 88 # DW_AT_call_file688 .byte 11 # DW_FORM_data1689 .byte 89 # DW_AT_call_line690 .byte 11 # DW_FORM_data1691 .byte 87 # DW_AT_call_column692 .byte 11 # DW_FORM_data1693 .byte 0 # EOM(1)694 .byte 0 # EOM(2)695 .byte 0 # EOM(3)696 .section .debug_rnglists.dwo,"e",@progbits697 .long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length698.Ldebug_list_header_start1:699 .short 5 # Version700 .byte 8 # Address size701 .byte 0 # Segment selector size702 .long 2 # Offset entry count703.Lrnglists_dwo_table_base0:704 .long .Ldebug_ranges0-.Lrnglists_dwo_table_base0705 .long .Ldebug_ranges1-.Lrnglists_dwo_table_base0706.Ldebug_ranges0:707 .byte 4 # DW_RLE_offset_pair708 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset709 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset710 .byte 0 # DW_RLE_end_of_list711.Ldebug_ranges1:712 .byte 4 # DW_RLE_offset_pair713 .uleb128 .Ltmp10-.Lfunc_begin0 # starting offset714 .uleb128 .Ltmp12-.Lfunc_begin0 # ending offset715 .byte 4 # DW_RLE_offset_pair716 .uleb128 .Ltmp14-.Lfunc_begin0 # starting offset717 .uleb128 .Ltmp17-.Lfunc_begin0 # ending offset718 .byte 0 # DW_RLE_end_of_list719.Ldebug_list_header_end1:720 .section .debug_addr,"",@progbits721 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution722.Ldebug_addr_start0:723 .short 5 # DWARF version number724 .byte 8 # Address size725 .byte 0 # Segment selector size726.Laddr_table_base0:727 .quad _ZZ3usePiS_E3Foo728 .quad x729 .quad y730 .quad .Lfunc_begin0731.Ldebug_addr_end0:732 .section .debug_gnu_pubnames,"",@progbits733 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info734.LpubNames_start0:735 .short 2 # DWARF Version736 .long .Lcu_begin0 # Offset of Compilation Unit Info737 .long 40 # Compilation Unit Length738 .long 38 # DIE offset739 .byte 160 # Attributes: VARIABLE, STATIC740 .asciz "use::Foo" # External Name741 .long 66 # DIE offset742 .byte 32 # Attributes: VARIABLE, EXTERNAL743 .asciz "x" # External Name744 .long 77 # DIE offset745 .byte 32 # Attributes: VARIABLE, EXTERNAL746 .asciz "y" # External Name747 .long 88 # DIE offset748 .byte 48 # Attributes: FUNCTION, EXTERNAL749 .asciz "use" # External Name750 .long 115 # DIE offset751 .byte 48 # Attributes: FUNCTION, EXTERNAL752 .asciz "main" # External Name753 .long 0 # End Mark754.LpubNames_end0:755 .section .debug_gnu_pubtypes,"",@progbits756 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info757.LpubTypes_start0:758 .short 2 # DWARF Version759 .long .Lcu_begin0 # Offset of Compilation Unit Info760 .long 40 # Compilation Unit Length761 .long 62 # DIE offset762 .byte 144 # Attributes: TYPE, STATIC763 .asciz "int" # External Name764 .long 164 # DIE offset765 .byte 144 # Attributes: TYPE, STATIC766 .asciz "char" # External Name767 .long 0 # End Mark768.LpubTypes_end0:769 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)"770 .section ".note.GNU-stack","",@progbits771 .addrsig772 .addrsig_sym _ZGVZ3usePiS_E3Foo773 .section .debug_line,"",@progbits774.Lline_table_start0:775