1# clang++ -fbasic-block-sections=all -ffunction-sections -g2 -gdwarf-4 -gsplit-dwarf 2# __attribute__((always_inline)) 3# int doStuff(int val) { 4# if (val) 5# ++val; 6# return val; 7# } 8# __attribute__((always_inline)) 9# int doStuff2(int val) { 10# int foo = 3; 11# return val + foo; 12# } 13# 14# 15# int main(int argc, const char** argv) { 16# return doStuff(argc) + doStuff2(argc);; 17# } 18 19 .text 20 .file "main.cpp" 21 .section .text._Z7doStuffi,"ax",@progbits 22 .globl _Z7doStuffi # -- Begin function _Z7doStuffi 23 .p2align 4, 0x90 24 .type _Z7doStuffi,@function 25_Z7doStuffi: # @_Z7doStuffi 26.Lfunc_begin0: 27 .file 1 "." "main.cpp" 28 .loc 1 2 0 # main.cpp:2:0 29 .cfi_startproc 30# %bb.0: # %entry 31 pushq %rbp 32 .cfi_def_cfa_offset 16 33 .cfi_offset %rbp, -16 34 movq %rsp, %rbp 35 .cfi_def_cfa_register %rbp 36 movl %edi, -4(%rbp) 37.Ltmp0: 38 .loc 1 3 7 prologue_end # main.cpp:3:7 39 cmpl $0, -4(%rbp) 40.Ltmp1: 41 .loc 1 3 7 is_stmt 0 # main.cpp:3:7 42 je _Z7doStuffi.__part.2 43 jmp _Z7doStuffi.__part.1 44.LBB_END0_0: 45 .cfi_endproc 46 .section .text._Z7doStuffi,"ax",@progbits,unique,1 47_Z7doStuffi.__part.1: # %if.then 48 .cfi_startproc 49 .cfi_def_cfa %rbp, 16 50 .cfi_offset %rbp, -16 51 .loc 1 4 5 is_stmt 1 # main.cpp:4:5 52 movl -4(%rbp), %eax 53 addl $1, %eax 54 movl %eax, -4(%rbp) 55 jmp _Z7doStuffi.__part.2 56.LBB_END0_1: 57 .size _Z7doStuffi.__part.1, .LBB_END0_1-_Z7doStuffi.__part.1 58 .cfi_endproc 59 .section .text._Z7doStuffi,"ax",@progbits,unique,2 60_Z7doStuffi.__part.2: # %if.end 61 .cfi_startproc 62 .cfi_def_cfa %rbp, 16 63 .cfi_offset %rbp, -16 64 .loc 1 5 10 # main.cpp:5:10 65 movl -4(%rbp), %eax 66 .loc 1 5 3 epilogue_begin is_stmt 0 # main.cpp:5:3 67 popq %rbp 68 .cfi_def_cfa %rsp, 8 69 retq 70.LBB_END0_2: 71 .size _Z7doStuffi.__part.2, .LBB_END0_2-_Z7doStuffi.__part.2 72 .cfi_endproc 73 .section .text._Z7doStuffi,"ax",@progbits 74.Lfunc_end0: 75 .size _Z7doStuffi, .Lfunc_end0-_Z7doStuffi 76 # -- End function 77 .section .text._Z8doStuff2i,"ax",@progbits 78 .globl _Z8doStuff2i # -- Begin function _Z8doStuff2i 79 .p2align 4, 0x90 80 .type _Z8doStuff2i,@function 81_Z8doStuff2i: # @_Z8doStuff2i 82.Lfunc_begin1: 83 .loc 1 8 0 is_stmt 1 # main.cpp:8:0 84 .cfi_startproc 85# %bb.0: # %entry 86 pushq %rbp 87 .cfi_def_cfa_offset 16 88 .cfi_offset %rbp, -16 89 movq %rsp, %rbp 90 .cfi_def_cfa_register %rbp 91 movl %edi, -4(%rbp) 92.Ltmp2: 93 .loc 1 9 7 prologue_end # main.cpp:9:7 94 movl $3, -8(%rbp) 95 .loc 1 10 10 # main.cpp:10:10 96 movl -4(%rbp), %eax 97 .loc 1 10 14 is_stmt 0 # main.cpp:10:14 98 addl -8(%rbp), %eax 99 .loc 1 10 3 epilogue_begin # main.cpp:10:3 100 popq %rbp 101 .cfi_def_cfa %rsp, 8 102 retq 103.LBB_END1_0: 104 .cfi_endproc 105.Lfunc_end1: 106 .size _Z8doStuff2i, .Lfunc_end1-_Z8doStuff2i 107 # -- End function 108 .section .text.main,"ax",@progbits 109 .globl main # -- Begin function main 110 .p2align 4, 0x90 111 .type main,@function 112main: # @main 113.Lfunc_begin2: 114 .loc 1 14 0 is_stmt 1 # main.cpp:14:0 115 .cfi_startproc 116# %bb.0: # %entry 117 pushq %rbp 118 .cfi_def_cfa_offset 16 119 .cfi_offset %rbp, -16 120 movq %rsp, %rbp 121 .cfi_def_cfa_register %rbp 122 movl $0, -16(%rbp) 123 movl %edi, -20(%rbp) 124 movq %rsi, -32(%rbp) 125.Ltmp3: 126 .loc 1 15 21 prologue_end # main.cpp:15:21 127 movl -20(%rbp), %eax 128 movl %eax, -12(%rbp) 129.Ltmp4: 130 .loc 1 3 7 # main.cpp:3:7 131 cmpl $0, -12(%rbp) 132.Ltmp5: 133 .loc 1 3 7 is_stmt 0 # main.cpp:3:7 134 je main.__part.2 135 jmp main.__part.1 136.LBB_END2_0: 137 .cfi_endproc 138 .section .text.main,"ax",@progbits,unique,3 139main.__part.1: # %if.then.i 140 .cfi_startproc 141 .cfi_def_cfa %rbp, 16 142 .cfi_offset %rbp, -16 143 .loc 1 4 5 is_stmt 1 # main.cpp:4:5 144 movl -12(%rbp), %eax 145 addl $1, %eax 146 movl %eax, -12(%rbp) 147 jmp main.__part.2 148.LBB_END2_1: 149 .size main.__part.1, .LBB_END2_1-main.__part.1 150 .cfi_endproc 151 .section .text.main,"ax",@progbits,unique,4 152main.__part.2: # %_Z7doStuffi.exit 153 .cfi_startproc 154 .cfi_def_cfa %rbp, 16 155 .cfi_offset %rbp, -16 156 .loc 1 5 10 # main.cpp:5:10 157 movl -12(%rbp), %eax 158.Ltmp6: 159 .loc 1 15 38 # main.cpp:15:38 160 movl -20(%rbp), %ecx 161 movl %ecx, -4(%rbp) 162.Ltmp7: 163 .loc 1 9 7 # main.cpp:9:7 164 movl $3, -8(%rbp) 165 .loc 1 10 10 # main.cpp:10:10 166 movl -4(%rbp), %ecx 167 .loc 1 10 14 is_stmt 0 # main.cpp:10:14 168 addl -8(%rbp), %ecx 169.Ltmp8: 170 .loc 1 15 27 is_stmt 1 # main.cpp:15:27 171 addl %ecx, %eax 172 .loc 1 15 5 epilogue_begin is_stmt 0 # main.cpp:15:5 173 popq %rbp 174 .cfi_def_cfa %rsp, 8 175 retq 176.LBB_END2_2: 177 .size main.__part.2, .LBB_END2_2-main.__part.2 178 .cfi_endproc 179 .section .text.main,"ax",@progbits 180.Lfunc_end2: 181 .size main, .Lfunc_end2-main 182 # -- End function 183 .section .debug_abbrev,"",@progbits 184 .byte 1 # Abbreviation Code 185 .byte 17 # DW_TAG_compile_unit 186 .byte 0 # DW_CHILDREN_no 187 .byte 16 # DW_AT_stmt_list 188 .byte 23 # DW_FORM_sec_offset 189 .byte 27 # DW_AT_comp_dir 190 .byte 14 # DW_FORM_strp 191 .ascii "\264B" # DW_AT_GNU_pubnames 192 .byte 25 # DW_FORM_flag_present 193 .ascii "\260B" # DW_AT_GNU_dwo_name 194 .byte 14 # DW_FORM_strp 195 .ascii "\261B" # DW_AT_GNU_dwo_id 196 .byte 7 # DW_FORM_data8 197 .ascii "\262B" # DW_AT_GNU_ranges_base 198 .byte 23 # DW_FORM_sec_offset 199 .byte 17 # DW_AT_low_pc 200 .byte 1 # DW_FORM_addr 201 .byte 85 # DW_AT_ranges 202 .byte 23 # DW_FORM_sec_offset 203 .ascii "\263B" # DW_AT_GNU_addr_base 204 .byte 23 # DW_FORM_sec_offset 205 .byte 0 # EOM(1) 206 .byte 0 # EOM(2) 207 .byte 0 # EOM(3) 208 .section .debug_info,"",@progbits 209.Lcu_begin0: 210 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 211.Ldebug_info_start0: 212 .short 4 # DWARF version number 213 .long .debug_abbrev # Offset Into Abbrev. Section 214 .byte 8 # Address Size (in bytes) 215 .byte 1 # Abbrev [1] 0xb:0x29 DW_TAG_compile_unit 216 .long .Lline_table_start0 # DW_AT_stmt_list 217 .long .Lskel_string0 # DW_AT_comp_dir 218 # DW_AT_GNU_pubnames 219 .long .Lskel_string1 # DW_AT_GNU_dwo_name 220 .quad 1354107878901449185 # DW_AT_GNU_dwo_id 221 .long .debug_ranges # DW_AT_GNU_ranges_base 222 .quad 0 # DW_AT_low_pc 223 .long .Ldebug_ranges3 # DW_AT_ranges 224 .long .Laddr_table_base0 # DW_AT_GNU_addr_base 225.Ldebug_info_end0: 226 .section .debug_ranges,"",@progbits 227.Ldebug_ranges0: 228 .quad _Z7doStuffi.__part.1 229 .quad .LBB_END0_1 230 .quad _Z7doStuffi.__part.2 231 .quad .LBB_END0_2 232 .quad .Lfunc_begin0 233 .quad .Lfunc_end0 234 .quad 0 235 .quad 0 236.Ldebug_ranges1: 237 .quad main.__part.1 238 .quad .LBB_END2_1 239 .quad main.__part.2 240 .quad .LBB_END2_2 241 .quad .Lfunc_begin2 242 .quad .Lfunc_end2 243 .quad 0 244 .quad 0 245.Ldebug_ranges2: 246 .quad .Ltmp4 247 .quad .Lfunc_end2 248 .quad main.__part.1 249 .quad .LBB_END2_1 250 .quad main.__part.2 251 .quad .Ltmp6 252 .quad 0 253 .quad 0 254.Ldebug_ranges3: 255 .quad _Z7doStuffi.__part.1 256 .quad .LBB_END0_1 257 .quad _Z7doStuffi.__part.2 258 .quad .LBB_END0_2 259 .quad .Lfunc_begin0 260 .quad .Lfunc_end0 261 .quad .Lfunc_begin1 262 .quad .Lfunc_end1 263 .quad main.__part.1 264 .quad .LBB_END2_1 265 .quad main.__part.2 266 .quad .LBB_END2_2 267 .quad .Lfunc_begin2 268 .quad .Lfunc_end2 269 .quad 0 270 .quad 0 271 .section .debug_str,"MS",@progbits,1 272.Lskel_string0: 273 .asciz "." # string offset=0 274.Lskel_string1: 275 .asciz "main.dwo" # string offset=38 276 .section .debug_str.dwo,"eMS",@progbits,1 277.Linfo_string0: 278 .asciz "_Z7doStuffi" # string offset=0 279.Linfo_string1: 280 .asciz "doStuff" # string offset=12 281.Linfo_string2: 282 .asciz "int" # string offset=20 283.Linfo_string3: 284 .asciz "val" # string offset=24 285.Linfo_string4: 286 .asciz "_Z8doStuff2i" # string offset=28 287.Linfo_string5: 288 .asciz "doStuff2" # string offset=41 289.Linfo_string6: 290 .asciz "foo" # string offset=50 291.Linfo_string7: 292 .asciz "main" # string offset=54 293.Linfo_string8: 294 .asciz "argc" # string offset=59 295.Linfo_string9: 296 .asciz "argv" # string offset=64 297.Linfo_string10: 298 .asciz "char" # string offset=69 299.Linfo_string11: 300 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=74 301.Linfo_string12: 302 .asciz "main.cpp" # string offset=175 303.Linfo_string13: 304 .asciz "main.dwo" # string offset=184 305 .section .debug_str_offsets.dwo,"e",@progbits 306 .long 0 307 .long 12 308 .long 20 309 .long 24 310 .long 28 311 .long 41 312 .long 50 313 .long 54 314 .long 59 315 .long 64 316 .long 69 317 .long 74 318 .long 175 319 .long 184 320 .section .debug_info.dwo,"e",@progbits 321 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 322.Ldebug_info_dwo_start0: 323 .short 4 # DWARF version number 324 .long 0 # Offset Into Abbrev. Section 325 .byte 8 # Address Size (in bytes) 326 .byte 1 # Abbrev [1] 0xb:0xdd DW_TAG_compile_unit 327 .byte 11 # DW_AT_producer 328 .short 33 # DW_AT_language 329 .byte 12 # DW_AT_name 330 .byte 13 # DW_AT_GNU_dwo_name 331 .quad 1354107878901449185 # DW_AT_GNU_dwo_id 332 .byte 2 # Abbrev [2] 0x19:0x14 DW_TAG_subprogram 333 .long .Ldebug_ranges0-.debug_ranges # DW_AT_ranges 334 .byte 1 # DW_AT_frame_base 335 .byte 86 336 .long 74 # DW_AT_abstract_origin 337 .byte 3 # Abbrev [3] 0x24:0x8 DW_TAG_formal_parameter 338 .byte 2 # DW_AT_location 339 .byte 145 340 .byte 124 341 .long 84 # DW_AT_abstract_origin 342 .byte 0 # End Of Children Mark 343 .byte 4 # Abbrev [4] 0x2d:0x1d DW_TAG_subprogram 344 .byte 3 # DW_AT_low_pc 345 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 346 .byte 1 # DW_AT_frame_base 347 .byte 86 348 .long 97 # DW_AT_abstract_origin 349 .byte 3 # Abbrev [3] 0x39:0x8 DW_TAG_formal_parameter 350 .byte 2 # DW_AT_location 351 .byte 145 352 .byte 124 353 .long 107 # DW_AT_abstract_origin 354 .byte 5 # Abbrev [5] 0x41:0x8 DW_TAG_variable 355 .byte 2 # DW_AT_location 356 .byte 145 357 .byte 120 358 .long 115 # DW_AT_abstract_origin 359 .byte 0 # End Of Children Mark 360 .byte 6 # Abbrev [6] 0x4a:0x13 DW_TAG_subprogram 361 .byte 0 # DW_AT_linkage_name 362 .byte 1 # DW_AT_name 363 .byte 1 # DW_AT_decl_file 364 .byte 2 # DW_AT_decl_line 365 .long 93 # DW_AT_type 366 # DW_AT_external 367 .byte 1 # DW_AT_inline 368 .byte 7 # Abbrev [7] 0x54:0x8 DW_TAG_formal_parameter 369 .byte 3 # DW_AT_name 370 .byte 1 # DW_AT_decl_file 371 .byte 2 # DW_AT_decl_line 372 .long 93 # DW_AT_type 373 .byte 0 # End Of Children Mark 374 .byte 8 # Abbrev [8] 0x5d:0x4 DW_TAG_base_type 375 .byte 2 # DW_AT_name 376 .byte 5 # DW_AT_encoding 377 .byte 4 # DW_AT_byte_size 378 .byte 6 # Abbrev [6] 0x61:0x1b DW_TAG_subprogram 379 .byte 4 # DW_AT_linkage_name 380 .byte 5 # DW_AT_name 381 .byte 1 # DW_AT_decl_file 382 .byte 8 # DW_AT_decl_line 383 .long 93 # DW_AT_type 384 # DW_AT_external 385 .byte 1 # DW_AT_inline 386 .byte 7 # Abbrev [7] 0x6b:0x8 DW_TAG_formal_parameter 387 .byte 3 # DW_AT_name 388 .byte 1 # DW_AT_decl_file 389 .byte 8 # DW_AT_decl_line 390 .long 93 # DW_AT_type 391 .byte 9 # Abbrev [9] 0x73:0x8 DW_TAG_variable 392 .byte 6 # DW_AT_name 393 .byte 1 # DW_AT_decl_file 394 .byte 9 # DW_AT_decl_line 395 .long 93 # DW_AT_type 396 .byte 0 # End Of Children Mark 397 .byte 10 # Abbrev [10] 0x7c:0x58 DW_TAG_subprogram 398 .long .Ldebug_ranges1-.debug_ranges # DW_AT_ranges 399 .byte 1 # DW_AT_frame_base 400 .byte 86 401 .byte 7 # DW_AT_name 402 .byte 1 # DW_AT_decl_file 403 .byte 14 # DW_AT_decl_line 404 .long 93 # DW_AT_type 405 # DW_AT_external 406 .byte 11 # Abbrev [11] 0x8a:0xb DW_TAG_formal_parameter 407 .byte 2 # DW_AT_location 408 .byte 145 409 .byte 108 410 .byte 8 # DW_AT_name 411 .byte 1 # DW_AT_decl_file 412 .byte 14 # DW_AT_decl_line 413 .long 93 # DW_AT_type 414 .byte 11 # Abbrev [11] 0x95:0xb DW_TAG_formal_parameter 415 .byte 2 # DW_AT_location 416 .byte 145 417 .byte 96 418 .byte 9 # DW_AT_name 419 .byte 1 # DW_AT_decl_file 420 .byte 14 # DW_AT_decl_line 421 .long 212 # DW_AT_type 422 .byte 12 # Abbrev [12] 0xa0:0x15 DW_TAG_inlined_subroutine 423 .long 74 # DW_AT_abstract_origin 424 .long .Ldebug_ranges2-.debug_ranges # DW_AT_ranges 425 .byte 1 # DW_AT_call_file 426 .byte 15 # DW_AT_call_line 427 .byte 13 # DW_AT_call_column 428 .byte 3 # Abbrev [3] 0xac:0x8 DW_TAG_formal_parameter 429 .byte 2 # DW_AT_location 430 .byte 145 431 .byte 116 432 .long 84 # DW_AT_abstract_origin 433 .byte 0 # End Of Children Mark 434 .byte 13 # Abbrev [13] 0xb5:0x1e DW_TAG_inlined_subroutine 435 .long 97 # DW_AT_abstract_origin 436 .byte 7 # DW_AT_low_pc 437 .long .Ltmp8-.Ltmp7 # DW_AT_high_pc 438 .byte 1 # DW_AT_call_file 439 .byte 15 # DW_AT_call_line 440 .byte 29 # DW_AT_call_column 441 .byte 3 # Abbrev [3] 0xc2:0x8 DW_TAG_formal_parameter 442 .byte 2 # DW_AT_location 443 .byte 145 444 .byte 124 445 .long 107 # DW_AT_abstract_origin 446 .byte 5 # Abbrev [5] 0xca:0x8 DW_TAG_variable 447 .byte 2 # DW_AT_location 448 .byte 145 449 .byte 120 450 .long 115 # DW_AT_abstract_origin 451 .byte 0 # End Of Children Mark 452 .byte 0 # End Of Children Mark 453 .byte 14 # Abbrev [14] 0xd4:0x5 DW_TAG_pointer_type 454 .long 217 # DW_AT_type 455 .byte 14 # Abbrev [14] 0xd9:0x5 DW_TAG_pointer_type 456 .long 222 # DW_AT_type 457 .byte 15 # Abbrev [15] 0xde:0x5 DW_TAG_const_type 458 .long 227 # DW_AT_type 459 .byte 8 # Abbrev [8] 0xe3:0x4 DW_TAG_base_type 460 .byte 10 # DW_AT_name 461 .byte 6 # DW_AT_encoding 462 .byte 1 # DW_AT_byte_size 463 .byte 0 # End Of Children Mark 464.Ldebug_info_dwo_end0: 465 .section .debug_abbrev.dwo,"e",@progbits 466 .byte 1 # Abbreviation Code 467 .byte 17 # DW_TAG_compile_unit 468 .byte 1 # DW_CHILDREN_yes 469 .byte 37 # DW_AT_producer 470 .ascii "\202>" # DW_FORM_GNU_str_index 471 .byte 19 # DW_AT_language 472 .byte 5 # DW_FORM_data2 473 .byte 3 # DW_AT_name 474 .ascii "\202>" # DW_FORM_GNU_str_index 475 .ascii "\260B" # DW_AT_GNU_dwo_name 476 .ascii "\202>" # DW_FORM_GNU_str_index 477 .ascii "\261B" # DW_AT_GNU_dwo_id 478 .byte 7 # DW_FORM_data8 479 .byte 0 # EOM(1) 480 .byte 0 # EOM(2) 481 .byte 2 # Abbreviation Code 482 .byte 46 # DW_TAG_subprogram 483 .byte 1 # DW_CHILDREN_yes 484 .byte 85 # DW_AT_ranges 485 .byte 23 # DW_FORM_sec_offset 486 .byte 64 # DW_AT_frame_base 487 .byte 24 # DW_FORM_exprloc 488 .byte 49 # DW_AT_abstract_origin 489 .byte 19 # DW_FORM_ref4 490 .byte 0 # EOM(1) 491 .byte 0 # EOM(2) 492 .byte 3 # Abbreviation Code 493 .byte 5 # DW_TAG_formal_parameter 494 .byte 0 # DW_CHILDREN_no 495 .byte 2 # DW_AT_location 496 .byte 24 # DW_FORM_exprloc 497 .byte 49 # DW_AT_abstract_origin 498 .byte 19 # DW_FORM_ref4 499 .byte 0 # EOM(1) 500 .byte 0 # EOM(2) 501 .byte 4 # Abbreviation Code 502 .byte 46 # DW_TAG_subprogram 503 .byte 1 # DW_CHILDREN_yes 504 .byte 17 # DW_AT_low_pc 505 .ascii "\201>" # DW_FORM_GNU_addr_index 506 .byte 18 # DW_AT_high_pc 507 .byte 6 # DW_FORM_data4 508 .byte 64 # DW_AT_frame_base 509 .byte 24 # DW_FORM_exprloc 510 .byte 49 # DW_AT_abstract_origin 511 .byte 19 # DW_FORM_ref4 512 .byte 0 # EOM(1) 513 .byte 0 # EOM(2) 514 .byte 5 # Abbreviation Code 515 .byte 52 # DW_TAG_variable 516 .byte 0 # DW_CHILDREN_no 517 .byte 2 # DW_AT_location 518 .byte 24 # DW_FORM_exprloc 519 .byte 49 # DW_AT_abstract_origin 520 .byte 19 # DW_FORM_ref4 521 .byte 0 # EOM(1) 522 .byte 0 # EOM(2) 523 .byte 6 # Abbreviation Code 524 .byte 46 # DW_TAG_subprogram 525 .byte 1 # DW_CHILDREN_yes 526 .byte 110 # DW_AT_linkage_name 527 .ascii "\202>" # DW_FORM_GNU_str_index 528 .byte 3 # DW_AT_name 529 .ascii "\202>" # DW_FORM_GNU_str_index 530 .byte 58 # DW_AT_decl_file 531 .byte 11 # DW_FORM_data1 532 .byte 59 # DW_AT_decl_line 533 .byte 11 # DW_FORM_data1 534 .byte 73 # DW_AT_type 535 .byte 19 # DW_FORM_ref4 536 .byte 63 # DW_AT_external 537 .byte 25 # DW_FORM_flag_present 538 .byte 32 # DW_AT_inline 539 .byte 11 # DW_FORM_data1 540 .byte 0 # EOM(1) 541 .byte 0 # EOM(2) 542 .byte 7 # Abbreviation Code 543 .byte 5 # DW_TAG_formal_parameter 544 .byte 0 # DW_CHILDREN_no 545 .byte 3 # DW_AT_name 546 .ascii "\202>" # DW_FORM_GNU_str_index 547 .byte 58 # DW_AT_decl_file 548 .byte 11 # DW_FORM_data1 549 .byte 59 # DW_AT_decl_line 550 .byte 11 # DW_FORM_data1 551 .byte 73 # DW_AT_type 552 .byte 19 # DW_FORM_ref4 553 .byte 0 # EOM(1) 554 .byte 0 # EOM(2) 555 .byte 8 # Abbreviation Code 556 .byte 36 # DW_TAG_base_type 557 .byte 0 # DW_CHILDREN_no 558 .byte 3 # DW_AT_name 559 .ascii "\202>" # DW_FORM_GNU_str_index 560 .byte 62 # DW_AT_encoding 561 .byte 11 # DW_FORM_data1 562 .byte 11 # DW_AT_byte_size 563 .byte 11 # DW_FORM_data1 564 .byte 0 # EOM(1) 565 .byte 0 # EOM(2) 566 .byte 9 # Abbreviation Code 567 .byte 52 # DW_TAG_variable 568 .byte 0 # DW_CHILDREN_no 569 .byte 3 # DW_AT_name 570 .ascii "\202>" # DW_FORM_GNU_str_index 571 .byte 58 # DW_AT_decl_file 572 .byte 11 # DW_FORM_data1 573 .byte 59 # DW_AT_decl_line 574 .byte 11 # DW_FORM_data1 575 .byte 73 # DW_AT_type 576 .byte 19 # DW_FORM_ref4 577 .byte 0 # EOM(1) 578 .byte 0 # EOM(2) 579 .byte 10 # Abbreviation Code 580 .byte 46 # DW_TAG_subprogram 581 .byte 1 # DW_CHILDREN_yes 582 .byte 85 # DW_AT_ranges 583 .byte 23 # DW_FORM_sec_offset 584 .byte 64 # DW_AT_frame_base 585 .byte 24 # DW_FORM_exprloc 586 .byte 3 # DW_AT_name 587 .ascii "\202>" # DW_FORM_GNU_str_index 588 .byte 58 # DW_AT_decl_file 589 .byte 11 # DW_FORM_data1 590 .byte 59 # DW_AT_decl_line 591 .byte 11 # DW_FORM_data1 592 .byte 73 # DW_AT_type 593 .byte 19 # DW_FORM_ref4 594 .byte 63 # DW_AT_external 595 .byte 25 # DW_FORM_flag_present 596 .byte 0 # EOM(1) 597 .byte 0 # EOM(2) 598 .byte 11 # Abbreviation Code 599 .byte 5 # DW_TAG_formal_parameter 600 .byte 0 # DW_CHILDREN_no 601 .byte 2 # DW_AT_location 602 .byte 24 # DW_FORM_exprloc 603 .byte 3 # DW_AT_name 604 .ascii "\202>" # DW_FORM_GNU_str_index 605 .byte 58 # DW_AT_decl_file 606 .byte 11 # DW_FORM_data1 607 .byte 59 # DW_AT_decl_line 608 .byte 11 # DW_FORM_data1 609 .byte 73 # DW_AT_type 610 .byte 19 # DW_FORM_ref4 611 .byte 0 # EOM(1) 612 .byte 0 # EOM(2) 613 .byte 12 # Abbreviation Code 614 .byte 29 # DW_TAG_inlined_subroutine 615 .byte 1 # DW_CHILDREN_yes 616 .byte 49 # DW_AT_abstract_origin 617 .byte 19 # DW_FORM_ref4 618 .byte 85 # DW_AT_ranges 619 .byte 23 # DW_FORM_sec_offset 620 .byte 88 # DW_AT_call_file 621 .byte 11 # DW_FORM_data1 622 .byte 89 # DW_AT_call_line 623 .byte 11 # DW_FORM_data1 624 .byte 87 # DW_AT_call_column 625 .byte 11 # DW_FORM_data1 626 .byte 0 # EOM(1) 627 .byte 0 # EOM(2) 628 .byte 13 # Abbreviation Code 629 .byte 29 # DW_TAG_inlined_subroutine 630 .byte 1 # DW_CHILDREN_yes 631 .byte 49 # DW_AT_abstract_origin 632 .byte 19 # DW_FORM_ref4 633 .byte 17 # DW_AT_low_pc 634 .ascii "\201>" # DW_FORM_GNU_addr_index 635 .byte 18 # DW_AT_high_pc 636 .byte 6 # DW_FORM_data4 637 .byte 88 # DW_AT_call_file 638 .byte 11 # DW_FORM_data1 639 .byte 89 # DW_AT_call_line 640 .byte 11 # DW_FORM_data1 641 .byte 87 # DW_AT_call_column 642 .byte 11 # DW_FORM_data1 643 .byte 0 # EOM(1) 644 .byte 0 # EOM(2) 645 .byte 14 # Abbreviation Code 646 .byte 15 # DW_TAG_pointer_type 647 .byte 0 # DW_CHILDREN_no 648 .byte 73 # DW_AT_type 649 .byte 19 # DW_FORM_ref4 650 .byte 0 # EOM(1) 651 .byte 0 # EOM(2) 652 .byte 15 # Abbreviation Code 653 .byte 38 # DW_TAG_const_type 654 .byte 0 # DW_CHILDREN_no 655 .byte 73 # DW_AT_type 656 .byte 19 # DW_FORM_ref4 657 .byte 0 # EOM(1) 658 .byte 0 # EOM(2) 659 .byte 0 # EOM(3) 660 .section .debug_addr,"",@progbits 661.Laddr_table_base0: 662 .quad _Z7doStuffi.__part.1 663 .quad _Z7doStuffi.__part.2 664 .quad .Lfunc_begin0 665 .quad .Lfunc_begin1 666 .quad main.__part.1 667 .quad main.__part.2 668 .quad .Lfunc_begin2 669 .quad .Ltmp7 670 .section .debug_gnu_pubnames,"",@progbits 671 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info 672.LpubNames_start0: 673 .short 2 # DWARF Version 674 .long .Lcu_begin0 # Offset of Compilation Unit Info 675 .long 52 # Compilation Unit Length 676 .long 74 # DIE offset 677 .byte 48 # Attributes: FUNCTION, EXTERNAL 678 .asciz "doStuff" # External Name 679 .long 97 # DIE offset 680 .byte 48 # Attributes: FUNCTION, EXTERNAL 681 .asciz "doStuff2" # External Name 682 .long 124 # DIE offset 683 .byte 48 # Attributes: FUNCTION, EXTERNAL 684 .asciz "main" # External Name 685 .long 0 # End Mark 686.LpubNames_end0: 687 .section .debug_gnu_pubtypes,"",@progbits 688 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info 689.LpubTypes_start0: 690 .short 2 # DWARF Version 691 .long .Lcu_begin0 # Offset of Compilation Unit Info 692 .long 52 # Compilation Unit Length 693 .long 93 # DIE offset 694 .byte 144 # Attributes: TYPE, STATIC 695 .asciz "int" # External Name 696 .long 227 # DIE offset 697 .byte 144 # Attributes: TYPE, STATIC 698 .asciz "char" # External Name 699 .long 0 # End Mark 700.LpubTypes_end0: 701 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" 702 .section ".note.GNU-stack","",@progbits 703 .addrsig 704 .section .debug_line,"",@progbits 705.Lline_table_start0: 706