1# clang++ -g -gdwarf-5 -emit-llvm -S main.cpp 2# llc -O2 -mtriple=x86_64-unknown-linux-gnu main.ll 3# void use(int * x, int * y) { 4# *x += 4; 5# *y -= 2; 6# } 7# 8# int helper(int z_, int d_); 9# int x = 0; 10# int y = 1; 11# int main(int argc, char *argv[]) { 12# x = argc; 13# y = argc + 3; 14# use(&x, &y); 15# return helper(x, y); 16# } 17 18 .text 19 .file "main.cpp" 20 .file 0 "." "main.cpp" md5 0x1f627913a0daee879e00a3a51726f0ef 21 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_ 22 .p2align 4, 0x90 23 .type _Z3usePiS_,@function 24_Z3usePiS_: # @_Z3usePiS_ 25.Lfunc_begin0: 26 .loc 0 1 0 # main.cpp:1:0 27 .cfi_startproc 28# %bb.0: # %entry 29 #DEBUG_VALUE: use:x <- $rdi 30 #DEBUG_VALUE: use:y <- $rsi 31 .loc 0 2 4 prologue_end # main.cpp:2:4 32 addl $4, (%rdi) 33 .loc 0 3 4 # main.cpp:3:4 34 addl $-2, (%rsi) 35 .loc 0 4 1 # main.cpp:4:1 36 retq 37.Ltmp0: 38.Lfunc_end0: 39 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_ 40 .cfi_endproc 41 # -- End function 42 .globl main # -- Begin function main 43 .p2align 4, 0x90 44 .type main,@function 45main: # @main 46.Lfunc_begin1: 47 .loc 0 9 0 # main.cpp:9:0 48 .cfi_startproc 49# %bb.0: # %entry 50 #DEBUG_VALUE: main:argc <- $edi 51 #DEBUG_VALUE: main:argv <- $rsi 52 # kill: def $edi killed $edi def $rdi 53 .loc 0 2 4 prologue_end # main.cpp:2:4 54 leal 4(%rdi), %eax 55 movl %eax, x(%rip) 56.Ltmp1: 57 #DEBUG_VALUE: use:x <- undef 58 .loc 0 3 4 # main.cpp:3:4 59 leal 1(%rdi), %esi 60.Ltmp2: 61 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi 62 movl %esi, y(%rip) 63.Ltmp3: 64 #DEBUG_VALUE: use:y <- undef 65 .loc 0 13 11 # main.cpp:13:11 66 movl %eax, %edi 67.Ltmp4: 68 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi 69 jmp _Z6helperii # TAILCALL 70.Ltmp5: 71.Lfunc_end1: 72 .size main, .Lfunc_end1-main 73 .cfi_endproc 74 # -- End function 75 .type x,@object # @x 76 .bss 77 .globl x 78 .p2align 2 79x: 80 .long 0 # 0x0 81 .size x, 4 82 83 .type y,@object # @y 84 .data 85 .globl y 86 .p2align 2 87y: 88 .long 1 # 0x1 89 .size y, 4 90 91 .section .debug_loclists.dwo,"e",@progbits 92 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length 93.Ldebug_list_header_start0: 94 .short 5 # Version 95 .byte 8 # Address size 96 .byte 0 # Segment selector size 97 .long 2 # Offset entry count 98.Lloclists_table_base0: 99 .long .Ldebug_loc0-.Lloclists_table_base0 100 .long .Ldebug_loc1-.Lloclists_table_base0 101.Ldebug_loc0: 102 .byte 1 # DW_LLE_base_addressx 103 .byte 2 # base address index 104 .byte 4 # DW_LLE_offset_pair 105 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset 106 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset 107 .byte 1 # Loc expr size 108 .byte 85 # super-register DW_OP_reg5 109 .byte 4 # DW_LLE_offset_pair 110 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset 111 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset 112 .byte 4 # Loc expr size 113 .byte 163 # DW_OP_entry_value 114 .byte 1 # 1 115 .byte 85 # super-register DW_OP_reg5 116 .byte 159 # DW_OP_stack_value 117 .byte 0 # DW_LLE_end_of_list 118.Ldebug_loc1: 119 .byte 1 # DW_LLE_base_addressx 120 .byte 2 # base address index 121 .byte 4 # DW_LLE_offset_pair 122 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset 123 .uleb128 .Ltmp2-.Lfunc_begin0 # ending offset 124 .byte 1 # Loc expr size 125 .byte 84 # DW_OP_reg4 126 .byte 4 # DW_LLE_offset_pair 127 .uleb128 .Ltmp2-.Lfunc_begin0 # starting offset 128 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset 129 .byte 4 # Loc expr size 130 .byte 163 # DW_OP_entry_value 131 .byte 1 # 1 132 .byte 84 # DW_OP_reg4 133 .byte 159 # DW_OP_stack_value 134 .byte 0 # DW_LLE_end_of_list 135.Ldebug_list_header_end0: 136 .section .debug_abbrev,"",@progbits 137 .byte 1 # Abbreviation Code 138 .byte 74 # DW_TAG_skeleton_unit 139 .byte 0 # DW_CHILDREN_no 140 .byte 16 # DW_AT_stmt_list 141 .byte 23 # DW_FORM_sec_offset 142 .byte 114 # DW_AT_str_offsets_base 143 .byte 23 # DW_FORM_sec_offset 144 .byte 27 # DW_AT_comp_dir 145 .byte 37 # DW_FORM_strx1 146 .byte 118 # DW_AT_dwo_name 147 .byte 37 # DW_FORM_strx1 148 .byte 17 # DW_AT_low_pc 149 .byte 27 # DW_FORM_addrx 150 .byte 18 # DW_AT_high_pc 151 .byte 6 # DW_FORM_data4 152 .byte 115 # DW_AT_addr_base 153 .byte 23 # DW_FORM_sec_offset 154 .byte 0 # EOM(1) 155 .byte 0 # EOM(2) 156 .byte 0 # EOM(3) 157 .section .debug_info,"",@progbits 158.Lcu_begin0: 159 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 160.Ldebug_info_start0: 161 .short 5 # DWARF version number 162 .byte 4 # DWARF Unit Type 163 .byte 8 # Address Size (in bytes) 164 .long .debug_abbrev # Offset Into Abbrev. Section 165 .quad 4593992475441569756 166 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit 167 .long .Lline_table_start0 # DW_AT_stmt_list 168 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 169 .byte 0 # DW_AT_comp_dir 170 .byte 1 # DW_AT_dwo_name 171 .byte 2 # DW_AT_low_pc 172 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc 173 .long .Laddr_table_base0 # DW_AT_addr_base 174.Ldebug_info_end0: 175 .section .debug_str_offsets,"",@progbits 176 .long 12 # Length of String Offsets Set 177 .short 5 178 .short 0 179.Lstr_offsets_base0: 180 .section .debug_str,"MS",@progbits,1 181.Lskel_string0: 182 .asciz "." # string offset=0 183.Lskel_string1: 184 .asciz "main.dwo" # string offset=2 185 .section .debug_str_offsets,"",@progbits 186 .long .Lskel_string0 187 .long .Lskel_string1 188 .section .debug_str_offsets.dwo,"e",@progbits 189 .long 60 # Length of String Offsets Set 190 .short 5 191 .short 0 192 .section .debug_str.dwo,"eMS",@progbits,1 193.Linfo_string0: 194 .asciz "x" # string offset=0 195.Linfo_string1: 196 .asciz "int" # string offset=2 197.Linfo_string2: 198 .asciz "y" # string offset=6 199.Linfo_string3: 200 .asciz "_Z3usePiS_" # string offset=8 201.Linfo_string4: 202 .asciz "use" # string offset=19 203.Linfo_string5: 204 .asciz "_Z6helperii" # string offset=23 205.Linfo_string6: 206 .asciz "helper" # string offset=35 207.Linfo_string7: 208 .asciz "main" # string offset=42 209.Linfo_string8: 210 .asciz "argc" # string offset=47 211.Linfo_string9: 212 .asciz "argv" # string offset=52 213.Linfo_string10: 214 .asciz "char" # string offset=57 215.Linfo_string11: 216 .asciz "clang version 15.0.0" # string offset=62 217.Linfo_string12: 218 .asciz "main.cpp" # string offset=83 219.Linfo_string13: 220 .asciz "main.dwo" # string offset=92 221 .section .debug_str_offsets.dwo,"e",@progbits 222 .long 0 223 .long 2 224 .long 6 225 .long 8 226 .long 19 227 .long 23 228 .long 35 229 .long 42 230 .long 47 231 .long 52 232 .long 57 233 .long 62 234 .long 83 235 .long 92 236 .section .debug_info.dwo,"e",@progbits 237 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 238.Ldebug_info_dwo_start0: 239 .short 5 # DWARF version number 240 .byte 5 # DWARF Unit Type 241 .byte 8 # Address Size (in bytes) 242 .long 0 # Offset Into Abbrev. Section 243 .quad 4593992475441569756 244 .byte 1 # Abbrev [1] 0x14:0xae DW_TAG_compile_unit 245 .byte 11 # DW_AT_producer 246 .short 33 # DW_AT_language 247 .byte 12 # DW_AT_name 248 .byte 13 # DW_AT_dwo_name 249 .byte 2 # Abbrev [2] 0x1a:0xb DW_TAG_variable 250 .byte 0 # DW_AT_name 251 .long 37 # DW_AT_type 252 # DW_AT_external 253 .byte 0 # DW_AT_decl_file 254 .byte 7 # DW_AT_decl_line 255 .byte 2 # DW_AT_location 256 .byte 161 257 .byte 0 258 .byte 3 # Abbrev [3] 0x25:0x4 DW_TAG_base_type 259 .byte 1 # DW_AT_name 260 .byte 5 # DW_AT_encoding 261 .byte 4 # DW_AT_byte_size 262 .byte 2 # Abbrev [2] 0x29:0xb DW_TAG_variable 263 .byte 2 # DW_AT_name 264 .long 37 # DW_AT_type 265 # DW_AT_external 266 .byte 0 # DW_AT_decl_file 267 .byte 8 # DW_AT_decl_line 268 .byte 2 # DW_AT_location 269 .byte 161 270 .byte 1 271 .byte 4 # Abbrev [4] 0x34:0x1b DW_TAG_subprogram 272 .byte 2 # DW_AT_low_pc 273 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 274 .byte 1 # DW_AT_frame_base 275 .byte 87 276 # DW_AT_call_all_calls 277 .long 79 # DW_AT_abstract_origin 278 .byte 5 # Abbrev [5] 0x40:0x7 DW_TAG_formal_parameter 279 .byte 1 # DW_AT_location 280 .byte 85 281 .long 84 # DW_AT_abstract_origin 282 .byte 5 # Abbrev [5] 0x47:0x7 DW_TAG_formal_parameter 283 .byte 1 # DW_AT_location 284 .byte 84 285 .long 92 # DW_AT_abstract_origin 286 .byte 0 # End Of Children Mark 287 .byte 6 # Abbrev [6] 0x4f:0x16 DW_TAG_subprogram 288 .byte 3 # DW_AT_linkage_name 289 .byte 4 # DW_AT_name 290 .byte 0 # DW_AT_decl_file 291 .byte 1 # DW_AT_decl_line 292 # DW_AT_external 293 # DW_AT_inline 294 .byte 7 # Abbrev [7] 0x54:0x8 DW_TAG_formal_parameter 295 .byte 0 # DW_AT_name 296 .byte 0 # DW_AT_decl_file 297 .byte 1 # DW_AT_decl_line 298 .long 101 # DW_AT_type 299 .byte 7 # Abbrev [7] 0x5c:0x8 DW_TAG_formal_parameter 300 .byte 2 # DW_AT_name 301 .byte 0 # DW_AT_decl_file 302 .byte 1 # DW_AT_decl_line 303 .long 101 # DW_AT_type 304 .byte 0 # End Of Children Mark 305 .byte 8 # Abbrev [8] 0x65:0x5 DW_TAG_pointer_type 306 .long 37 # DW_AT_type 307 .byte 9 # Abbrev [9] 0x6a:0x35 DW_TAG_subprogram 308 .byte 3 # DW_AT_low_pc 309 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 310 .byte 1 # DW_AT_frame_base 311 .byte 87 312 # DW_AT_call_all_calls 313 .byte 7 # DW_AT_name 314 .byte 0 # DW_AT_decl_file 315 .byte 9 # DW_AT_decl_line 316 .long 37 # DW_AT_type 317 # DW_AT_external 318 .byte 10 # Abbrev [10] 0x79:0x9 DW_TAG_formal_parameter 319 .byte 0 # DW_AT_location 320 .byte 8 # DW_AT_name 321 .byte 0 # DW_AT_decl_file 322 .byte 9 # DW_AT_decl_line 323 .long 37 # DW_AT_type 324 .byte 10 # Abbrev [10] 0x82:0x9 DW_TAG_formal_parameter 325 .byte 1 # DW_AT_location 326 .byte 9 # DW_AT_name 327 .byte 0 # DW_AT_decl_file 328 .byte 9 # DW_AT_decl_line 329 .long 179 # DW_AT_type 330 .byte 11 # Abbrev [11] 0x8b:0xd DW_TAG_inlined_subroutine 331 .long 79 # DW_AT_abstract_origin 332 .byte 3 # DW_AT_low_pc 333 .long .Ltmp3-.Lfunc_begin1 # DW_AT_high_pc 334 .byte 0 # DW_AT_call_file 335 .byte 12 # DW_AT_call_line 336 .byte 4 # DW_AT_call_column 337 .byte 12 # Abbrev [12] 0x98:0x6 DW_TAG_call_site 338 .long 159 # DW_AT_call_origin 339 # DW_AT_call_tail_call 340 .byte 4 # DW_AT_call_pc 341 .byte 0 # End Of Children Mark 342 .byte 13 # Abbrev [13] 0x9f:0x14 DW_TAG_subprogram 343 .byte 5 # DW_AT_linkage_name 344 .byte 6 # DW_AT_name 345 .byte 0 # DW_AT_decl_file 346 .byte 6 # DW_AT_decl_line 347 .long 37 # DW_AT_type 348 # DW_AT_declaration 349 # DW_AT_external 350 .byte 14 # Abbrev [14] 0xa8:0x5 DW_TAG_formal_parameter 351 .long 37 # DW_AT_type 352 .byte 14 # Abbrev [14] 0xad:0x5 DW_TAG_formal_parameter 353 .long 37 # DW_AT_type 354 .byte 0 # End Of Children Mark 355 .byte 8 # Abbrev [8] 0xb3:0x5 DW_TAG_pointer_type 356 .long 184 # DW_AT_type 357 .byte 8 # Abbrev [8] 0xb8:0x5 DW_TAG_pointer_type 358 .long 189 # DW_AT_type 359 .byte 3 # Abbrev [3] 0xbd:0x4 DW_TAG_base_type 360 .byte 10 # DW_AT_name 361 .byte 6 # DW_AT_encoding 362 .byte 1 # DW_AT_byte_size 363 .byte 0 # End Of Children Mark 364.Ldebug_info_dwo_end0: 365 .section .debug_abbrev.dwo,"e",@progbits 366 .byte 1 # Abbreviation Code 367 .byte 17 # DW_TAG_compile_unit 368 .byte 1 # DW_CHILDREN_yes 369 .byte 37 # DW_AT_producer 370 .byte 37 # DW_FORM_strx1 371 .byte 19 # DW_AT_language 372 .byte 5 # DW_FORM_data2 373 .byte 3 # DW_AT_name 374 .byte 37 # DW_FORM_strx1 375 .byte 118 # DW_AT_dwo_name 376 .byte 37 # DW_FORM_strx1 377 .byte 0 # EOM(1) 378 .byte 0 # EOM(2) 379 .byte 2 # Abbreviation Code 380 .byte 52 # DW_TAG_variable 381 .byte 0 # DW_CHILDREN_no 382 .byte 3 # DW_AT_name 383 .byte 37 # DW_FORM_strx1 384 .byte 73 # DW_AT_type 385 .byte 19 # DW_FORM_ref4 386 .byte 63 # DW_AT_external 387 .byte 25 # DW_FORM_flag_present 388 .byte 58 # DW_AT_decl_file 389 .byte 11 # DW_FORM_data1 390 .byte 59 # DW_AT_decl_line 391 .byte 11 # DW_FORM_data1 392 .byte 2 # DW_AT_location 393 .byte 24 # DW_FORM_exprloc 394 .byte 0 # EOM(1) 395 .byte 0 # EOM(2) 396 .byte 3 # Abbreviation Code 397 .byte 36 # DW_TAG_base_type 398 .byte 0 # DW_CHILDREN_no 399 .byte 3 # DW_AT_name 400 .byte 37 # DW_FORM_strx1 401 .byte 62 # DW_AT_encoding 402 .byte 11 # DW_FORM_data1 403 .byte 11 # DW_AT_byte_size 404 .byte 11 # DW_FORM_data1 405 .byte 0 # EOM(1) 406 .byte 0 # EOM(2) 407 .byte 4 # 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 122 # DW_AT_call_all_calls 417 .byte 25 # DW_FORM_flag_present 418 .byte 49 # DW_AT_abstract_origin 419 .byte 19 # DW_FORM_ref4 420 .byte 0 # EOM(1) 421 .byte 0 # EOM(2) 422 .byte 5 # Abbreviation Code 423 .byte 5 # DW_TAG_formal_parameter 424 .byte 0 # DW_CHILDREN_no 425 .byte 2 # DW_AT_location 426 .byte 24 # DW_FORM_exprloc 427 .byte 49 # DW_AT_abstract_origin 428 .byte 19 # DW_FORM_ref4 429 .byte 0 # EOM(1) 430 .byte 0 # EOM(2) 431 .byte 6 # Abbreviation Code 432 .byte 46 # DW_TAG_subprogram 433 .byte 1 # DW_CHILDREN_yes 434 .byte 110 # DW_AT_linkage_name 435 .byte 37 # DW_FORM_strx1 436 .byte 3 # DW_AT_name 437 .byte 37 # DW_FORM_strx1 438 .byte 58 # DW_AT_decl_file 439 .byte 11 # DW_FORM_data1 440 .byte 59 # DW_AT_decl_line 441 .byte 11 # DW_FORM_data1 442 .byte 63 # DW_AT_external 443 .byte 25 # DW_FORM_flag_present 444 .byte 32 # DW_AT_inline 445 .byte 33 # DW_FORM_implicit_const 446 .byte 1 447 .byte 0 # EOM(1) 448 .byte 0 # EOM(2) 449 .byte 7 # Abbreviation Code 450 .byte 5 # DW_TAG_formal_parameter 451 .byte 0 # DW_CHILDREN_no 452 .byte 3 # DW_AT_name 453 .byte 37 # DW_FORM_strx1 454 .byte 58 # DW_AT_decl_file 455 .byte 11 # DW_FORM_data1 456 .byte 59 # DW_AT_decl_line 457 .byte 11 # DW_FORM_data1 458 .byte 73 # DW_AT_type 459 .byte 19 # DW_FORM_ref4 460 .byte 0 # EOM(1) 461 .byte 0 # EOM(2) 462 .byte 8 # Abbreviation Code 463 .byte 15 # DW_TAG_pointer_type 464 .byte 0 # DW_CHILDREN_no 465 .byte 73 # DW_AT_type 466 .byte 19 # DW_FORM_ref4 467 .byte 0 # EOM(1) 468 .byte 0 # EOM(2) 469 .byte 9 # Abbreviation Code 470 .byte 46 # DW_TAG_subprogram 471 .byte 1 # DW_CHILDREN_yes 472 .byte 17 # DW_AT_low_pc 473 .byte 27 # DW_FORM_addrx 474 .byte 18 # DW_AT_high_pc 475 .byte 6 # DW_FORM_data4 476 .byte 64 # DW_AT_frame_base 477 .byte 24 # DW_FORM_exprloc 478 .byte 122 # DW_AT_call_all_calls 479 .byte 25 # DW_FORM_flag_present 480 .byte 3 # DW_AT_name 481 .byte 37 # DW_FORM_strx1 482 .byte 58 # DW_AT_decl_file 483 .byte 11 # DW_FORM_data1 484 .byte 59 # DW_AT_decl_line 485 .byte 11 # DW_FORM_data1 486 .byte 73 # DW_AT_type 487 .byte 19 # DW_FORM_ref4 488 .byte 63 # DW_AT_external 489 .byte 25 # DW_FORM_flag_present 490 .byte 0 # EOM(1) 491 .byte 0 # EOM(2) 492 .byte 10 # Abbreviation Code 493 .byte 5 # DW_TAG_formal_parameter 494 .byte 0 # DW_CHILDREN_no 495 .byte 2 # DW_AT_location 496 .byte 34 # DW_FORM_loclistx 497 .byte 3 # DW_AT_name 498 .byte 37 # DW_FORM_strx1 499 .byte 58 # DW_AT_decl_file 500 .byte 11 # DW_FORM_data1 501 .byte 59 # DW_AT_decl_line 502 .byte 11 # DW_FORM_data1 503 .byte 73 # DW_AT_type 504 .byte 19 # DW_FORM_ref4 505 .byte 0 # EOM(1) 506 .byte 0 # EOM(2) 507 .byte 11 # Abbreviation Code 508 .byte 29 # DW_TAG_inlined_subroutine 509 .byte 0 # DW_CHILDREN_no 510 .byte 49 # DW_AT_abstract_origin 511 .byte 19 # DW_FORM_ref4 512 .byte 17 # DW_AT_low_pc 513 .byte 27 # DW_FORM_addrx 514 .byte 18 # DW_AT_high_pc 515 .byte 6 # DW_FORM_data4 516 .byte 88 # DW_AT_call_file 517 .byte 11 # DW_FORM_data1 518 .byte 89 # DW_AT_call_line 519 .byte 11 # DW_FORM_data1 520 .byte 87 # DW_AT_call_column 521 .byte 11 # DW_FORM_data1 522 .byte 0 # EOM(1) 523 .byte 0 # EOM(2) 524 .byte 12 # Abbreviation Code 525 .byte 72 # DW_TAG_call_site 526 .byte 0 # DW_CHILDREN_no 527 .byte 127 # DW_AT_call_origin 528 .byte 19 # DW_FORM_ref4 529 .ascii "\202\001" # DW_AT_call_tail_call 530 .byte 25 # DW_FORM_flag_present 531 .ascii "\201\001" # DW_AT_call_pc 532 .byte 27 # DW_FORM_addrx 533 .byte 0 # EOM(1) 534 .byte 0 # EOM(2) 535 .byte 13 # Abbreviation Code 536 .byte 46 # DW_TAG_subprogram 537 .byte 1 # DW_CHILDREN_yes 538 .byte 110 # DW_AT_linkage_name 539 .byte 37 # DW_FORM_strx1 540 .byte 3 # DW_AT_name 541 .byte 37 # DW_FORM_strx1 542 .byte 58 # DW_AT_decl_file 543 .byte 11 # DW_FORM_data1 544 .byte 59 # DW_AT_decl_line 545 .byte 11 # DW_FORM_data1 546 .byte 73 # DW_AT_type 547 .byte 19 # DW_FORM_ref4 548 .byte 60 # DW_AT_declaration 549 .byte 25 # DW_FORM_flag_present 550 .byte 63 # DW_AT_external 551 .byte 25 # DW_FORM_flag_present 552 .byte 0 # EOM(1) 553 .byte 0 # EOM(2) 554 .byte 14 # Abbreviation Code 555 .byte 5 # DW_TAG_formal_parameter 556 .byte 0 # DW_CHILDREN_no 557 .byte 73 # DW_AT_type 558 .byte 19 # DW_FORM_ref4 559 .byte 0 # EOM(1) 560 .byte 0 # EOM(2) 561 .byte 0 # EOM(3) 562 .section .debug_addr,"",@progbits 563 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 564.Ldebug_addr_start0: 565 .short 5 # DWARF version number 566 .byte 8 # Address size 567 .byte 0 # Segment selector size 568.Laddr_table_base0: 569 .quad x 570 .quad y 571 .quad .Lfunc_begin0 572 .quad .Lfunc_begin1 573 .quad .Ltmp4 574.Ldebug_addr_end0: 575 .ident "clang version 15.0.0" 576 .section ".note.GNU-stack","",@progbits 577 .section .debug_line,"",@progbits 578.Lline_table_start0: 579