1# clang++ -fbasic-block-sections=all -ffunction-sections -g2 -gdwarf-5 -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 .text 19 .file "main.cpp" 20 .section .text._Z7doStuffi,"ax",@progbits 21 .globl _Z7doStuffi # -- Begin function _Z7doStuffi 22 .p2align 4, 0x90 23 .type _Z7doStuffi,@function 24_Z7doStuffi: # @_Z7doStuffi 25.Lfunc_begin0: 26 .file 0 "." "main.cpp" md5 0x69a746524dda095f8ea37f5a26dd1e9b 27 .loc 0 2 0 # main.cpp:2:0 28 .cfi_startproc 29# %bb.0: # %entry 30 pushq %rbp 31 .cfi_def_cfa_offset 16 32 .cfi_offset %rbp, -16 33 movq %rsp, %rbp 34 .cfi_def_cfa_register %rbp 35 movl %edi, -4(%rbp) 36.Ltmp0: 37 .loc 0 3 7 prologue_end # main.cpp:3:7 38 cmpl $0, -4(%rbp) 39.Ltmp1: 40 .loc 0 3 7 is_stmt 0 # main.cpp:3:7 41 je _Z7doStuffi.__part.2 42 jmp _Z7doStuffi.__part.1 43.LBB_END0_0: 44 .cfi_endproc 45 .section .text._Z7doStuffi,"ax",@progbits,unique,1 46_Z7doStuffi.__part.1: # %if.then 47 .cfi_startproc 48 .cfi_def_cfa %rbp, 16 49 .cfi_offset %rbp, -16 50 .loc 0 4 5 is_stmt 1 # main.cpp:4:5 51 movl -4(%rbp), %eax 52 addl $1, %eax 53 movl %eax, -4(%rbp) 54 jmp _Z7doStuffi.__part.2 55.LBB_END0_1: 56 .size _Z7doStuffi.__part.1, .LBB_END0_1-_Z7doStuffi.__part.1 57 .cfi_endproc 58 .section .text._Z7doStuffi,"ax",@progbits,unique,2 59_Z7doStuffi.__part.2: # %if.end 60 .cfi_startproc 61 .cfi_def_cfa %rbp, 16 62 .cfi_offset %rbp, -16 63 .loc 0 5 10 # main.cpp:5:10 64 movl -4(%rbp), %eax 65 .loc 0 5 3 epilogue_begin is_stmt 0 # main.cpp:5:3 66 popq %rbp 67 .cfi_def_cfa %rsp, 8 68 retq 69.LBB_END0_2: 70 .size _Z7doStuffi.__part.2, .LBB_END0_2-_Z7doStuffi.__part.2 71 .cfi_endproc 72 .section .text._Z7doStuffi,"ax",@progbits 73.Lfunc_end0: 74 .size _Z7doStuffi, .Lfunc_end0-_Z7doStuffi 75 # -- End function 76 .section .text._Z8doStuff2i,"ax",@progbits 77 .globl _Z8doStuff2i # -- Begin function _Z8doStuff2i 78 .p2align 4, 0x90 79 .type _Z8doStuff2i,@function 80_Z8doStuff2i: # @_Z8doStuff2i 81.Lfunc_begin1: 82 .loc 0 8 0 is_stmt 1 # main.cpp:8:0 83 .cfi_startproc 84# %bb.0: # %entry 85 pushq %rbp 86 .cfi_def_cfa_offset 16 87 .cfi_offset %rbp, -16 88 movq %rsp, %rbp 89 .cfi_def_cfa_register %rbp 90 movl %edi, -4(%rbp) 91.Ltmp2: 92 .loc 0 9 7 prologue_end # main.cpp:9:7 93 movl $3, -8(%rbp) 94 .loc 0 10 10 # main.cpp:10:10 95 movl -4(%rbp), %eax 96 .loc 0 10 14 is_stmt 0 # main.cpp:10:14 97 addl -8(%rbp), %eax 98 .loc 0 10 3 epilogue_begin # main.cpp:10:3 99 popq %rbp 100 .cfi_def_cfa %rsp, 8 101 retq 102.LBB_END1_0: 103 .cfi_endproc 104.Lfunc_end1: 105 .size _Z8doStuff2i, .Lfunc_end1-_Z8doStuff2i 106 # -- End function 107 .section .text.main,"ax",@progbits 108 .globl main # -- Begin function main 109 .p2align 4, 0x90 110 .type main,@function 111main: # @main 112.Lfunc_begin2: 113 .loc 0 14 0 is_stmt 1 # main.cpp:14:0 114 .cfi_startproc 115# %bb.0: # %entry 116 pushq %rbp 117 .cfi_def_cfa_offset 16 118 .cfi_offset %rbp, -16 119 movq %rsp, %rbp 120 .cfi_def_cfa_register %rbp 121 movl $0, -16(%rbp) 122 movl %edi, -20(%rbp) 123 movq %rsi, -32(%rbp) 124.Ltmp3: 125 .loc 0 15 21 prologue_end # main.cpp:15:21 126 movl -20(%rbp), %eax 127 movl %eax, -12(%rbp) 128.Ltmp4: 129 .loc 0 3 7 # main.cpp:3:7 130 cmpl $0, -12(%rbp) 131.Ltmp5: 132 .loc 0 3 7 is_stmt 0 # main.cpp:3:7 133 je main.__part.2 134 jmp main.__part.1 135.LBB_END2_0: 136 .cfi_endproc 137 .section .text.main,"ax",@progbits,unique,3 138main.__part.1: # %if.then.i 139 .cfi_startproc 140 .cfi_def_cfa %rbp, 16 141 .cfi_offset %rbp, -16 142 .loc 0 4 5 is_stmt 1 # main.cpp:4:5 143 movl -12(%rbp), %eax 144 addl $1, %eax 145 movl %eax, -12(%rbp) 146 jmp main.__part.2 147.LBB_END2_1: 148 .size main.__part.1, .LBB_END2_1-main.__part.1 149 .cfi_endproc 150 .section .text.main,"ax",@progbits,unique,4 151main.__part.2: # %_Z7doStuffi.exit 152 .cfi_startproc 153 .cfi_def_cfa %rbp, 16 154 .cfi_offset %rbp, -16 155 .loc 0 5 10 # main.cpp:5:10 156 movl -12(%rbp), %eax 157.Ltmp6: 158 .loc 0 15 38 # main.cpp:15:38 159 movl -20(%rbp), %ecx 160 movl %ecx, -4(%rbp) 161.Ltmp7: 162 .loc 0 9 7 # main.cpp:9:7 163 movl $3, -8(%rbp) 164 .loc 0 10 10 # main.cpp:10:10 165 movl -4(%rbp), %ecx 166 .loc 0 10 14 is_stmt 0 # main.cpp:10:14 167 addl -8(%rbp), %ecx 168.Ltmp8: 169 .loc 0 15 27 is_stmt 1 # main.cpp:15:27 170 addl %ecx, %eax 171 .loc 0 15 5 epilogue_begin is_stmt 0 # main.cpp:15:5 172 popq %rbp 173 .cfi_def_cfa %rsp, 8 174 retq 175.LBB_END2_2: 176 .size main.__part.2, .LBB_END2_2-main.__part.2 177 .cfi_endproc 178 .section .text.main,"ax",@progbits 179.Lfunc_end2: 180 .size main, .Lfunc_end2-main 181 # -- End function 182 .section .debug_abbrev,"",@progbits 183 .byte 1 # Abbreviation Code 184 .byte 74 # DW_TAG_skeleton_unit 185 .byte 0 # DW_CHILDREN_no 186 .byte 16 # DW_AT_stmt_list 187 .byte 23 # DW_FORM_sec_offset 188 .byte 114 # DW_AT_str_offsets_base 189 .byte 23 # DW_FORM_sec_offset 190 .byte 27 # DW_AT_comp_dir 191 .byte 37 # DW_FORM_strx1 192 .ascii "\264B" # DW_AT_GNU_pubnames 193 .byte 25 # DW_FORM_flag_present 194 .byte 118 # DW_AT_dwo_name 195 .byte 37 # DW_FORM_strx1 196 .byte 17 # DW_AT_low_pc 197 .byte 1 # DW_FORM_addr 198 .byte 85 # DW_AT_ranges 199 .byte 35 # DW_FORM_rnglistx 200 .byte 115 # DW_AT_addr_base 201 .byte 23 # DW_FORM_sec_offset 202 .byte 116 # DW_AT_rnglists_base 203 .byte 23 # DW_FORM_sec_offset 204 .byte 0 # EOM(1) 205 .byte 0 # EOM(2) 206 .byte 0 # EOM(3) 207 .section .debug_info,"",@progbits 208.Lcu_begin0: 209 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 210.Ldebug_info_start0: 211 .short 5 # DWARF version number 212 .byte 4 # DWARF Unit Type 213 .byte 8 # Address Size (in bytes) 214 .long .debug_abbrev # Offset Into Abbrev. Section 215 .quad 1354107878901449185 216 .byte 1 # Abbrev [1] 0x14:0x1c DW_TAG_skeleton_unit 217 .long .Lline_table_start0 # DW_AT_stmt_list 218 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 219 .byte 0 # DW_AT_comp_dir 220 # DW_AT_GNU_pubnames 221 .byte 1 # DW_AT_dwo_name 222 .quad 0 # DW_AT_low_pc 223 .byte 0 # DW_AT_ranges 224 .long .Laddr_table_base0 # DW_AT_addr_base 225 .long .Lrnglists_table_base0 # DW_AT_rnglists_base 226.Ldebug_info_end0: 227 .section .debug_rnglists,"",@progbits 228 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length 229.Ldebug_list_header_start0: 230 .short 5 # Version 231 .byte 8 # Address size 232 .byte 0 # Segment selector size 233 .long 1 # Offset entry count 234.Lrnglists_table_base0: 235 .long .Ldebug_ranges4-.Lrnglists_table_base0 236.Ldebug_ranges4: 237 .byte 3 # DW_RLE_startx_length 238 .byte 0 # start index 239 .uleb128 .LBB_END0_1-_Z7doStuffi.__part.1 # length 240 .byte 3 # DW_RLE_startx_length 241 .byte 1 # start index 242 .uleb128 .LBB_END0_2-_Z7doStuffi.__part.2 # length 243 .byte 3 # DW_RLE_startx_length 244 .byte 2 # start index 245 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length 246 .byte 3 # DW_RLE_startx_length 247 .byte 3 # start index 248 .uleb128 .Lfunc_end1-.Lfunc_begin1 # length 249 .byte 3 # DW_RLE_startx_length 250 .byte 4 # start index 251 .uleb128 .LBB_END2_1-main.__part.1 # length 252 .byte 3 # DW_RLE_startx_length 253 .byte 5 # start index 254 .uleb128 .LBB_END2_2-main.__part.2 # length 255 .byte 3 # DW_RLE_startx_length 256 .byte 6 # start index 257 .uleb128 .Lfunc_end2-.Lfunc_begin2 # length 258 .byte 0 # DW_RLE_end_of_list 259.Ldebug_list_header_end0: 260 .section .debug_str_offsets,"",@progbits 261 .long 12 # Length of String Offsets Set 262 .short 5 263 .short 0 264.Lstr_offsets_base0: 265 .section .debug_str,"MS",@progbits,1 266.Lskel_string0: 267 .asciz "." # string offset=0 268.Lskel_string1: 269 .asciz "main.dwo" # string offset=38 270 .section .debug_str_offsets,"",@progbits 271 .long .Lskel_string0 272 .long .Lskel_string1 273 .section .debug_str_offsets.dwo,"e",@progbits 274 .long 60 # Length of String Offsets Set 275 .short 5 276 .short 0 277 .section .debug_str.dwo,"eMS",@progbits,1 278.Linfo_string0: 279 .asciz "_Z7doStuffi" # string offset=0 280.Linfo_string1: 281 .asciz "doStuff" # string offset=12 282.Linfo_string2: 283 .asciz "int" # string offset=20 284.Linfo_string3: 285 .asciz "val" # string offset=24 286.Linfo_string4: 287 .asciz "_Z8doStuff2i" # string offset=28 288.Linfo_string5: 289 .asciz "doStuff2" # string offset=41 290.Linfo_string6: 291 .asciz "foo" # string offset=50 292.Linfo_string7: 293 .asciz "main" # string offset=54 294.Linfo_string8: 295 .asciz "argc" # string offset=59 296.Linfo_string9: 297 .asciz "argv" # string offset=64 298.Linfo_string10: 299 .asciz "char" # string offset=69 300.Linfo_string11: 301 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=74 302.Linfo_string12: 303 .asciz "main.cpp" # string offset=175 304.Linfo_string13: 305 .asciz "main.dwo" # string offset=184 306 .section .debug_str_offsets.dwo,"e",@progbits 307 .long 0 308 .long 12 309 .long 20 310 .long 24 311 .long 28 312 .long 41 313 .long 50 314 .long 54 315 .long 59 316 .long 64 317 .long 69 318 .long 74 319 .long 175 320 .long 184 321 .section .debug_info.dwo,"e",@progbits 322 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 323.Ldebug_info_dwo_start0: 324 .short 5 # DWARF version number 325 .byte 5 # DWARF Unit Type 326 .byte 8 # Address Size (in bytes) 327 .long 0 # Offset Into Abbrev. Section 328 .quad 1354107878901449185 329 .byte 1 # Abbrev [1] 0x14:0xc6 DW_TAG_compile_unit 330 .byte 11 # DW_AT_producer 331 .short 33 # DW_AT_language 332 .byte 12 # DW_AT_name 333 .byte 13 # DW_AT_dwo_name 334 .byte 2 # Abbrev [2] 0x1a:0x11 DW_TAG_subprogram 335 .byte 0 # DW_AT_ranges 336 .byte 1 # DW_AT_frame_base 337 .byte 86 338 .long 72 # DW_AT_abstract_origin 339 .byte 3 # Abbrev [3] 0x22:0x8 DW_TAG_formal_parameter 340 .byte 2 # DW_AT_location 341 .byte 145 342 .byte 124 343 .long 81 # DW_AT_abstract_origin 344 .byte 0 # End Of Children Mark 345 .byte 4 # Abbrev [4] 0x2b:0x1d DW_TAG_subprogram 346 .byte 3 # DW_AT_low_pc 347 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 348 .byte 1 # DW_AT_frame_base 349 .byte 86 350 .long 94 # DW_AT_abstract_origin 351 .byte 3 # Abbrev [3] 0x37:0x8 DW_TAG_formal_parameter 352 .byte 2 # DW_AT_location 353 .byte 145 354 .byte 124 355 .long 103 # DW_AT_abstract_origin 356 .byte 5 # Abbrev [5] 0x3f:0x8 DW_TAG_variable 357 .byte 2 # DW_AT_location 358 .byte 145 359 .byte 120 360 .long 111 # DW_AT_abstract_origin 361 .byte 0 # End Of Children Mark 362 .byte 6 # Abbrev [6] 0x48:0x12 DW_TAG_subprogram 363 .byte 0 # DW_AT_linkage_name 364 .byte 1 # DW_AT_name 365 .byte 0 # DW_AT_decl_file 366 .byte 2 # DW_AT_decl_line 367 .long 90 # DW_AT_type 368 # DW_AT_external 369 # DW_AT_inline 370 .byte 7 # Abbrev [7] 0x51:0x8 DW_TAG_formal_parameter 371 .byte 3 # DW_AT_name 372 .byte 0 # DW_AT_decl_file 373 .byte 2 # DW_AT_decl_line 374 .long 90 # DW_AT_type 375 .byte 0 # End Of Children Mark 376 .byte 8 # Abbrev [8] 0x5a:0x4 DW_TAG_base_type 377 .byte 2 # DW_AT_name 378 .byte 5 # DW_AT_encoding 379 .byte 4 # DW_AT_byte_size 380 .byte 6 # Abbrev [6] 0x5e:0x1a DW_TAG_subprogram 381 .byte 4 # DW_AT_linkage_name 382 .byte 5 # DW_AT_name 383 .byte 0 # DW_AT_decl_file 384 .byte 8 # DW_AT_decl_line 385 .long 90 # DW_AT_type 386 # DW_AT_external 387 # DW_AT_inline 388 .byte 7 # Abbrev [7] 0x67:0x8 DW_TAG_formal_parameter 389 .byte 3 # DW_AT_name 390 .byte 0 # DW_AT_decl_file 391 .byte 8 # DW_AT_decl_line 392 .long 90 # DW_AT_type 393 .byte 9 # Abbrev [9] 0x6f:0x8 DW_TAG_variable 394 .byte 6 # DW_AT_name 395 .byte 0 # DW_AT_decl_file 396 .byte 9 # DW_AT_decl_line 397 .long 90 # DW_AT_type 398 .byte 0 # End Of Children Mark 399 .byte 10 # Abbrev [10] 0x78:0x4e DW_TAG_subprogram 400 .byte 1 # DW_AT_ranges 401 .byte 1 # DW_AT_frame_base 402 .byte 86 403 .byte 7 # DW_AT_name 404 .byte 0 # DW_AT_decl_file 405 .byte 14 # DW_AT_decl_line 406 .long 90 # DW_AT_type 407 # DW_AT_external 408 .byte 11 # Abbrev [11] 0x83:0xb DW_TAG_formal_parameter 409 .byte 2 # DW_AT_location 410 .byte 145 411 .byte 108 412 .byte 8 # DW_AT_name 413 .byte 0 # DW_AT_decl_file 414 .byte 14 # DW_AT_decl_line 415 .long 90 # DW_AT_type 416 .byte 11 # Abbrev [11] 0x8e:0xb DW_TAG_formal_parameter 417 .byte 2 # DW_AT_location 418 .byte 145 419 .byte 96 420 .byte 9 # DW_AT_name 421 .byte 0 # DW_AT_decl_file 422 .byte 14 # DW_AT_decl_line 423 .long 198 # DW_AT_type 424 .byte 12 # Abbrev [12] 0x99:0x12 DW_TAG_inlined_subroutine 425 .long 72 # DW_AT_abstract_origin 426 .byte 2 # DW_AT_ranges 427 .byte 0 # DW_AT_call_file 428 .byte 15 # DW_AT_call_line 429 .byte 13 # DW_AT_call_column 430 .byte 3 # Abbrev [3] 0xa2:0x8 DW_TAG_formal_parameter 431 .byte 2 # DW_AT_location 432 .byte 145 433 .byte 116 434 .long 81 # DW_AT_abstract_origin 435 .byte 0 # End Of Children Mark 436 .byte 12 # Abbrev [12] 0xab:0x1a DW_TAG_inlined_subroutine 437 .long 94 # DW_AT_abstract_origin 438 .byte 3 # DW_AT_ranges 439 .byte 0 # DW_AT_call_file 440 .byte 15 # DW_AT_call_line 441 .byte 29 # DW_AT_call_column 442 .byte 3 # Abbrev [3] 0xb4:0x8 DW_TAG_formal_parameter 443 .byte 2 # DW_AT_location 444 .byte 145 445 .byte 124 446 .long 103 # DW_AT_abstract_origin 447 .byte 5 # Abbrev [5] 0xbc:0x8 DW_TAG_variable 448 .byte 2 # DW_AT_location 449 .byte 145 450 .byte 120 451 .long 111 # DW_AT_abstract_origin 452 .byte 0 # End Of Children Mark 453 .byte 0 # End Of Children Mark 454 .byte 13 # Abbrev [13] 0xc6:0x5 DW_TAG_pointer_type 455 .long 203 # DW_AT_type 456 .byte 13 # Abbrev [13] 0xcb:0x5 DW_TAG_pointer_type 457 .long 208 # DW_AT_type 458 .byte 14 # Abbrev [14] 0xd0:0x5 DW_TAG_const_type 459 .long 213 # DW_AT_type 460 .byte 8 # Abbrev [8] 0xd5:0x4 DW_TAG_base_type 461 .byte 10 # DW_AT_name 462 .byte 6 # DW_AT_encoding 463 .byte 1 # DW_AT_byte_size 464 .byte 0 # End Of Children Mark 465.Ldebug_info_dwo_end0: 466 .section .debug_abbrev.dwo,"e",@progbits 467 .byte 1 # Abbreviation Code 468 .byte 17 # DW_TAG_compile_unit 469 .byte 1 # DW_CHILDREN_yes 470 .byte 37 # DW_AT_producer 471 .byte 37 # DW_FORM_strx1 472 .byte 19 # DW_AT_language 473 .byte 5 # DW_FORM_data2 474 .byte 3 # DW_AT_name 475 .byte 37 # DW_FORM_strx1 476 .byte 118 # DW_AT_dwo_name 477 .byte 37 # DW_FORM_strx1 478 .byte 0 # EOM(1) 479 .byte 0 # EOM(2) 480 .byte 2 # Abbreviation Code 481 .byte 46 # DW_TAG_subprogram 482 .byte 1 # DW_CHILDREN_yes 483 .byte 85 # DW_AT_ranges 484 .byte 35 # DW_FORM_rnglistx 485 .byte 64 # DW_AT_frame_base 486 .byte 24 # DW_FORM_exprloc 487 .byte 49 # DW_AT_abstract_origin 488 .byte 19 # DW_FORM_ref4 489 .byte 0 # EOM(1) 490 .byte 0 # EOM(2) 491 .byte 3 # Abbreviation Code 492 .byte 5 # DW_TAG_formal_parameter 493 .byte 0 # DW_CHILDREN_no 494 .byte 2 # DW_AT_location 495 .byte 24 # DW_FORM_exprloc 496 .byte 49 # DW_AT_abstract_origin 497 .byte 19 # DW_FORM_ref4 498 .byte 0 # EOM(1) 499 .byte 0 # EOM(2) 500 .byte 4 # Abbreviation Code 501 .byte 46 # DW_TAG_subprogram 502 .byte 1 # DW_CHILDREN_yes 503 .byte 17 # DW_AT_low_pc 504 .byte 27 # DW_FORM_addrx 505 .byte 18 # DW_AT_high_pc 506 .byte 6 # DW_FORM_data4 507 .byte 64 # DW_AT_frame_base 508 .byte 24 # DW_FORM_exprloc 509 .byte 49 # DW_AT_abstract_origin 510 .byte 19 # DW_FORM_ref4 511 .byte 0 # EOM(1) 512 .byte 0 # EOM(2) 513 .byte 5 # Abbreviation Code 514 .byte 52 # DW_TAG_variable 515 .byte 0 # DW_CHILDREN_no 516 .byte 2 # DW_AT_location 517 .byte 24 # DW_FORM_exprloc 518 .byte 49 # DW_AT_abstract_origin 519 .byte 19 # DW_FORM_ref4 520 .byte 0 # EOM(1) 521 .byte 0 # EOM(2) 522 .byte 6 # Abbreviation Code 523 .byte 46 # DW_TAG_subprogram 524 .byte 1 # DW_CHILDREN_yes 525 .byte 110 # DW_AT_linkage_name 526 .byte 37 # DW_FORM_strx1 527 .byte 3 # DW_AT_name 528 .byte 37 # DW_FORM_strx1 529 .byte 58 # DW_AT_decl_file 530 .byte 11 # DW_FORM_data1 531 .byte 59 # DW_AT_decl_line 532 .byte 11 # DW_FORM_data1 533 .byte 73 # DW_AT_type 534 .byte 19 # DW_FORM_ref4 535 .byte 63 # DW_AT_external 536 .byte 25 # DW_FORM_flag_present 537 .byte 32 # DW_AT_inline 538 .byte 33 # DW_FORM_implicit_const 539 .byte 1 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 .byte 37 # DW_FORM_strx1 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 .byte 37 # DW_FORM_strx1 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 .byte 37 # DW_FORM_strx1 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 35 # DW_FORM_rnglistx 584 .byte 64 # DW_AT_frame_base 585 .byte 24 # DW_FORM_exprloc 586 .byte 3 # DW_AT_name 587 .byte 37 # DW_FORM_strx1 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 .byte 37 # DW_FORM_strx1 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 35 # DW_FORM_rnglistx 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 15 # DW_TAG_pointer_type 630 .byte 0 # DW_CHILDREN_no 631 .byte 73 # DW_AT_type 632 .byte 19 # DW_FORM_ref4 633 .byte 0 # EOM(1) 634 .byte 0 # EOM(2) 635 .byte 14 # Abbreviation Code 636 .byte 38 # DW_TAG_const_type 637 .byte 0 # DW_CHILDREN_no 638 .byte 73 # DW_AT_type 639 .byte 19 # DW_FORM_ref4 640 .byte 0 # EOM(1) 641 .byte 0 # EOM(2) 642 .byte 0 # EOM(3) 643 .section .debug_rnglists.dwo,"e",@progbits 644 .long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length 645.Ldebug_list_header_start1: 646 .short 5 # Version 647 .byte 8 # Address size 648 .byte 0 # Segment selector size 649 .long 4 # Offset entry count 650.Lrnglists_dwo_table_base0: 651 .long .Ldebug_ranges0-.Lrnglists_dwo_table_base0 652 .long .Ldebug_ranges1-.Lrnglists_dwo_table_base0 653 .long .Ldebug_ranges2-.Lrnglists_dwo_table_base0 654 .long .Ldebug_ranges3-.Lrnglists_dwo_table_base0 655.Ldebug_ranges0: 656 .byte 3 # DW_RLE_startx_length 657 .byte 0 # start index 658 .uleb128 .LBB_END0_1-_Z7doStuffi.__part.1 # length 659 .byte 3 # DW_RLE_startx_length 660 .byte 1 # start index 661 .uleb128 .LBB_END0_2-_Z7doStuffi.__part.2 # length 662 .byte 3 # DW_RLE_startx_length 663 .byte 2 # start index 664 .uleb128 .Lfunc_end0-.Lfunc_begin0 # length 665 .byte 0 # DW_RLE_end_of_list 666.Ldebug_ranges1: 667 .byte 3 # DW_RLE_startx_length 668 .byte 4 # start index 669 .uleb128 .LBB_END2_1-main.__part.1 # length 670 .byte 3 # DW_RLE_startx_length 671 .byte 5 # start index 672 .uleb128 .LBB_END2_2-main.__part.2 # length 673 .byte 3 # DW_RLE_startx_length 674 .byte 6 # start index 675 .uleb128 .Lfunc_end2-.Lfunc_begin2 # length 676 .byte 0 # DW_RLE_end_of_list 677.Ldebug_ranges2: 678 .byte 1 # DW_RLE_base_addressx 679 .byte 6 # base address index 680 .byte 4 # DW_RLE_offset_pair 681 .uleb128 .Ltmp4-.Lfunc_begin2 # starting offset 682 .uleb128 .Lfunc_end2-.Lfunc_begin2 # ending offset 683 .byte 3 # DW_RLE_startx_length 684 .byte 4 # start index 685 .uleb128 .LBB_END2_1-main.__part.1 # length 686 .byte 3 # DW_RLE_startx_length 687 .byte 5 # start index 688 .uleb128 .Ltmp6-main.__part.2 # length 689 .byte 0 # DW_RLE_end_of_list 690.Ldebug_ranges3: 691 .byte 1 # DW_RLE_base_addressx 692 .byte 5 # base address index 693 .byte 4 # DW_RLE_offset_pair 694 .uleb128 .Ltmp7-main.__part.2 # starting offset 695 .uleb128 .Ltmp8-main.__part.2 # ending offset 696 .byte 0 # DW_RLE_end_of_list 697.Ldebug_list_header_end1: 698 .section .debug_addr,"",@progbits 699 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 700.Ldebug_addr_start0: 701 .short 5 # DWARF version number 702 .byte 8 # Address size 703 .byte 0 # Segment selector size 704.Laddr_table_base0: 705 .quad _Z7doStuffi.__part.1 706 .quad _Z7doStuffi.__part.2 707 .quad .Lfunc_begin0 708 .quad .Lfunc_begin1 709 .quad main.__part.1 710 .quad main.__part.2 711 .quad .Lfunc_begin2 712.Ldebug_addr_end0: 713 .section .debug_gnu_pubnames,"",@progbits 714 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info 715.LpubNames_start0: 716 .short 2 # DWARF Version 717 .long .Lcu_begin0 # Offset of Compilation Unit Info 718 .long 48 # Compilation Unit Length 719 .long 72 # DIE offset 720 .byte 48 # Attributes: FUNCTION, EXTERNAL 721 .asciz "doStuff" # External Name 722 .long 94 # DIE offset 723 .byte 48 # Attributes: FUNCTION, EXTERNAL 724 .asciz "doStuff2" # External Name 725 .long 120 # DIE offset 726 .byte 48 # Attributes: FUNCTION, EXTERNAL 727 .asciz "main" # External Name 728 .long 0 # End Mark 729.LpubNames_end0: 730 .section .debug_gnu_pubtypes,"",@progbits 731 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info 732.LpubTypes_start0: 733 .short 2 # DWARF Version 734 .long .Lcu_begin0 # Offset of Compilation Unit Info 735 .long 48 # Compilation Unit Length 736 .long 90 # DIE offset 737 .byte 144 # Attributes: TYPE, STATIC 738 .asciz "int" # External Name 739 .long 213 # DIE offset 740 .byte 144 # Attributes: TYPE, STATIC 741 .asciz "char" # External Name 742 .long 0 # End Mark 743.LpubTypes_end0: 744 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" 745 .section ".note.GNU-stack","",@progbits 746 .addrsig 747 .section .debug_line,"",@progbits 748.Lline_table_start0: 749