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