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