1# main.cpp 2# struct Foo { 3# char *c1; 4# char *c2; 5# char *c3; 6# }; 7# struct Foo2 { 8# char *c1; 9# char *c2; 10# }; 11# int main(int argc, char *argv[]) { 12# Foo f; 13# f.c1 = argv[argc]; 14# f.c2 = argv[argc + 1]; 15# f.c3 = argv[argc + 2]; 16# Foo2 f2; 17# f.c1 = argv[argc + 3]; 18# f.c2 = argv[argc + 4]; 19# return 0; 20# } 21 22# helper1.cpp 23# struct Foo3a { 24# char *c1; 25# char *c2; 26# char *c3; 27# }; 28# struct Foo4 { 29# char *c1; 30# char *c2; 31# }; 32# 33# int foo2() { 34# Foo3a f; 35# Foo4 f2; 36# return 0; 37# } 38 39 .text 40 .file "llvm-link" 41 .globl main # -- Begin function main 42 .p2align 4, 0x90 43 .type main,@function 44main: # @main 45.Lfunc_begin0: 46 .file 1 "/dwarf5-dwarf4-types-forward-cross-reference-test" "main.cpp" md5 0x13f000d932d7bb7e6986b96c183027b9 47 .loc 1 10 0 # main.cpp:10:0 48 .cfi_startproc 49# %bb.0: # %entry 50 pushq %rbp 51 .cfi_def_cfa_offset 16 52 .cfi_offset %rbp, -16 53 movq %rsp, %rbp 54 .cfi_def_cfa_register %rbp 55 movl $0, -4(%rbp) 56 movl %edi, -8(%rbp) 57 movq %rsi, -16(%rbp) 58.Ltmp0: 59 .loc 1 12 9 prologue_end # main.cpp:12:9 60 movq -16(%rbp), %rax 61 movslq -8(%rbp), %rcx 62 movq (%rax,%rcx,8), %rax 63 .loc 1 12 7 is_stmt 0 # main.cpp:12:7 64 movq %rax, -40(%rbp) 65 .loc 1 13 9 is_stmt 1 # main.cpp:13:9 66 movq -16(%rbp), %rax 67 .loc 1 13 14 is_stmt 0 # main.cpp:13:14 68 movl -8(%rbp), %ecx 69 .loc 1 13 19 # main.cpp:13:19 70 addl $1, %ecx 71 .loc 1 13 9 # main.cpp:13:9 72 movslq %ecx, %rcx 73 movq (%rax,%rcx,8), %rax 74 .loc 1 13 7 # main.cpp:13:7 75 movq %rax, -32(%rbp) 76 .loc 1 14 9 is_stmt 1 # main.cpp:14:9 77 movq -16(%rbp), %rax 78 .loc 1 14 14 is_stmt 0 # main.cpp:14:14 79 movl -8(%rbp), %ecx 80 .loc 1 14 19 # main.cpp:14:19 81 addl $2, %ecx 82 .loc 1 14 9 # main.cpp:14:9 83 movslq %ecx, %rcx 84 movq (%rax,%rcx,8), %rax 85 .loc 1 14 7 # main.cpp:14:7 86 movq %rax, -24(%rbp) 87 .loc 1 16 9 is_stmt 1 # main.cpp:16:9 88 movq -16(%rbp), %rax 89 .loc 1 16 14 is_stmt 0 # main.cpp:16:14 90 movl -8(%rbp), %ecx 91 .loc 1 16 19 # main.cpp:16:19 92 addl $3, %ecx 93 .loc 1 16 9 # main.cpp:16:9 94 movslq %ecx, %rcx 95 movq (%rax,%rcx,8), %rax 96 .loc 1 16 7 # main.cpp:16:7 97 movq %rax, -40(%rbp) 98 .loc 1 17 9 is_stmt 1 # main.cpp:17:9 99 movq -16(%rbp), %rax 100 .loc 1 17 14 is_stmt 0 # main.cpp:17:14 101 movl -8(%rbp), %ecx 102 .loc 1 17 19 # main.cpp:17:19 103 addl $4, %ecx 104 .loc 1 17 9 # main.cpp:17:9 105 movslq %ecx, %rcx 106 movq (%rax,%rcx,8), %rax 107 .loc 1 17 7 # main.cpp:17:7 108 movq %rax, -32(%rbp) 109 .loc 1 18 2 is_stmt 1 # main.cpp:18:2 110 xorl %eax, %eax 111 .loc 1 18 2 epilogue_begin is_stmt 0 # main.cpp:18:2 112 popq %rbp 113 .cfi_def_cfa %rsp, 8 114 retq 115.Ltmp1: 116.Lfunc_end0: 117 .size main, .Lfunc_end0-main 118 .cfi_endproc 119 # -- End function 120 .globl _Z3foov # -- Begin function _Z3foov 121 .p2align 4, 0x90 122 .type _Z3foov,@function 123_Z3foov: # @_Z3foov 124.Lfunc_begin1: 125 .file 2 "/dwarf5-dwarf4-types-forward-cross-reference-test" "helper.cpp" md5 0x650c984f17ca3a4e7785e30e6ca8f130 126 .loc 2 11 0 is_stmt 1 # helper.cpp:11:0 127 .cfi_startproc 128# %bb.0: # %entry 129 pushq %rbp 130 .cfi_def_cfa_offset 16 131 .cfi_offset %rbp, -16 132 movq %rsp, %rbp 133 .cfi_def_cfa_register %rbp 134.Ltmp2: 135 .loc 2 14 3 prologue_end # helper.cpp:14:3 136 xorl %eax, %eax 137 .loc 2 14 3 epilogue_begin is_stmt 0 # helper.cpp:14:3 138 popq %rbp 139 .cfi_def_cfa %rsp, 8 140 retq 141.Ltmp3: 142.Lfunc_end1: 143 .size _Z3foov, .Lfunc_end1-_Z3foov 144 .cfi_endproc 145 # -- End function 146 .section .debug_info,"G",@progbits,7448148824980338162,comdat 147 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 148.Ldebug_info_start0: 149 .short 5 # DWARF version number 150 .byte 2 # DWARF Unit Type 151 .byte 8 # Address Size (in bytes) 152 .long .debug_abbrev # Offset Into Abbrev. Section 153 .quad 7448148824980338162 # Type Signature 154 .long 35 # Type DIE Offset 155 .byte 1 # Abbrev [1] 0x18:0x37 DW_TAG_type_unit 156 .short 33 # DW_AT_language 157 .long .Lline_table_start0 # DW_AT_stmt_list 158 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 159 .byte 2 # Abbrev [2] 0x23:0x22 DW_TAG_structure_type 160 .byte 5 # DW_AT_calling_convention 161 .byte 15 # DW_AT_name 162 .byte 24 # DW_AT_byte_size 163 .byte 1 # DW_AT_decl_file 164 .byte 1 # DW_AT_decl_line 165 .byte 3 # Abbrev [3] 0x29:0x9 DW_TAG_member 166 .byte 12 # DW_AT_name 167 .long 69 # DW_AT_type 168 .byte 1 # DW_AT_decl_file 169 .byte 2 # DW_AT_decl_line 170 .byte 0 # DW_AT_data_member_location 171 .byte 3 # Abbrev [3] 0x32:0x9 DW_TAG_member 172 .byte 13 # DW_AT_name 173 .long 69 # DW_AT_type 174 .byte 1 # DW_AT_decl_file 175 .byte 3 # DW_AT_decl_line 176 .byte 8 # DW_AT_data_member_location 177 .byte 3 # Abbrev [3] 0x3b:0x9 DW_TAG_member 178 .byte 14 # DW_AT_name 179 .long 69 # DW_AT_type 180 .byte 1 # DW_AT_decl_file 181 .byte 4 # DW_AT_decl_line 182 .byte 16 # DW_AT_data_member_location 183 .byte 0 # End Of Children Mark 184 .byte 4 # Abbrev [4] 0x45:0x5 DW_TAG_pointer_type 185 .long 74 # DW_AT_type 186 .byte 5 # Abbrev [5] 0x4a:0x4 DW_TAG_base_type 187 .byte 10 # DW_AT_name 188 .byte 6 # DW_AT_encoding 189 .byte 1 # DW_AT_byte_size 190 .byte 0 # End Of Children Mark 191.Ldebug_info_end0: 192 .section .debug_info,"G",@progbits,5322170643381124694,comdat 193 .long .Ldebug_info_end1-.Ldebug_info_start1 # Length of Unit 194.Ldebug_info_start1: 195 .short 5 # DWARF version number 196 .byte 2 # DWARF Unit Type 197 .byte 8 # Address Size (in bytes) 198 .long .debug_abbrev # Offset Into Abbrev. Section 199 .quad 5322170643381124694 # Type Signature 200 .long 35 # Type DIE Offset 201 .byte 1 # Abbrev [1] 0x18:0x2e DW_TAG_type_unit 202 .short 33 # DW_AT_language 203 .long .Lline_table_start0 # DW_AT_stmt_list 204 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 205 .byte 2 # Abbrev [2] 0x23:0x19 DW_TAG_structure_type 206 .byte 5 # DW_AT_calling_convention 207 .byte 17 # DW_AT_name 208 .byte 16 # DW_AT_byte_size 209 .byte 1 # DW_AT_decl_file 210 .byte 6 # DW_AT_decl_line 211 .byte 3 # Abbrev [3] 0x29:0x9 DW_TAG_member 212 .byte 12 # DW_AT_name 213 .long 60 # DW_AT_type 214 .byte 1 # DW_AT_decl_file 215 .byte 7 # DW_AT_decl_line 216 .byte 0 # DW_AT_data_member_location 217 .byte 3 # Abbrev [3] 0x32:0x9 DW_TAG_member 218 .byte 13 # DW_AT_name 219 .long 60 # DW_AT_type 220 .byte 1 # DW_AT_decl_file 221 .byte 8 # DW_AT_decl_line 222 .byte 8 # DW_AT_data_member_location 223 .byte 0 # End Of Children Mark 224 .byte 4 # Abbrev [4] 0x3c:0x5 DW_TAG_pointer_type 225 .long 65 # DW_AT_type 226 .byte 5 # Abbrev [5] 0x41:0x4 DW_TAG_base_type 227 .byte 10 # DW_AT_name 228 .byte 6 # DW_AT_encoding 229 .byte 1 # DW_AT_byte_size 230 .byte 0 # End Of Children Mark 231.Ldebug_info_end1: 232 .section .debug_info,"G",@progbits,1175092228111723119,comdat 233 .long .Ldebug_info_end2-.Ldebug_info_start2 # Length of Unit 234.Ldebug_info_start2: 235 .short 5 # DWARF version number 236 .byte 2 # DWARF Unit Type 237 .byte 8 # Address Size (in bytes) 238 .long .debug_abbrev # Offset Into Abbrev. Section 239 .quad 1175092228111723119 # Type Signature 240 .long 35 # Type DIE Offset 241 .byte 1 # Abbrev [1] 0x18:0x37 DW_TAG_type_unit 242 .short 33 # DW_AT_language 243 .long .Lline_table_start0 # DW_AT_stmt_list 244 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 245 .byte 2 # Abbrev [2] 0x23:0x22 DW_TAG_structure_type 246 .byte 5 # DW_AT_calling_convention 247 .byte 18 # DW_AT_name 248 .byte 24 # DW_AT_byte_size 249 .byte 2 # DW_AT_decl_file 250 .byte 1 # DW_AT_decl_line 251 .byte 3 # Abbrev [3] 0x29:0x9 DW_TAG_member 252 .byte 12 # DW_AT_name 253 .long 69 # DW_AT_type 254 .byte 2 # DW_AT_decl_file 255 .byte 2 # DW_AT_decl_line 256 .byte 0 # DW_AT_data_member_location 257 .byte 3 # Abbrev [3] 0x32:0x9 DW_TAG_member 258 .byte 13 # DW_AT_name 259 .long 69 # DW_AT_type 260 .byte 2 # DW_AT_decl_file 261 .byte 3 # DW_AT_decl_line 262 .byte 8 # DW_AT_data_member_location 263 .byte 3 # Abbrev [3] 0x3b:0x9 DW_TAG_member 264 .byte 14 # DW_AT_name 265 .long 69 # DW_AT_type 266 .byte 2 # DW_AT_decl_file 267 .byte 4 # DW_AT_decl_line 268 .byte 16 # DW_AT_data_member_location 269 .byte 0 # End Of Children Mark 270 .byte 4 # Abbrev [4] 0x45:0x5 DW_TAG_pointer_type 271 .long 74 # DW_AT_type 272 .byte 5 # Abbrev [5] 0x4a:0x4 DW_TAG_base_type 273 .byte 10 # DW_AT_name 274 .byte 6 # DW_AT_encoding 275 .byte 1 # DW_AT_byte_size 276 .byte 0 # End Of Children Mark 277.Ldebug_info_end2: 278 .section .debug_info,"G",@progbits,12995149649732825572,comdat 279 .long .Ldebug_info_end3-.Ldebug_info_start3 # Length of Unit 280.Ldebug_info_start3: 281 .short 5 # DWARF version number 282 .byte 2 # DWARF Unit Type 283 .byte 8 # Address Size (in bytes) 284 .long .debug_abbrev # Offset Into Abbrev. Section 285 .quad -5451594423976726044 # Type Signature 286 .long 35 # Type DIE Offset 287 .byte 1 # Abbrev [1] 0x18:0x2e DW_TAG_type_unit 288 .short 33 # DW_AT_language 289 .long .Lline_table_start0 # DW_AT_stmt_list 290 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 291 .byte 2 # Abbrev [2] 0x23:0x19 DW_TAG_structure_type 292 .byte 5 # DW_AT_calling_convention 293 .byte 19 # DW_AT_name 294 .byte 16 # DW_AT_byte_size 295 .byte 2 # DW_AT_decl_file 296 .byte 6 # DW_AT_decl_line 297 .byte 3 # Abbrev [3] 0x29:0x9 DW_TAG_member 298 .byte 12 # DW_AT_name 299 .long 60 # DW_AT_type 300 .byte 2 # DW_AT_decl_file 301 .byte 7 # DW_AT_decl_line 302 .byte 0 # DW_AT_data_member_location 303 .byte 3 # Abbrev [3] 0x32:0x9 DW_TAG_member 304 .byte 13 # DW_AT_name 305 .long 60 # DW_AT_type 306 .byte 2 # DW_AT_decl_file 307 .byte 8 # DW_AT_decl_line 308 .byte 8 # DW_AT_data_member_location 309 .byte 0 # End Of Children Mark 310 .byte 4 # Abbrev [4] 0x3c:0x5 DW_TAG_pointer_type 311 .long 65 # DW_AT_type 312 .byte 5 # Abbrev [5] 0x41:0x4 DW_TAG_base_type 313 .byte 10 # DW_AT_name 314 .byte 6 # DW_AT_encoding 315 .byte 1 # DW_AT_byte_size 316 .byte 0 # End Of Children Mark 317.Ldebug_info_end3: 318 .section .debug_abbrev,"",@progbits 319 .byte 1 # Abbreviation Code 320 .byte 65 # DW_TAG_type_unit 321 .byte 1 # DW_CHILDREN_yes 322 .byte 19 # DW_AT_language 323 .byte 5 # DW_FORM_data2 324 .byte 16 # DW_AT_stmt_list 325 .byte 23 # DW_FORM_sec_offset 326 .byte 114 # DW_AT_str_offsets_base 327 .byte 23 # DW_FORM_sec_offset 328 .byte 0 # EOM(1) 329 .byte 0 # EOM(2) 330 .byte 2 # Abbreviation Code 331 .byte 19 # DW_TAG_structure_type 332 .byte 1 # DW_CHILDREN_yes 333 .byte 54 # DW_AT_calling_convention 334 .byte 11 # DW_FORM_data1 335 .byte 3 # DW_AT_name 336 .byte 37 # DW_FORM_strx1 337 .byte 11 # DW_AT_byte_size 338 .byte 11 # DW_FORM_data1 339 .byte 58 # DW_AT_decl_file 340 .byte 11 # DW_FORM_data1 341 .byte 59 # DW_AT_decl_line 342 .byte 11 # DW_FORM_data1 343 .byte 0 # EOM(1) 344 .byte 0 # EOM(2) 345 .byte 3 # Abbreviation Code 346 .byte 13 # DW_TAG_member 347 .byte 0 # DW_CHILDREN_no 348 .byte 3 # DW_AT_name 349 .byte 37 # DW_FORM_strx1 350 .byte 73 # DW_AT_type 351 .byte 19 # DW_FORM_ref4 352 .byte 58 # DW_AT_decl_file 353 .byte 11 # DW_FORM_data1 354 .byte 59 # DW_AT_decl_line 355 .byte 11 # DW_FORM_data1 356 .byte 56 # DW_AT_data_member_location 357 .byte 11 # DW_FORM_data1 358 .byte 0 # EOM(1) 359 .byte 0 # EOM(2) 360 .byte 4 # Abbreviation Code 361 .byte 15 # DW_TAG_pointer_type 362 .byte 0 # DW_CHILDREN_no 363 .byte 73 # DW_AT_type 364 .byte 19 # DW_FORM_ref4 365 .byte 0 # EOM(1) 366 .byte 0 # EOM(2) 367 .byte 5 # Abbreviation Code 368 .byte 36 # DW_TAG_base_type 369 .byte 0 # DW_CHILDREN_no 370 .byte 3 # DW_AT_name 371 .byte 37 # DW_FORM_strx1 372 .byte 62 # DW_AT_encoding 373 .byte 11 # DW_FORM_data1 374 .byte 11 # DW_AT_byte_size 375 .byte 11 # DW_FORM_data1 376 .byte 0 # EOM(1) 377 .byte 0 # EOM(2) 378 .byte 6 # Abbreviation Code 379 .byte 17 # DW_TAG_compile_unit 380 .byte 1 # DW_CHILDREN_yes 381 .byte 37 # DW_AT_producer 382 .byte 37 # DW_FORM_strx1 383 .byte 19 # DW_AT_language 384 .byte 5 # DW_FORM_data2 385 .byte 3 # DW_AT_name 386 .byte 37 # DW_FORM_strx1 387 .byte 114 # DW_AT_str_offsets_base 388 .byte 23 # DW_FORM_sec_offset 389 .byte 16 # DW_AT_stmt_list 390 .byte 23 # DW_FORM_sec_offset 391 .byte 27 # DW_AT_comp_dir 392 .byte 37 # DW_FORM_strx1 393 .byte 17 # DW_AT_low_pc 394 .byte 27 # DW_FORM_addrx 395 .byte 18 # DW_AT_high_pc 396 .byte 6 # DW_FORM_data4 397 .byte 115 # DW_AT_addr_base 398 .byte 23 # DW_FORM_sec_offset 399 .byte 0 # EOM(1) 400 .byte 0 # EOM(2) 401 .byte 7 # Abbreviation Code 402 .byte 46 # DW_TAG_subprogram 403 .byte 1 # DW_CHILDREN_yes 404 .byte 17 # DW_AT_low_pc 405 .byte 27 # DW_FORM_addrx 406 .byte 18 # DW_AT_high_pc 407 .byte 6 # DW_FORM_data4 408 .byte 64 # DW_AT_frame_base 409 .byte 24 # DW_FORM_exprloc 410 .byte 3 # DW_AT_name 411 .byte 37 # DW_FORM_strx1 412 .byte 58 # DW_AT_decl_file 413 .byte 11 # DW_FORM_data1 414 .byte 59 # DW_AT_decl_line 415 .byte 11 # DW_FORM_data1 416 .byte 73 # DW_AT_type 417 .byte 19 # DW_FORM_ref4 418 .byte 63 # DW_AT_external 419 .byte 25 # DW_FORM_flag_present 420 .byte 0 # EOM(1) 421 .byte 0 # EOM(2) 422 .byte 8 # 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 3 # DW_AT_name 428 .byte 37 # DW_FORM_strx1 429 .byte 58 # DW_AT_decl_file 430 .byte 11 # DW_FORM_data1 431 .byte 59 # DW_AT_decl_line 432 .byte 11 # DW_FORM_data1 433 .byte 73 # DW_AT_type 434 .byte 19 # DW_FORM_ref4 435 .byte 0 # EOM(1) 436 .byte 0 # EOM(2) 437 .byte 9 # Abbreviation Code 438 .byte 52 # DW_TAG_variable 439 .byte 0 # DW_CHILDREN_no 440 .byte 2 # DW_AT_location 441 .byte 24 # DW_FORM_exprloc 442 .byte 3 # DW_AT_name 443 .byte 37 # DW_FORM_strx1 444 .byte 58 # DW_AT_decl_file 445 .byte 11 # DW_FORM_data1 446 .byte 59 # DW_AT_decl_line 447 .byte 11 # DW_FORM_data1 448 .byte 73 # DW_AT_type 449 .byte 19 # DW_FORM_ref4 450 .byte 0 # EOM(1) 451 .byte 0 # EOM(2) 452 .byte 10 # Abbreviation Code 453 .byte 19 # DW_TAG_structure_type 454 .byte 0 # DW_CHILDREN_no 455 .byte 60 # DW_AT_declaration 456 .byte 25 # DW_FORM_flag_present 457 .byte 105 # DW_AT_signature 458 .byte 32 # DW_FORM_ref_sig8 459 .byte 0 # EOM(1) 460 .byte 0 # EOM(2) 461 .byte 11 # Abbreviation Code 462 .byte 46 # DW_TAG_subprogram 463 .byte 1 # DW_CHILDREN_yes 464 .byte 17 # DW_AT_low_pc 465 .byte 27 # DW_FORM_addrx 466 .byte 18 # DW_AT_high_pc 467 .byte 6 # DW_FORM_data4 468 .byte 64 # DW_AT_frame_base 469 .byte 24 # DW_FORM_exprloc 470 .byte 110 # DW_AT_linkage_name 471 .byte 37 # DW_FORM_strx1 472 .byte 3 # DW_AT_name 473 .byte 37 # DW_FORM_strx1 474 .byte 58 # DW_AT_decl_file 475 .byte 11 # DW_FORM_data1 476 .byte 59 # DW_AT_decl_line 477 .byte 11 # DW_FORM_data1 478 .byte 73 # DW_AT_type 479 .byte 19 # DW_FORM_ref4 480 .byte 63 # DW_AT_external 481 .byte 25 # DW_FORM_flag_present 482 .byte 0 # EOM(1) 483 .byte 0 # EOM(2) 484 .byte 12 # Abbreviation Code 485 .byte 52 # DW_TAG_variable 486 .byte 0 # DW_CHILDREN_no 487 .byte 2 # DW_AT_location 488 .byte 24 # DW_FORM_exprloc 489 .byte 3 # DW_AT_name 490 .byte 37 # DW_FORM_strx1 491 .byte 58 # DW_AT_decl_file 492 .byte 11 # DW_FORM_data1 493 .byte 59 # DW_AT_decl_line 494 .byte 11 # DW_FORM_data1 495 .byte 73 # DW_AT_type 496 .byte 16 # DW_FORM_ref_addr 497 .byte 0 # EOM(1) 498 .byte 0 # EOM(2) 499 .byte 0 # EOM(3) 500 .section .debug_info,"",@progbits 501.Lcu_begin0: 502 .long .Ldebug_info_end4-.Ldebug_info_start4 # Length of Unit 503.Ldebug_info_start4: 504 .short 5 # DWARF version number 505 .byte 1 # DWARF Unit Type 506 .byte 8 # Address Size (in bytes) 507 .long .debug_abbrev # Offset Into Abbrev. Section 508 .byte 6 # Abbrev [6] 0xc:0x78 DW_TAG_compile_unit 509 .byte 0 # DW_AT_producer 510 .short 33 # DW_AT_language 511 .byte 1 # DW_AT_name 512 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 513 .long .Lline_table_start0 # DW_AT_stmt_list 514 .byte 2 # DW_AT_comp_dir 515 .byte 0 # DW_AT_low_pc 516 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 517 .long .Laddr_table_base0 # DW_AT_addr_base 518 .byte 7 # Abbrev [7] 0x23:0x3c DW_TAG_subprogram 519 .byte 0 # DW_AT_low_pc 520 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 521 .byte 1 # DW_AT_frame_base 522 .byte 86 523 .byte 4 # DW_AT_name 524 .byte 1 # DW_AT_decl_file 525 .byte 10 # DW_AT_decl_line 526 .long 95 # DW_AT_type 527 # DW_AT_external 528 .byte 8 # Abbrev [8] 0x32:0xb DW_TAG_formal_parameter 529 .byte 2 # DW_AT_location 530 .byte 145 531 .byte 120 532 .byte 8 # DW_AT_name 533 .byte 1 # DW_AT_decl_file 534 .byte 10 # DW_AT_decl_line 535 .long 95 # DW_AT_type 536 .byte 8 # Abbrev [8] 0x3d:0xb DW_TAG_formal_parameter 537 .byte 2 # DW_AT_location 538 .byte 145 539 .byte 112 540 .byte 9 # DW_AT_name 541 .byte 1 # DW_AT_decl_file 542 .byte 10 # DW_AT_decl_line 543 .long 99 # DW_AT_type 544 .byte 9 # Abbrev [9] 0x48:0xb DW_TAG_variable 545 .byte 2 # DW_AT_location 546 .byte 145 547 .byte 88 548 .byte 11 # DW_AT_name 549 .byte 1 # DW_AT_decl_file 550 .byte 11 # DW_AT_decl_line 551 .long 113 # DW_AT_type 552 .byte 12 # Abbrev [12] 0x53:0xb DW_TAG_variable <-- Manually modified s/9/12 553 .byte 2 # DW_AT_location 554 .byte 145 555 .byte 72 556 .byte 16 # DW_AT_name 557 .byte 1 # DW_AT_decl_file 558 .byte 15 # DW_AT_decl_line 559 .long .Lmanual_label # DW_AT_type 560 .byte 0 # End Of Children Mark 561 .byte 5 # Abbrev [5] 0x5f:0x4 DW_TAG_base_type 562 .byte 5 # DW_AT_name 563 .byte 5 # DW_AT_encoding 564 .byte 4 # DW_AT_byte_size 565 .byte 4 # Abbrev [4] 0x63:0x5 DW_TAG_pointer_type 566 .long 104 # DW_AT_type 567 .byte 4 # Abbrev [4] 0x68:0x5 DW_TAG_pointer_type 568 .long 109 # DW_AT_type 569 .byte 5 # Abbrev [5] 0x6d:0x4 DW_TAG_base_type 570 .byte 10 # DW_AT_name 571 .byte 6 # DW_AT_encoding 572 .byte 1 # DW_AT_byte_size 573.Lmanual_label_forward: 574 .byte 10 # Abbrev [10] 0x71:0x9 DW_TAG_structure_type 575 # DW_AT_declaration 576 .quad 7448148824980338162 # DW_AT_signature 577 .byte 10 # Abbrev [10] 0x7a:0x9 DW_TAG_structure_type 578 # DW_AT_declaration 579 .quad 5322170643381124694 # DW_AT_signature 580 .byte 0 # End Of Children Mark 581.Ldebug_info_end4: 582.Lcu_begin1: 583 .long .Ldebug_info_end5-.Ldebug_info_start5 # Length of Unit 584.Ldebug_info_start5: 585 .short 5 # DWARF version number 586 .byte 1 # DWARF Unit Type 587 .byte 8 # Address Size (in bytes) 588 .long .debug_abbrev # Offset Into Abbrev. Section 589 .byte 6 # Abbrev [6] 0xc:0x55 DW_TAG_compile_unit 590 .byte 0 # DW_AT_producer 591 .short 33 # DW_AT_language 592 .byte 3 # DW_AT_name 593 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 594 .long .Lline_table_start0 # DW_AT_stmt_list 595 .byte 2 # DW_AT_comp_dir 596 .byte 1 # DW_AT_low_pc 597 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 598 .long .Laddr_table_base0 # DW_AT_addr_base 599 .byte 11 # Abbrev [11] 0x23:0x27 DW_TAG_subprogram 600 .byte 1 # DW_AT_low_pc 601 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc 602 .byte 1 # DW_AT_frame_base 603 .byte 86 604 .byte 6 # DW_AT_linkage_name 605 .byte 7 # DW_AT_name 606 .byte 2 # DW_AT_decl_file 607 .byte 11 # DW_AT_decl_line 608 .long 74 # DW_AT_type 609 # DW_AT_external 610 .byte 9 # Abbrev [9] 0x33:0xb DW_TAG_variable 611 .byte 2 # DW_AT_location 612 .byte 145 613 .byte 104 614 .byte 11 # DW_AT_name 615 .byte 2 # DW_AT_decl_file 616 .byte 12 # DW_AT_decl_line 617 .long 78 # DW_AT_type 618 .byte 12 # Abbrev [12] 0x3e:0xb DW_TAG_variable <-- Manually modified s/9/12 619 .byte 2 # DW_AT_location 620 .byte 145 621 .byte 88 622 .byte 16 # DW_AT_name 623 .byte 2 # DW_AT_decl_file 624 .byte 13 # DW_AT_decl_line 625 .long .Lmanual_label_forward # DW_AT_type 626 .byte 0 # End Of Children Mark 627 .byte 5 # Abbrev [5] 0x4a:0x4 DW_TAG_base_type 628 .byte 5 # DW_AT_name 629 .byte 5 # DW_AT_encoding 630 .byte 4 # DW_AT_byte_size 631.Lmanual_label: 632 .byte 10 # Abbrev [10] 0x4e:0x9 DW_TAG_structure_type 633 # DW_AT_declaration 634 .quad 1175092228111723119 # DW_AT_signature 635 .byte 10 # Abbrev [10] 0x57:0x9 DW_TAG_structure_type 636 # DW_AT_declaration 637 .quad -5451594423976726044 # DW_AT_signature 638 .byte 0 # End Of Children Mark 639.Ldebug_info_end5: 640 .section .debug_str_offsets,"",@progbits 641 .long 84 # Length of String Offsets Set 642 .short 5 643 .short 0 644.Lstr_offsets_base0: 645 .section .debug_str,"MS",@progbits,1 646.Linfo_string0: 647 .asciz "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 73027ae39b1492e5b6033358a13b86d7d1e781ae)" # string offset=0 648.Linfo_string1: 649 .asciz "main.cpp" # string offset=105 650.Linfo_string2: 651 .asciz "/dwarf5-dwarf4-types-forward-cross-reference-test" # string offset=114 652.Linfo_string3: 653 .asciz "helper.cpp" # string offset=201 654.Linfo_string4: 655 .asciz "main" # string offset=212 656.Linfo_string5: 657 .asciz "int" # string offset=217 658.Linfo_string6: 659 .asciz "_Z3foov" # string offset=221 660.Linfo_string7: 661 .asciz "foo" # string offset=229 662.Linfo_string8: 663 .asciz "argc" # string offset=233 664.Linfo_string9: 665 .asciz "argv" # string offset=238 666.Linfo_string10: 667 .asciz "char" # string offset=243 668.Linfo_string11: 669 .asciz "f" # string offset=248 670.Linfo_string12: 671 .asciz "c1" # string offset=250 672.Linfo_string13: 673 .asciz "c2" # string offset=253 674.Linfo_string14: 675 .asciz "c3" # string offset=256 676.Linfo_string15: 677 .asciz "Foo" # string offset=259 678.Linfo_string16: 679 .asciz "f2" # string offset=263 680.Linfo_string17: 681 .asciz "Foo2" # string offset=266 682.Linfo_string18: 683 .asciz "Foo2a" # string offset=271 684.Linfo_string19: 685 .asciz "Foo3" # string offset=277 686 .section .debug_str_offsets,"",@progbits 687 .long .Linfo_string0 688 .long .Linfo_string1 689 .long .Linfo_string2 690 .long .Linfo_string3 691 .long .Linfo_string4 692 .long .Linfo_string5 693 .long .Linfo_string6 694 .long .Linfo_string7 695 .long .Linfo_string8 696 .long .Linfo_string9 697 .long .Linfo_string10 698 .long .Linfo_string11 699 .long .Linfo_string12 700 .long .Linfo_string13 701 .long .Linfo_string14 702 .long .Linfo_string15 703 .long .Linfo_string16 704 .long .Linfo_string17 705 .long .Linfo_string18 706 .long .Linfo_string19 707 .section .debug_addr,"",@progbits 708 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 709.Ldebug_addr_start0: 710 .short 5 # DWARF version number 711 .byte 8 # Address size 712 .byte 0 # Segment selector size 713.Laddr_table_base0: 714 .quad .Lfunc_begin0 715 .quad .Lfunc_begin1 716.Ldebug_addr_end0: 717 .ident "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 73027ae39b1492e5b6033358a13b86d7d1e781ae)" 718 .ident "clang version 17.0.0 (https://github.com/llvm/llvm-project.git 73027ae39b1492e5b6033358a13b86d7d1e781ae)" 719 .section ".note.GNU-stack","",@progbits 720 .addrsig 721 .section .debug_line,"",@progbits 722.Lline_table_start0: 723