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