1# clang++ main.cpp -g2 -gsplit-dwarf=split -gdwarf-5 -fdebug-types-section -S 2# struct Foo { 3# char *c1; 4# char *c2; 5# char *c3; 6# }; 7# 8# struct Foo2 { 9# char *c1; 10# char *c2; 11# }; 12# 13# int main(int argc, char *argv[]) { 14# Foo f; 15# f.c1 = argv[argc]; 16# f.c2 = argv[argc + 1]; 17# f.c3 = argv[argc + 2]; 18# Foo2 f2; 19# f.c1 = argv[argc + 3]; 20# f.c2 = argv[argc + 4]; 21# return 0; 22# } 23 24 .text 25 .file "main.cpp" 26 .globl main # -- Begin function main 27 .p2align 4, 0x90 28 .type main,@function 29main: # @main 30.Lfunc_begin0: 31 .file 0 "." "main.cpp" md5 0xa832f464c853be0f9c52da29cd913807 32 .loc 0 12 0 # main.cpp:12:0 33 .cfi_startproc 34# %bb.0: # %entry 35 pushq %rbp 36 .cfi_def_cfa_offset 16 37 .cfi_offset %rbp, -16 38 movq %rsp, %rbp 39 .cfi_def_cfa_register %rbp 40 movl $0, -4(%rbp) 41 movl %edi, -8(%rbp) 42 movq %rsi, -16(%rbp) 43.Ltmp0: 44 .loc 0 14 10 prologue_end # main.cpp:14:10 45 movq -16(%rbp), %rax 46 movslq -8(%rbp), %rcx 47 movq (%rax,%rcx,8), %rax 48 .loc 0 14 8 is_stmt 0 # main.cpp:14:8 49 movq %rax, -40(%rbp) 50 .loc 0 15 10 is_stmt 1 # main.cpp:15:10 51 movq -16(%rbp), %rax 52 .loc 0 15 15 is_stmt 0 # main.cpp:15:15 53 movl -8(%rbp), %ecx 54 .loc 0 15 20 # main.cpp:15:20 55 addl $1, %ecx 56 .loc 0 15 10 # main.cpp:15:10 57 movslq %ecx, %rcx 58 movq (%rax,%rcx,8), %rax 59 .loc 0 15 8 # main.cpp:15:8 60 movq %rax, -32(%rbp) 61 .loc 0 16 10 is_stmt 1 # main.cpp:16:10 62 movq -16(%rbp), %rax 63 .loc 0 16 15 is_stmt 0 # main.cpp:16:15 64 movl -8(%rbp), %ecx 65 .loc 0 16 20 # main.cpp:16:20 66 addl $2, %ecx 67 .loc 0 16 10 # main.cpp:16:10 68 movslq %ecx, %rcx 69 movq (%rax,%rcx,8), %rax 70 .loc 0 16 8 # main.cpp:16:8 71 movq %rax, -24(%rbp) 72 .loc 0 18 10 is_stmt 1 # main.cpp:18:10 73 movq -16(%rbp), %rax 74 .loc 0 18 15 is_stmt 0 # main.cpp:18:15 75 movl -8(%rbp), %ecx 76 .loc 0 18 20 # main.cpp:18:20 77 addl $3, %ecx 78 .loc 0 18 10 # main.cpp:18:10 79 movslq %ecx, %rcx 80 movq (%rax,%rcx,8), %rax 81 .loc 0 18 8 # main.cpp:18:8 82 movq %rax, -40(%rbp) 83 .loc 0 19 10 is_stmt 1 # main.cpp:19:10 84 movq -16(%rbp), %rax 85 .loc 0 19 15 is_stmt 0 # main.cpp:19:15 86 movl -8(%rbp), %ecx 87 .loc 0 19 20 # main.cpp:19:20 88 addl $4, %ecx 89 .loc 0 19 10 # main.cpp:19:10 90 movslq %ecx, %rcx 91 movq (%rax,%rcx,8), %rax 92 .loc 0 19 8 # main.cpp:19:8 93 movq %rax, -32(%rbp) 94 .loc 0 20 3 is_stmt 1 # main.cpp:20:3 95 xorl %eax, %eax 96 popq %rbp 97 .cfi_def_cfa %rsp, 8 98 retq 99.Ltmp1: 100.Lfunc_end0: 101 .size main, .Lfunc_end0-main 102 .cfi_endproc 103 # -- End function 104 .section .debug_info.dwo,"e",@progbits 105 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit 106.Ldebug_info_dwo_start0: 107 .short 5 # DWARF version number 108 .byte 6 # DWARF Unit Type 109 .byte 8 # Address Size (in bytes) 110 .long 0 # Offset Into Abbrev. Section 111 .quad 7448148824980338162 # Type Signature 112 .long 31 # Type DIE Offset 113 .byte 1 # Abbrev [1] 0x18:0x33 DW_TAG_type_unit 114 .short 33 # DW_AT_language 115 .long 0 # DW_AT_stmt_list 116 .byte 2 # Abbrev [2] 0x1f:0x22 DW_TAG_structure_type 117 .byte 5 # DW_AT_calling_convention 118 .byte 9 # DW_AT_name 119 .byte 24 # DW_AT_byte_size 120 .byte 0 # DW_AT_decl_file 121 .byte 1 # DW_AT_decl_line 122 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member 123 .byte 6 # DW_AT_name 124 .long 65 # DW_AT_type 125 .byte 0 # DW_AT_decl_file 126 .byte 2 # DW_AT_decl_line 127 .byte 0 # DW_AT_data_member_location 128 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member 129 .byte 7 # DW_AT_name 130 .long 65 # DW_AT_type 131 .byte 0 # DW_AT_decl_file 132 .byte 3 # DW_AT_decl_line 133 .byte 8 # DW_AT_data_member_location 134 .byte 3 # Abbrev [3] 0x37:0x9 DW_TAG_member 135 .byte 8 # DW_AT_name 136 .long 65 # DW_AT_type 137 .byte 0 # DW_AT_decl_file 138 .byte 4 # DW_AT_decl_line 139 .byte 16 # DW_AT_data_member_location 140 .byte 0 # End Of Children Mark 141 .byte 4 # Abbrev [4] 0x41:0x5 DW_TAG_pointer_type 142 .long 70 # DW_AT_type 143 .byte 5 # Abbrev [5] 0x46:0x4 DW_TAG_base_type 144 .byte 4 # DW_AT_name 145 .byte 6 # DW_AT_encoding 146 .byte 1 # DW_AT_byte_size 147 .byte 0 # End Of Children Mark 148.Ldebug_info_dwo_end0: 149 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit 150.Ldebug_info_dwo_start1: 151 .short 5 # DWARF version number 152 .byte 6 # DWARF Unit Type 153 .byte 8 # Address Size (in bytes) 154 .long 0 # Offset Into Abbrev. Section 155 .quad 5322170643381124694 # Type Signature 156 .long 31 # Type DIE Offset 157 .byte 1 # Abbrev [1] 0x18:0x2a DW_TAG_type_unit 158 .short 33 # DW_AT_language 159 .long 0 # DW_AT_stmt_list 160 .byte 2 # Abbrev [2] 0x1f:0x19 DW_TAG_structure_type 161 .byte 5 # DW_AT_calling_convention 162 .byte 11 # DW_AT_name 163 .byte 16 # DW_AT_byte_size 164 .byte 0 # DW_AT_decl_file 165 .byte 7 # DW_AT_decl_line 166 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member 167 .byte 6 # DW_AT_name 168 .long 56 # DW_AT_type 169 .byte 0 # DW_AT_decl_file 170 .byte 8 # DW_AT_decl_line 171 .byte 0 # DW_AT_data_member_location 172 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member 173 .byte 7 # DW_AT_name 174 .long 56 # DW_AT_type 175 .byte 0 # DW_AT_decl_file 176 .byte 9 # DW_AT_decl_line 177 .byte 8 # DW_AT_data_member_location 178 .byte 0 # End Of Children Mark 179 .byte 4 # Abbrev [4] 0x38:0x5 DW_TAG_pointer_type 180 .long 61 # DW_AT_type 181 .byte 5 # Abbrev [5] 0x3d:0x4 DW_TAG_base_type 182 .byte 4 # DW_AT_name 183 .byte 6 # DW_AT_encoding 184 .byte 1 # DW_AT_byte_size 185 .byte 0 # End Of Children Mark 186.Ldebug_info_dwo_end1: 187 .section .debug_abbrev,"",@progbits 188 .byte 1 # Abbreviation Code 189 .byte 74 # DW_TAG_skeleton_unit 190 .byte 0 # DW_CHILDREN_no 191 .byte 16 # DW_AT_stmt_list 192 .byte 23 # DW_FORM_sec_offset 193 .byte 114 # DW_AT_str_offsets_base 194 .byte 23 # DW_FORM_sec_offset 195 .byte 27 # DW_AT_comp_dir 196 .byte 37 # DW_FORM_strx1 197 .ascii "\264B" # DW_AT_GNU_pubnames 198 .byte 25 # DW_FORM_flag_present 199 .byte 118 # DW_AT_dwo_name 200 .byte 37 # DW_FORM_strx1 201 .byte 17 # DW_AT_low_pc 202 .byte 27 # DW_FORM_addrx 203 .byte 18 # DW_AT_high_pc 204 .byte 6 # DW_FORM_data4 205 .byte 115 # DW_AT_addr_base 206 .byte 23 # DW_FORM_sec_offset 207 .byte 0 # EOM(1) 208 .byte 0 # EOM(2) 209 .byte 0 # EOM(3) 210 .section .debug_info,"",@progbits 211.Lcu_begin0: 212 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit 213.Ldebug_info_start0: 214 .short 5 # DWARF version number 215 .byte 4 # DWARF Unit Type 216 .byte 8 # Address Size (in bytes) 217 .long .debug_abbrev # Offset Into Abbrev. Section 218 .quad 4780348136649610820 219 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit 220 .long .Lline_table_start0 # DW_AT_stmt_list 221 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base 222 .byte 0 # DW_AT_comp_dir 223 # DW_AT_GNU_pubnames 224 .byte 1 # DW_AT_dwo_name 225 .byte 0 # DW_AT_low_pc 226 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 227 .long .Laddr_table_base0 # DW_AT_addr_base 228.Ldebug_info_end0: 229 .section .debug_str_offsets,"",@progbits 230 .long 12 # Length of String Offsets Set 231 .short 5 232 .short 0 233.Lstr_offsets_base0: 234 .section .debug_str,"MS",@progbits,1 235.Lskel_string0: 236 .asciz "." # string offset=0 237.Lskel_string1: 238 .asciz "main.dwo" # string offset=38 239 .section .debug_str_offsets,"",@progbits 240 .long .Lskel_string0 241 .long .Lskel_string1 242 .section .debug_str_offsets.dwo,"e",@progbits 243 .long 64 # Length of String Offsets Set 244 .short 5 245 .short 0 246 .section .debug_str.dwo,"eMS",@progbits,1 247.Linfo_string0: 248 .asciz "main" # string offset=0 249.Linfo_string1: 250 .asciz "int" # string offset=5 251.Linfo_string2: 252 .asciz "argc" # string offset=9 253.Linfo_string3: 254 .asciz "argv" # string offset=14 255.Linfo_string4: 256 .asciz "char" # string offset=19 257.Linfo_string5: 258 .asciz "f" # string offset=24 259.Linfo_string6: 260 .asciz "c1" # string offset=26 261.Linfo_string7: 262 .asciz "c2" # string offset=29 263.Linfo_string8: 264 .asciz "c3" # string offset=32 265.Linfo_string9: 266 .asciz "Foo" # string offset=35 267.Linfo_string10: 268 .asciz "f2" # string offset=39 269.Linfo_string11: 270 .asciz "Foo2" # string offset=42 271.Linfo_string12: 272 .asciz "clang version 15.0.0" # string offset=47 273.Linfo_string13: 274 .asciz "main.cpp" # string offset=68 275.Linfo_string14: 276 .asciz "main.dwo" # string offset=77 277 .section .debug_str_offsets.dwo,"e",@progbits 278 .long 0 279 .long 5 280 .long 9 281 .long 14 282 .long 19 283 .long 24 284 .long 26 285 .long 29 286 .long 32 287 .long 35 288 .long 39 289 .long 42 290 .long 47 291 .long 68 292 .long 77 293 .section .debug_info.dwo,"e",@progbits 294 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit 295.Ldebug_info_dwo_start2: 296 .short 5 # DWARF version number 297 .byte 5 # DWARF Unit Type 298 .byte 8 # Address Size (in bytes) 299 .long 0 # Offset Into Abbrev. Section 300 .quad 4780348136649610820 301 .byte 6 # Abbrev [6] 0x14:0x67 DW_TAG_compile_unit 302 .byte 12 # DW_AT_producer 303 .short 33 # DW_AT_language 304 .byte 13 # DW_AT_name 305 .byte 14 # DW_AT_dwo_name 306 .byte 7 # Abbrev [7] 0x1a:0x3c DW_TAG_subprogram 307 .byte 0 # DW_AT_low_pc 308 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc 309 .byte 1 # DW_AT_frame_base 310 .byte 86 311 .byte 0 # DW_AT_name 312 .byte 0 # DW_AT_decl_file 313 .byte 12 # DW_AT_decl_line 314 .long 86 # DW_AT_type 315 # DW_AT_external 316 .byte 8 # Abbrev [8] 0x29:0xb DW_TAG_formal_parameter 317 .byte 2 # DW_AT_location 318 .byte 145 319 .byte 120 320 .byte 2 # DW_AT_name 321 .byte 0 # DW_AT_decl_file 322 .byte 12 # DW_AT_decl_line 323 .long 86 # DW_AT_type 324 .byte 8 # Abbrev [8] 0x34:0xb DW_TAG_formal_parameter 325 .byte 2 # DW_AT_location 326 .byte 145 327 .byte 112 328 .byte 3 # DW_AT_name 329 .byte 0 # DW_AT_decl_file 330 .byte 12 # DW_AT_decl_line 331 .long 90 # DW_AT_type 332 .byte 9 # Abbrev [9] 0x3f:0xb DW_TAG_variable 333 .byte 2 # DW_AT_location 334 .byte 145 335 .byte 88 336 .byte 5 # DW_AT_name 337 .byte 0 # DW_AT_decl_file 338 .byte 13 # DW_AT_decl_line 339 .long 104 # DW_AT_type 340 .byte 9 # Abbrev [9] 0x4a:0xb DW_TAG_variable 341 .byte 2 # DW_AT_location 342 .byte 145 343 .byte 72 344 .byte 10 # DW_AT_name 345 .byte 0 # DW_AT_decl_file 346 .byte 17 # DW_AT_decl_line 347 .long 113 # DW_AT_type 348 .byte 0 # End Of Children Mark 349 .byte 5 # Abbrev [5] 0x56:0x4 DW_TAG_base_type 350 .byte 1 # DW_AT_name 351 .byte 5 # DW_AT_encoding 352 .byte 4 # DW_AT_byte_size 353 .byte 4 # Abbrev [4] 0x5a:0x5 DW_TAG_pointer_type 354 .long 95 # DW_AT_type 355 .byte 4 # Abbrev [4] 0x5f:0x5 DW_TAG_pointer_type 356 .long 100 # DW_AT_type 357 .byte 5 # Abbrev [5] 0x64:0x4 DW_TAG_base_type 358 .byte 4 # DW_AT_name 359 .byte 6 # DW_AT_encoding 360 .byte 1 # DW_AT_byte_size 361 .byte 10 # Abbrev [10] 0x68:0x9 DW_TAG_structure_type 362 # DW_AT_declaration 363 .quad 7448148824980338162 # DW_AT_signature 364 .byte 10 # Abbrev [10] 0x71:0x9 DW_TAG_structure_type 365 # DW_AT_declaration 366 .quad 5322170643381124694 # DW_AT_signature 367 .byte 0 # End Of Children Mark 368.Ldebug_info_dwo_end2: 369 .section .debug_abbrev.dwo,"e",@progbits 370 .byte 1 # Abbreviation Code 371 .byte 65 # DW_TAG_type_unit 372 .byte 1 # DW_CHILDREN_yes 373 .byte 19 # DW_AT_language 374 .byte 5 # DW_FORM_data2 375 .byte 16 # DW_AT_stmt_list 376 .byte 23 # DW_FORM_sec_offset 377 .byte 0 # EOM(1) 378 .byte 0 # EOM(2) 379 .byte 2 # Abbreviation Code 380 .byte 19 # DW_TAG_structure_type 381 .byte 1 # DW_CHILDREN_yes 382 .byte 54 # DW_AT_calling_convention 383 .byte 11 # DW_FORM_data1 384 .byte 3 # DW_AT_name 385 .byte 37 # DW_FORM_strx1 386 .byte 11 # DW_AT_byte_size 387 .byte 11 # DW_FORM_data1 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 0 # EOM(1) 393 .byte 0 # EOM(2) 394 .byte 3 # Abbreviation Code 395 .byte 13 # DW_TAG_member 396 .byte 0 # DW_CHILDREN_no 397 .byte 3 # DW_AT_name 398 .byte 37 # DW_FORM_strx1 399 .byte 73 # DW_AT_type 400 .byte 19 # DW_FORM_ref4 401 .byte 58 # DW_AT_decl_file 402 .byte 11 # DW_FORM_data1 403 .byte 59 # DW_AT_decl_line 404 .byte 11 # DW_FORM_data1 405 .byte 56 # DW_AT_data_member_location 406 .byte 11 # DW_FORM_data1 407 .byte 0 # EOM(1) 408 .byte 0 # EOM(2) 409 .byte 4 # Abbreviation Code 410 .byte 15 # DW_TAG_pointer_type 411 .byte 0 # DW_CHILDREN_no 412 .byte 73 # DW_AT_type 413 .byte 19 # DW_FORM_ref4 414 .byte 0 # EOM(1) 415 .byte 0 # EOM(2) 416 .byte 5 # Abbreviation Code 417 .byte 36 # DW_TAG_base_type 418 .byte 0 # DW_CHILDREN_no 419 .byte 3 # DW_AT_name 420 .byte 37 # DW_FORM_strx1 421 .byte 62 # DW_AT_encoding 422 .byte 11 # DW_FORM_data1 423 .byte 11 # DW_AT_byte_size 424 .byte 11 # DW_FORM_data1 425 .byte 0 # EOM(1) 426 .byte 0 # EOM(2) 427 .byte 6 # Abbreviation Code 428 .byte 17 # DW_TAG_compile_unit 429 .byte 1 # DW_CHILDREN_yes 430 .byte 37 # DW_AT_producer 431 .byte 37 # DW_FORM_strx1 432 .byte 19 # DW_AT_language 433 .byte 5 # DW_FORM_data2 434 .byte 3 # DW_AT_name 435 .byte 37 # DW_FORM_strx1 436 .byte 118 # DW_AT_dwo_name 437 .byte 37 # DW_FORM_strx1 438 .byte 0 # EOM(1) 439 .byte 0 # EOM(2) 440 .byte 7 # Abbreviation Code 441 .byte 46 # DW_TAG_subprogram 442 .byte 1 # DW_CHILDREN_yes 443 .byte 17 # DW_AT_low_pc 444 .byte 27 # DW_FORM_addrx 445 .byte 18 # DW_AT_high_pc 446 .byte 6 # DW_FORM_data4 447 .byte 64 # DW_AT_frame_base 448 .byte 24 # DW_FORM_exprloc 449 .byte 3 # DW_AT_name 450 .byte 37 # DW_FORM_strx1 451 .byte 58 # DW_AT_decl_file 452 .byte 11 # DW_FORM_data1 453 .byte 59 # DW_AT_decl_line 454 .byte 11 # DW_FORM_data1 455 .byte 73 # DW_AT_type 456 .byte 19 # DW_FORM_ref4 457 .byte 63 # DW_AT_external 458 .byte 25 # DW_FORM_flag_present 459 .byte 0 # EOM(1) 460 .byte 0 # EOM(2) 461 .byte 8 # Abbreviation Code 462 .byte 5 # DW_TAG_formal_parameter 463 .byte 0 # DW_CHILDREN_no 464 .byte 2 # DW_AT_location 465 .byte 24 # DW_FORM_exprloc 466 .byte 3 # DW_AT_name 467 .byte 37 # DW_FORM_strx1 468 .byte 58 # DW_AT_decl_file 469 .byte 11 # DW_FORM_data1 470 .byte 59 # DW_AT_decl_line 471 .byte 11 # DW_FORM_data1 472 .byte 73 # DW_AT_type 473 .byte 19 # DW_FORM_ref4 474 .byte 0 # EOM(1) 475 .byte 0 # EOM(2) 476 .byte 9 # Abbreviation Code 477 .byte 52 # DW_TAG_variable 478 .byte 0 # DW_CHILDREN_no 479 .byte 2 # DW_AT_location 480 .byte 24 # DW_FORM_exprloc 481 .byte 3 # DW_AT_name 482 .byte 37 # DW_FORM_strx1 483 .byte 58 # DW_AT_decl_file 484 .byte 11 # DW_FORM_data1 485 .byte 59 # DW_AT_decl_line 486 .byte 11 # DW_FORM_data1 487 .byte 73 # DW_AT_type 488 .byte 19 # DW_FORM_ref4 489 .byte 0 # EOM(1) 490 .byte 0 # EOM(2) 491 .byte 10 # Abbreviation Code 492 .byte 19 # DW_TAG_structure_type 493 .byte 0 # DW_CHILDREN_no 494 .byte 60 # DW_AT_declaration 495 .byte 25 # DW_FORM_flag_present 496 .byte 105 # DW_AT_signature 497 .byte 32 # DW_FORM_ref_sig8 498 .byte 0 # EOM(1) 499 .byte 0 # EOM(2) 500 .byte 0 # EOM(3) 501 .section .debug_line.dwo,"e",@progbits 502.Ltmp2: 503 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length 504.Ldebug_line_start0: 505 .short 5 506 .byte 8 507 .byte 0 508 .long .Lprologue_end0-.Lprologue_start0 509.Lprologue_start0: 510 .byte 1 511 .byte 1 512 .byte 1 513 .byte -5 514 .byte 14 515 .byte 1 516 .byte 1 517 .byte 1 518 .byte 8 519 .byte 1 520 .ascii "/home/ayermolo/local/tasks/T104766233" 521 .byte 0 522 .byte 3 523 .byte 1 524 .byte 8 525 .byte 2 526 .byte 15 527 .byte 5 528 .byte 30 529 .byte 1 530 .ascii "main.cpp" 531 .byte 0 532 .byte 0 533 .byte 0xa8, 0x32, 0xf4, 0x64 534 .byte 0xc8, 0x53, 0xbe, 0x0f 535 .byte 0x9c, 0x52, 0xda, 0x29 536 .byte 0xcd, 0x91, 0x38, 0x07 537.Lprologue_end0: 538.Ldebug_line_end0: 539 .section .debug_addr,"",@progbits 540 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution 541.Ldebug_addr_start0: 542 .short 5 # DWARF version number 543 .byte 8 # Address size 544 .byte 0 # Segment selector size 545.Laddr_table_base0: 546 .quad .Lfunc_begin0 547.Ldebug_addr_end0: 548 .section .debug_gnu_pubnames,"",@progbits 549 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info 550.LpubNames_start0: 551 .short 2 # DWARF Version 552 .long .Lcu_begin0 # Offset of Compilation Unit Info 553 .long 40 # Compilation Unit Length 554 .long 26 # DIE offset 555 .byte 48 # Attributes: FUNCTION, EXTERNAL 556 .asciz "main" # External Name 557 .long 0 # End Mark 558.LpubNames_end0: 559 .section .debug_gnu_pubtypes,"",@progbits 560 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info 561.LpubTypes_start0: 562 .short 2 # DWARF Version 563 .long .Lcu_begin0 # Offset of Compilation Unit Info 564 .long 40 # Compilation Unit Length 565 .long 104 # DIE offset 566 .byte 16 # Attributes: TYPE, EXTERNAL 567 .asciz "Foo" # External Name 568 .long 113 # DIE offset 569 .byte 16 # Attributes: TYPE, EXTERNAL 570 .asciz "Foo2" # External Name 571 .long 86 # DIE offset 572 .byte 144 # Attributes: TYPE, STATIC 573 .asciz "int" # External Name 574 .long 100 # DIE offset 575 .byte 144 # Attributes: TYPE, STATIC 576 .asciz "char" # External Name 577 .long 0 # End Mark 578.LpubTypes_end0: 579 .ident "clang version 15.0.0" 580 .section ".note.GNU-stack","",@progbits 581 .addrsig 582 .section .debug_line,"",@progbits 583.Lline_table_start0: 584