1# __attribute__((always_inline)) 2# int doStuff(int val) { 3# if (val) 4# ++val; 5# return val; 6# } 7# __attribute__((always_inline)) 8# int doStuffSame(int val) { 9# if (val) 10# ++val; 11# return val; 12# } 13# 14# 15# int main(int argc, const char** argv) { 16# return doStuff(argc) + doStuffSame(argc); 17# } 18# Assembly manually modified to set DW_AT_low_pc to 0 for DW_TAG_inlined_subroutine(s) 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 .LBB0_2 43# %bb.1: # %if.then 44.Ltmp2: 45 .loc 1 4 5 is_stmt 1 # main.cpp:4:5 46 movl -4(%rbp), %eax 47 addl $1, %eax 48 movl %eax, -4(%rbp) 49.Ltmp3: 50.LBB0_2: # %if.end 51 .loc 1 5 10 # main.cpp:5:10 52 movl -4(%rbp), %eax 53 .loc 1 5 3 epilogue_begin is_stmt 0 # main.cpp:5:3 54 popq %rbp 55 .cfi_def_cfa %rsp, 8 56 retq 57.Ltmp4: 58.Lfunc_end0: 59 .size _Z7doStuffi, .Lfunc_end0-_Z7doStuffi 60 .cfi_endproc 61 # -- End function 62 .section .text._Z11doStuffSamei,"ax",@progbits 63 .globl _Z11doStuffSamei # -- Begin function _Z11doStuffSamei 64 .p2align 4, 0x90 65 .type _Z11doStuffSamei,@function 66_Z11doStuffSamei: # @_Z11doStuffSamei 67.Lfunc_begin1: 68 .loc 1 8 0 is_stmt 1 # main.cpp:8:0 69 .cfi_startproc 70# %bb.0: # %entry 71 pushq %rbp 72 .cfi_def_cfa_offset 16 73 .cfi_offset %rbp, -16 74 movq %rsp, %rbp 75 .cfi_def_cfa_register %rbp 76 movl %edi, -4(%rbp) 77.Ltmp5: 78 .loc 1 9 11 prologue_end # main.cpp:9:11 79 cmpl $0, -4(%rbp) 80.Ltmp6: 81 .loc 1 9 11 is_stmt 0 # main.cpp:9:11 82 je .LBB1_2 83# %bb.1: # %if.then 84.Ltmp7: 85 .loc 1 10 13 is_stmt 1 # main.cpp:10:13 86 movl -4(%rbp), %eax 87 addl $1, %eax 88 movl %eax, -4(%rbp) 89.Ltmp8: 90.LBB1_2: # %if.end 91 .loc 1 11 16 # main.cpp:11:16 92 movl -4(%rbp), %eax 93 .loc 1 11 9 epilogue_begin is_stmt 0 # main.cpp:11:9 94 popq %rbp 95 .cfi_def_cfa %rsp, 8 96 retq 97.Ltmp9: 98.Lfunc_end1: 99 .size _Z11doStuffSamei, .Lfunc_end1-_Z11doStuffSamei 100 .cfi_endproc 101 # -- End function 102 .section .text.main,"ax",@progbits 103 .globl main # -- Begin function main 104 .p2align 4, 0x90 105 .type main,@function 106main: # @main 107.Lfunc_begin2: 108 .loc 1 15 0 is_stmt 1 # main.cpp:15:0 109 .cfi_startproc 110# %bb.0: # %entry 111 pushq %rbp 112 .cfi_def_cfa_offset 16 113 .cfi_offset %rbp, -16 114 movq %rsp, %rbp 115 .cfi_def_cfa_register %rbp 116 movl $0, -12(%rbp) 117 movl %edi, -16(%rbp) 118 movq %rsi, -24(%rbp) 119.Ltmp10: 120 .loc 1 16 21 prologue_end # main.cpp:16:21 121 movl -16(%rbp), %eax 122 movl %eax, -8(%rbp) 123.Ltmp11: 124 .loc 1 3 7 # main.cpp:3:7 125 cmpl $0, -8(%rbp) 126.Ltmp12: 127 .loc 1 3 7 is_stmt 0 # main.cpp:3:7 128 je .LBB2_2 129# %bb.1: # %if.then.i 130.Ltmp13: 131 .loc 1 4 5 is_stmt 1 # main.cpp:4:5 132 movl -8(%rbp), %eax 133 addl $1, %eax 134 movl %eax, -8(%rbp) 135.Ltmp14: 136.LBB2_2: # %_Z7doStuffi.exit 137 .loc 1 5 10 # main.cpp:5:10 138 movl -8(%rbp), %eax 139 movl %eax, -28(%rbp) # 4-byte Spill 140.Ltmp15: 141 .loc 1 16 41 # main.cpp:16:41 142 movl -16(%rbp), %eax 143 movl %eax, -4(%rbp) 144.Ltmp16: 145 .loc 1 9 11 # main.cpp:9:11 146 cmpl $0, -4(%rbp) 147.Ltmp17: 148 .loc 1 9 11 is_stmt 0 # main.cpp:9:11 149 je .LBB2_4 150# %bb.3: # %if.then.i4 151.Ltmp18: 152 .loc 1 10 13 is_stmt 1 # main.cpp:10:13 153 movl -4(%rbp), %eax 154 addl $1, %eax 155 movl %eax, -4(%rbp) 156.Ltmp19: 157.LBB2_4: # %_Z11doStuffSamei.exit 158 .loc 1 0 13 is_stmt 0 # main.cpp:0:13 159 movl -28(%rbp), %eax # 4-byte Reload 160 .loc 1 16 27 is_stmt 1 # main.cpp:16:27 161 addl -4(%rbp), %eax 162 .loc 1 16 5 epilogue_begin is_stmt 0 # main.cpp:16:5 163 popq %rbp 164 .cfi_def_cfa %rsp, 8 165 retq 166.Ltmp20: 167.Lfunc_end2: 168 .size main, .Lfunc_end2-main 169 .cfi_endproc 170 # -- End function 171 .section .debug_abbrev,"",@progbits 172 .byte 1 # Abbreviation Code 173 .byte 17 # DW_TAG_compile_unit 174 .byte 0 # DW_CHILDREN_no 175 .byte 16 # DW_AT_stmt_list 176 .byte 23 # DW_FORM_sec_offset 177 .byte 27 # DW_AT_comp_dir 178 .byte 14 # DW_FORM_strp 179 .ascii "\264B" # DW_AT_GNU_pubnames 180 .byte 25 # DW_FORM_flag_present 181 .ascii "\260B" # DW_AT_GNU_dwo_name 182 .byte 14 # DW_FORM_strp 183 .ascii "\261B" # DW_AT_GNU_dwo_id 184 .byte 7 # DW_FORM_data8 185 .byte 17 # DW_AT_low_pc 186 .byte 1 # DW_FORM_addr 187 .byte 85 # DW_AT_ranges 188 .byte 23 # DW_FORM_sec_offset 189 .ascii "\263B" # DW_AT_GNU_addr_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 4 # DWARF version number 199 .long .debug_abbrev # Offset Into Abbrev. Section 200 .byte 8 # Address Size (in bytes) 201 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit 202 .long .Lline_table_start0 # DW_AT_stmt_list 203 .long .Lskel_string0 # DW_AT_comp_dir 204 # DW_AT_GNU_pubnames 205 .long .Lskel_string1 # DW_AT_GNU_dwo_name 206 .quad 1388808602086005033 # DW_AT_GNU_dwo_id 207 .quad 0 # DW_AT_low_pc 208 .long .Ldebug_ranges0 # DW_AT_ranges 209 .long .Laddr_table_base0 # DW_AT_GNU_addr_base 210.Ldebug_info_end0: 211 .section .debug_ranges,"",@progbits 212.Ldebug_ranges0: 213 .quad .Lfunc_begin0 214 .quad .Lfunc_end0 215 .quad .Lfunc_begin1 216 .quad .Lfunc_end1 217 .quad .Lfunc_begin2 218 .quad .Lfunc_end2 219 .quad 0 # manually modified 220 .quad 0 # manually modified 221 .section .debug_str,"MS",@progbits,1 222.Lskel_string0: 223 .asciz "." # string offset=0 224.Lskel_string1: 225 .asciz "main.dwo" # string offset=38 226 .section .debug_str.dwo,"eMS",@progbits,1 227.Linfo_string0: 228 .asciz "_Z7doStuffi" # string offset=0 229.Linfo_string1: 230 .asciz "doStuff" # string offset=12 231.Linfo_string2: 232 .asciz "int" # string offset=20 233.Linfo_string3: 234 .asciz "val" # string offset=24 235.Linfo_string4: 236 .asciz "_Z11doStuffSamei" # string offset=28 237.Linfo_string5: 238 .asciz "doStuffSame" # string offset=45 239.Linfo_string6: 240 .asciz "main" # string offset=57 241.Linfo_string7: 242 .asciz "argc" # string offset=62 243.Linfo_string8: 244 .asciz "argv" # string offset=67 245.Linfo_string9: 246 .asciz "char" # string offset=72 247.Linfo_string10: 248 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 63dbe7e808d07bdf25bad85301980bc323b0cd64)" # string offset=77 249.Linfo_string11: 250 .asciz "main.cpp" # string offset=178 251.Linfo_string12: 252 .asciz "main.dwo" # string offset=187 253 .section .debug_str_offsets.dwo,"e",@progbits 254 .long 0 255 .long 12 256 .long 20 257 .long 24 258 .long 28 259 .long 45 260 .long 57 261 .long 62 262 .long 67 263 .long 72 264 .long 77 265 .long 178 266 .long 187 267 .section .debug_info.dwo,"e",@progbits 268 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 269.Ldebug_info_dwo_start0: 270 .short 4 # DWARF version number 271 .long 0 # Offset Into Abbrev. Section 272 .byte 8 # Address Size (in bytes) 273 .byte 1 # Abbrev [1] 0xb:0xc8 DW_TAG_compile_unit 274 .byte 10 # DW_AT_producer 275 .short 33 # DW_AT_language 276 .byte 11 # DW_AT_name 277 .byte 12 # DW_AT_GNU_dwo_name 278 .quad 1388808602086005033 # DW_AT_GNU_dwo_id 279 .byte 2 # Abbrev [2] 0x19:0x15 DW_TAG_subprogram 280 .byte 0 # DW_AT_low_pc 281 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 282 .byte 1 # DW_AT_frame_base 283 .byte 86 284 .long 67 # DW_AT_abstract_origin 285 .byte 3 # Abbrev [3] 0x25:0x8 DW_TAG_formal_parameter 286 .byte 2 # DW_AT_location 287 .byte 145 288 .byte 124 289 .long 77 # DW_AT_abstract_origin 290 .byte 0 # End Of Children Mark 291 .byte 2 # Abbrev [2] 0x2e:0x15 DW_TAG_subprogram 292 .byte 1 # DW_AT_low_pc 293 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 294 .byte 1 # DW_AT_frame_base 295 .byte 86 296 .long 90 # DW_AT_abstract_origin 297 .byte 3 # Abbrev [3] 0x3a:0x8 DW_TAG_formal_parameter 298 .byte 2 # DW_AT_location 299 .byte 145 300 .byte 124 301 .long 100 # DW_AT_abstract_origin 302 .byte 0 # End Of Children Mark 303 .byte 4 # Abbrev [4] 0x43:0x13 DW_TAG_subprogram 304 .byte 0 # DW_AT_linkage_name 305 .byte 1 # DW_AT_name 306 .byte 1 # DW_AT_decl_file 307 .byte 2 # DW_AT_decl_line 308 .long 86 # DW_AT_type 309 # DW_AT_external 310 .byte 1 # DW_AT_inline 311 .byte 5 # Abbrev [5] 0x4d:0x8 DW_TAG_formal_parameter 312 .byte 3 # DW_AT_name 313 .byte 1 # DW_AT_decl_file 314 .byte 2 # DW_AT_decl_line 315 .long 86 # DW_AT_type 316 .byte 0 # End Of Children Mark 317 .byte 6 # Abbrev [6] 0x56:0x4 DW_TAG_base_type 318 .byte 2 # DW_AT_name 319 .byte 5 # DW_AT_encoding 320 .byte 4 # DW_AT_byte_size 321 .byte 4 # Abbrev [4] 0x5a:0x13 DW_TAG_subprogram 322 .byte 4 # DW_AT_linkage_name 323 .byte 5 # DW_AT_name 324 .byte 1 # DW_AT_decl_file 325 .byte 8 # DW_AT_decl_line 326 .long 86 # DW_AT_type 327 # DW_AT_external 328 .byte 1 # DW_AT_inline 329 .byte 5 # Abbrev [5] 0x64:0x8 DW_TAG_formal_parameter 330 .byte 3 # DW_AT_name 331 .byte 1 # DW_AT_decl_file 332 .byte 8 # DW_AT_decl_line 333 .long 86 # DW_AT_type 334 .byte 0 # End Of Children Mark 335 .byte 7 # Abbrev [7] 0x6d:0x52 DW_TAG_subprogram 336 .byte 2 # DW_AT_low_pc 337 .long .Lfunc_end2-.Lfunc_begin2 # DW_AT_high_pc 338 .byte 1 # DW_AT_frame_base 339 .byte 86 340 .byte 6 # DW_AT_name 341 .byte 1 # DW_AT_decl_file 342 .byte 15 # DW_AT_decl_line 343 .long 86 # DW_AT_type 344 # DW_AT_external 345 .byte 8 # Abbrev [8] 0x7c:0xb DW_TAG_formal_parameter 346 .byte 2 # DW_AT_location 347 .byte 145 348 .byte 112 349 .byte 7 # DW_AT_name 350 .byte 1 # DW_AT_decl_file 351 .byte 15 # DW_AT_decl_line 352 .long 86 # DW_AT_type 353 .byte 8 # Abbrev [8] 0x87:0xb DW_TAG_formal_parameter 354 .byte 2 # DW_AT_location 355 .byte 145 356 .byte 104 357 .byte 8 # DW_AT_name 358 .byte 1 # DW_AT_decl_file 359 .byte 15 # DW_AT_decl_line 360 .long 191 # DW_AT_type 361 .byte 9 # Abbrev [9] 0x92:0x16 DW_TAG_inlined_subroutine 362 .long 67 # DW_AT_abstract_origin 363 .byte 3 # DW_AT_low_pc 364 .long .Ltmp15-.Ltmp11 # DW_AT_high_pc 365 .byte 1 # DW_AT_call_file 366 .byte 16 # DW_AT_call_line 367 .byte 13 # DW_AT_call_column 368 .byte 3 # Abbrev [3] 0x9f:0x8 DW_TAG_formal_parameter 369 .byte 2 # DW_AT_location 370 .byte 145 371 .byte 120 372 .long 77 # DW_AT_abstract_origin 373 .byte 0 # End Of Children Mark 374 .byte 9 # Abbrev [9] 0xa8:0x16 DW_TAG_inlined_subroutine 375 .long 90 # DW_AT_abstract_origin 376 .byte 4 # DW_AT_low_pc 377 .long .Ltmp19-.Ltmp16 # DW_AT_high_pc 378 .byte 1 # DW_AT_call_file 379 .byte 16 # DW_AT_call_line 380 .byte 29 # DW_AT_call_column 381 .byte 3 # Abbrev [3] 0xb5:0x8 DW_TAG_formal_parameter 382 .byte 2 # DW_AT_location 383 .byte 145 384 .byte 124 385 .long 100 # DW_AT_abstract_origin 386 .byte 0 # End Of Children Mark 387 .byte 0 # End Of Children Mark 388 .byte 10 # Abbrev [10] 0xbf:0x5 DW_TAG_pointer_type 389 .long 196 # DW_AT_type 390 .byte 10 # Abbrev [10] 0xc4:0x5 DW_TAG_pointer_type 391 .long 201 # DW_AT_type 392 .byte 11 # Abbrev [11] 0xc9:0x5 DW_TAG_const_type 393 .long 206 # DW_AT_type 394 .byte 6 # Abbrev [6] 0xce:0x4 DW_TAG_base_type 395 .byte 9 # DW_AT_name 396 .byte 6 # DW_AT_encoding 397 .byte 1 # DW_AT_byte_size 398 .byte 0 # End Of Children Mark 399.Ldebug_info_dwo_end0: 400 .section .debug_abbrev.dwo,"e",@progbits 401 .byte 1 # Abbreviation Code 402 .byte 17 # DW_TAG_compile_unit 403 .byte 1 # DW_CHILDREN_yes 404 .byte 37 # DW_AT_producer 405 .ascii "\202>" # DW_FORM_GNU_str_index 406 .byte 19 # DW_AT_language 407 .byte 5 # DW_FORM_data2 408 .byte 3 # DW_AT_name 409 .ascii "\202>" # DW_FORM_GNU_str_index 410 .ascii "\260B" # DW_AT_GNU_dwo_name 411 .ascii "\202>" # DW_FORM_GNU_str_index 412 .ascii "\261B" # DW_AT_GNU_dwo_id 413 .byte 7 # DW_FORM_data8 414 .byte 0 # EOM(1) 415 .byte 0 # EOM(2) 416 .byte 2 # Abbreviation Code 417 .byte 46 # DW_TAG_subprogram 418 .byte 1 # DW_CHILDREN_yes 419 .byte 17 # DW_AT_low_pc 420 .ascii "\201>" # DW_FORM_GNU_addr_index 421 .byte 18 # DW_AT_high_pc 422 .byte 6 # DW_FORM_data4 423 .byte 64 # DW_AT_frame_base 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 3 # Abbreviation Code 430 .byte 5 # DW_TAG_formal_parameter 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 4 # Abbreviation Code 439 .byte 46 # DW_TAG_subprogram 440 .byte 1 # DW_CHILDREN_yes 441 .byte 110 # DW_AT_linkage_name 442 .ascii "\202>" # DW_FORM_GNU_str_index 443 .byte 3 # DW_AT_name 444 .ascii "\202>" # DW_FORM_GNU_str_index 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 11 # DW_FORM_data1 455 .byte 0 # EOM(1) 456 .byte 0 # EOM(2) 457 .byte 5 # Abbreviation Code 458 .byte 5 # DW_TAG_formal_parameter 459 .byte 0 # DW_CHILDREN_no 460 .byte 3 # DW_AT_name 461 .ascii "\202>" # DW_FORM_GNU_str_index 462 .byte 58 # DW_AT_decl_file 463 .byte 11 # DW_FORM_data1 464 .byte 59 # DW_AT_decl_line 465 .byte 11 # DW_FORM_data1 466 .byte 73 # DW_AT_type 467 .byte 19 # DW_FORM_ref4 468 .byte 0 # EOM(1) 469 .byte 0 # EOM(2) 470 .byte 6 # Abbreviation Code 471 .byte 36 # DW_TAG_base_type 472 .byte 0 # DW_CHILDREN_no 473 .byte 3 # DW_AT_name 474 .ascii "\202>" # DW_FORM_GNU_str_index 475 .byte 62 # DW_AT_encoding 476 .byte 11 # DW_FORM_data1 477 .byte 11 # DW_AT_byte_size 478 .byte 11 # DW_FORM_data1 479 .byte 0 # EOM(1) 480 .byte 0 # EOM(2) 481 .byte 7 # Abbreviation Code 482 .byte 46 # DW_TAG_subprogram 483 .byte 1 # DW_CHILDREN_yes 484 .byte 17 # DW_AT_low_pc 485 .ascii "\201>" # DW_FORM_GNU_addr_index 486 .byte 18 # DW_AT_high_pc 487 .byte 6 # DW_FORM_data4 488 .byte 64 # DW_AT_frame_base 489 .byte 24 # DW_FORM_exprloc 490 .byte 3 # DW_AT_name 491 .ascii "\202>" # DW_FORM_GNU_str_index 492 .byte 58 # DW_AT_decl_file 493 .byte 11 # DW_FORM_data1 494 .byte 59 # DW_AT_decl_line 495 .byte 11 # DW_FORM_data1 496 .byte 73 # DW_AT_type 497 .byte 19 # DW_FORM_ref4 498 .byte 63 # DW_AT_external 499 .byte 25 # DW_FORM_flag_present 500 .byte 0 # EOM(1) 501 .byte 0 # EOM(2) 502 .byte 8 # Abbreviation Code 503 .byte 5 # DW_TAG_formal_parameter 504 .byte 0 # DW_CHILDREN_no 505 .byte 2 # DW_AT_location 506 .byte 24 # DW_FORM_exprloc 507 .byte 3 # DW_AT_name 508 .ascii "\202>" # DW_FORM_GNU_str_index 509 .byte 58 # DW_AT_decl_file 510 .byte 11 # DW_FORM_data1 511 .byte 59 # DW_AT_decl_line 512 .byte 11 # DW_FORM_data1 513 .byte 73 # DW_AT_type 514 .byte 19 # DW_FORM_ref4 515 .byte 0 # EOM(1) 516 .byte 0 # EOM(2) 517 .byte 9 # Abbreviation Code 518 .byte 29 # DW_TAG_inlined_subroutine 519 .byte 1 # DW_CHILDREN_yes 520 .byte 49 # DW_AT_abstract_origin 521 .byte 19 # DW_FORM_ref4 522 .byte 17 # DW_AT_low_pc 523 .ascii "\201>" # DW_FORM_GNU_addr_index 524 .byte 18 # DW_AT_high_pc 525 .byte 6 # DW_FORM_data4 526 .byte 88 # DW_AT_call_file 527 .byte 11 # DW_FORM_data1 528 .byte 89 # DW_AT_call_line 529 .byte 11 # DW_FORM_data1 530 .byte 87 # DW_AT_call_column 531 .byte 11 # DW_FORM_data1 532 .byte 0 # EOM(1) 533 .byte 0 # EOM(2) 534 .byte 10 # Abbreviation Code 535 .byte 15 # DW_TAG_pointer_type 536 .byte 0 # DW_CHILDREN_no 537 .byte 73 # DW_AT_type 538 .byte 19 # DW_FORM_ref4 539 .byte 0 # EOM(1) 540 .byte 0 # EOM(2) 541 .byte 11 # Abbreviation Code 542 .byte 38 # DW_TAG_const_type 543 .byte 0 # DW_CHILDREN_no 544 .byte 73 # DW_AT_type 545 .byte 19 # DW_FORM_ref4 546 .byte 0 # EOM(1) 547 .byte 0 # EOM(2) 548 .byte 0 # EOM(3) 549 .section .debug_addr,"",@progbits 550.Laddr_table_base0: 551 .quad .Lfunc_begin0 552 .quad .Lfunc_begin1 553 .quad .Lfunc_begin2 554 .quad 0 555 .quad 0 556 .section .debug_gnu_pubnames,"",@progbits 557 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info 558.LpubNames_start0: 559 .short 2 # DWARF Version 560 .long .Lcu_begin0 # Offset of Compilation Unit Info 561 .long 48 # Compilation Unit Length 562 .long 67 # DIE offset 563 .byte 48 # Attributes: FUNCTION, EXTERNAL 564 .asciz "doStuff" # External Name 565 .long 90 # DIE offset 566 .byte 48 # Attributes: FUNCTION, EXTERNAL 567 .asciz "doStuffSame" # External Name 568 .long 109 # DIE offset 569 .byte 48 # Attributes: FUNCTION, EXTERNAL 570 .asciz "main" # External Name 571 .long 0 # End Mark 572.LpubNames_end0: 573 .section .debug_gnu_pubtypes,"",@progbits 574 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info 575.LpubTypes_start0: 576 .short 2 # DWARF Version 577 .long .Lcu_begin0 # Offset of Compilation Unit Info 578 .long 48 # Compilation Unit Length 579 .long 86 # DIE offset 580 .byte 144 # Attributes: TYPE, STATIC 581 .asciz "int" # External Name 582 .long 206 # DIE offset 583 .byte 144 # Attributes: TYPE, STATIC 584 .asciz "char" # External Name 585 .long 0 # End Mark 586.LpubTypes_end0: 587 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 63dbe7e808d07bdf25bad85301980bc323b0cd64)" 588 .section ".note.GNU-stack","",@progbits 589 .addrsig 590 .section .debug_line,"",@progbits 591.Lline_table_start0: 592