1 # clang++ -O2 -g -gdwarf-4 -gsplit-dwarf main.cpp
2 # void use(int * x, int * y) {
3 # static int Foo = *y + *x;
10 # int main(int argc, char *argv[]) {
19 .file 1 "." "main.cpp"
20 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_
22 .type _Z3usePiS_,@function
23 _Z3usePiS_
: # @_Z3usePiS_
25 .loc 1 1 0 # main.cpp:1:0
28 #DEBUG_VALUE: use:x <- $rdi
29 #DEBUG_VALUE: use:y <- $rsi
31 .cfi_def_cfa_offset 16
33 .cfi_def_cfa_offset 24
35 .cfi_def_cfa_offset 32
41 .loc 1 2 2 prologue_end # main.cpp:2:2
42 movzbl _ZGVZ3usePiS_E3Foo
(%rip
), %eax
47 #DEBUG_VALUE: use:x <- $r14
48 #DEBUG_VALUE: use:y <- $rbx
49 .loc 1 3 5 # main.cpp:3:5
51 .loc 1 4 8 # main.cpp:4:8
52 movl _ZZ3usePiS_E3Foo
(%rip
), %eax
53 .loc 1 4 5 is_stmt 0 # main.cpp:4:5
55 .loc 1 5 1 epilogue_begin is_stmt 1 # main.cpp:5:1
57 .cfi_def_cfa_offset 24
60 #DEBUG_VALUE: use:y <- [DW_OP_LLVM_entry_value 1] $rsi
61 .cfi_def_cfa_offset 16
64 #DEBUG_VALUE: use:x <- [DW_OP_LLVM_entry_value 1] $rdi
68 .LBB0_1: # %init.check
69 .cfi_def_cfa_offset 32
70 #DEBUG_VALUE: use:x <- $r14
71 #DEBUG_VALUE: use:y <- $rbx
72 .loc 1 2 2 # main.cpp:2:2
73 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
74 callq __cxa_guard_acquire@PLT
80 #DEBUG_VALUE: use:x <- $r14
81 #DEBUG_VALUE: use:y <- $rbx
82 .loc 1 2 24 is_stmt 0 # main.cpp:2:24
84 .loc 1 2 22 # main.cpp:2:22
86 .loc 1 2 2 # main.cpp:2:2
87 movl
%eax
, _ZZ3usePiS_E3Foo
(%rip
)
88 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
89 callq __cxa_guard_release@PLT
91 .loc 1 0 2 # main.cpp:0:2
95 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_
98 .globl main # -- Begin function main
105 #DEBUG_VALUE: main:argc <- $edi
106 #DEBUG_VALUE: main:argv <- $rsi
107 .loc 1 10 6 prologue_end is_stmt 1 # main.cpp:10:6
109 .loc 1 11 13 # main.cpp:11:13
112 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
113 .loc 1 11 6 is_stmt 0 # main.cpp:11:6
116 #DEBUG_VALUE: use:y <- undef
117 #DEBUG_VALUE: use:x <- undef
118 .loc 1 2 2 is_stmt 1 # main.cpp:2:2
119 movzbl _ZGVZ3usePiS_E3Foo
(%rip
), %eax
123 .LBB1_4: # %_Z3usePiS_.exit
124 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
125 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
126 .loc 1 3 5 # main.cpp:3:5
128 .loc 1 4 8 # main.cpp:4:8
129 movl _ZZ3usePiS_E3Foo
(%rip
), %eax
130 .loc 1 4 5 is_stmt 0 # main.cpp:4:5
133 .loc 1 13 4 is_stmt 1 # main.cpp:13:4
137 .LBB1_1: # %init.check.i
138 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
139 #DEBUG_VALUE: main:argv <- $rsi
141 .cfi_def_cfa_offset 16
143 .loc 1 2 2 # main.cpp:2:2
144 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
145 callq __cxa_guard_acquire@PLT
147 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
152 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
153 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
154 .loc 1 2 24 is_stmt 0 # main.cpp:2:24
156 .loc 1 2 22 # main.cpp:2:22
158 .loc 1 2 2 # main.cpp:2:2
159 movl
%eax
, _ZZ3usePiS_E3Foo
(%rip
)
160 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
161 callq __cxa_guard_release@PLT
164 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
165 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
166 .loc 1 0 2 # main.cpp:0:2
168 .cfi_def_cfa_offset 8
171 .size main, .Lfunc_end1-main
174 .type _ZZ3usePiS_E3Foo,@object # @_ZZ3usePiS_E3Foo
175 .local _ZZ3usePiS_E3Foo
176 .comm _ZZ3usePiS_E3Foo,4,4
177 .type _ZGVZ3usePiS_E3Foo,@object # @_ZGVZ3usePiS_E3Foo
178 .local _ZGVZ3usePiS_E3Foo
179 .comm _ZGVZ3usePiS_E3Foo,8,8
196 .section .debug_loc.dwo,"e",@progbits
200 .long .Ltmp1-.Lfunc_begin0
201 .short 1 # Loc expr size
202 .byte 85 # DW_OP_reg5
206 .short 1 # Loc expr size
207 .byte 94 # DW_OP_reg14
211 .short 4 # Loc expr size
212 .byte 243 # DW_OP_GNU_entry_value
214 .byte 85 # DW_OP_reg5
215 .byte 159 # DW_OP_stack_value
218 .long .Lfunc_end0-.Ltmp4
219 .short 1 # Loc expr size
220 .byte 94 # DW_OP_reg14
225 .long .Ltmp1-.Lfunc_begin0
226 .short 1 # Loc expr size
227 .byte 84 # DW_OP_reg4
231 .short 1 # Loc expr size
232 .byte 83 # DW_OP_reg3
236 .short 4 # Loc expr size
237 .byte 243 # DW_OP_GNU_entry_value
239 .byte 84 # DW_OP_reg4
240 .byte 159 # DW_OP_stack_value
243 .long .Lfunc_end0-.Ltmp4
244 .short 1 # Loc expr size
245 .byte 83 # DW_OP_reg3
250 .long .Ltmp9-.Lfunc_begin1
251 .short 1 # Loc expr size
252 .byte 85 # super-register DW_OP_reg5
255 .long .Lfunc_end1-.Ltmp9
256 .short 4 # Loc expr size
257 .byte 243 # DW_OP_GNU_entry_value
259 .byte 85 # super-register DW_OP_reg5
260 .byte 159 # DW_OP_stack_value
265 .long .Ltmp11-.Lfunc_begin1
266 .short 1 # Loc expr size
267 .byte 84 # DW_OP_reg4
270 .long .Ltmp13-.Ltmp11
271 .short 4 # Loc expr size
272 .byte 243 # DW_OP_GNU_entry_value
274 .byte 84 # DW_OP_reg4
275 .byte 159 # DW_OP_stack_value
278 .long .Ltmp15-.Ltmp13
279 .short 1 # Loc expr size
280 .byte 84 # DW_OP_reg4
283 .long .Lfunc_end1-.Ltmp15
284 .short 4 # Loc expr size
285 .byte 243 # DW_OP_GNU_entry_value
287 .byte 84 # DW_OP_reg4
288 .byte 159 # DW_OP_stack_value
290 .section .debug_abbrev,"",@progbits
291 .byte 1 # Abbreviation Code
292 .byte 17 # DW_TAG_compile_unit
293 .byte 0 # DW_CHILDREN_no
294 .byte 16 # DW_AT_stmt_list
295 .byte 23 # DW_FORM_sec_offset
296 .byte 27 # DW_AT_comp_dir
297 .byte 14 # DW_FORM_strp
298 .ascii "\264B" # DW_AT_GNU_pubnames
299 .byte 25 # DW_FORM_flag_present
300 .ascii "\260B" # DW_AT_GNU_dwo_name
301 .byte 14 # DW_FORM_strp
302 .ascii "\261B" # DW_AT_GNU_dwo_id
303 .byte 7 # DW_FORM_data8
304 .ascii "\262B" # DW_AT_GNU_ranges_base
305 .byte 23 # DW_FORM_sec_offset
306 .byte 17 # DW_AT_low_pc
307 .byte 1 # DW_FORM_addr
308 .byte 18 # DW_AT_high_pc
309 .byte 6 # DW_FORM_data4
310 .ascii "\263B" # DW_AT_GNU_addr_base
311 .byte 23 # DW_FORM_sec_offset
315 .section .debug_info,"",@progbits
317 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
319 .short 4 # DWARF version number
320 .long .debug_abbrev # Offset Into Abbrev. Section
321 .byte 8 # Address Size (in bytes)
322 .byte 1 # Abbrev [1] 0xb:0x29 DW_TAG_compile_unit
323 .long .Lline_table_start0 # DW_AT_stmt_list
324 .long .Lskel_string0 # DW_AT_comp_dir
326 .long .Lskel_string1 # DW_AT_GNU_dwo_name
327 .quad -3506999759942021708 # DW_AT_GNU_dwo_id
328 .long .debug_ranges # DW_AT_GNU_ranges_base
329 .quad .Lfunc_begin0 # DW_AT_low_pc
330 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc
331 .long .Laddr_table_base0 # DW_AT_GNU_addr_base
333 .section .debug_ranges,"",@progbits
335 .quad .Ltmp10-.Lfunc_begin0
336 .quad .Ltmp12-.Lfunc_begin0
337 .quad .Ltmp14-.Lfunc_begin0
338 .quad .Ltmp17-.Lfunc_begin0
341 .section .debug_str,"MS",@progbits,1
343 .asciz "." # string offset=0
345 .asciz "main.dwo" # string offset=38
346 .section .debug_str.dwo,"eMS",@progbits,1
348 .asciz "Foo" # string offset=0
350 .asciz "int" # string offset=4
352 .asciz "x" # string offset=8
354 .asciz "y" # string offset=10
356 .asciz "_Z3usePiS_" # string offset=12
358 .asciz "use" # string offset=23
360 .asciz "main" # string offset=27
362 .asciz "argc" # string offset=32
364 .asciz "argv" # string offset=37
366 .asciz "char" # string offset=42
368 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=47
370 .asciz "main.cpp" # string offset=148
372 .asciz "main.dwo" # string offset=157
373 .section .debug_str_offsets.dwo,"e",@progbits
387 .section .debug_info.dwo,"e",@progbits
388 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
389 .Ldebug_info_dwo_start0:
390 .short 4 # DWARF version number
391 .long 0 # Offset Into Abbrev. Section
392 .byte 8 # Address Size (in bytes)
393 .byte 1 # Abbrev [1] 0xb:0xb1 DW_TAG_compile_unit
394 .byte 10 # DW_AT_producer
395 .short 33 # DW_AT_language
396 .byte 11 # DW_AT_name
397 .byte 12 # DW_AT_GNU_dwo_name
398 .quad -3506999759942021708 # DW_AT_GNU_dwo_id
399 .byte 2 # Abbrev [2] 0x19:0x2a DW_TAG_subprogram
400 .byte 3 # DW_AT_low_pc
401 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
402 .byte 1 # DW_AT_frame_base
404 # DW_AT_GNU_all_call_sites
405 .long 93 # DW_AT_abstract_origin
406 .byte 3 # Abbrev [3] 0x25:0xb DW_TAG_variable
408 .long 67 # DW_AT_type
409 .byte 1 # DW_AT_decl_file
410 .byte 2 # DW_AT_decl_line
411 .byte 2 # DW_AT_location
414 .byte 4 # Abbrev [4] 0x30:0x9 DW_TAG_formal_parameter
415 .long .Ldebug_loc0-.debug_loc.dwo # DW_AT_location
416 .long 99 # DW_AT_abstract_origin
417 .byte 4 # Abbrev [4] 0x39:0x9 DW_TAG_formal_parameter
418 .long .Ldebug_loc1-.debug_loc.dwo # DW_AT_location
419 .long 107 # DW_AT_abstract_origin
420 .byte 0 # End Of Children Mark
421 .byte 5 # Abbrev [5] 0x43:0x4 DW_TAG_base_type
423 .byte 5 # DW_AT_encoding
424 .byte 4 # DW_AT_byte_size
425 .byte 6 # Abbrev [6] 0x47:0xb DW_TAG_variable
427 .long 67 # DW_AT_type
429 .byte 1 # DW_AT_decl_file
430 .byte 7 # DW_AT_decl_line
431 .byte 2 # DW_AT_location
434 .byte 6 # Abbrev [6] 0x52:0xb DW_TAG_variable
436 .long 67 # DW_AT_type
438 .byte 1 # DW_AT_decl_file
439 .byte 8 # DW_AT_decl_line
440 .byte 2 # DW_AT_location
443 .byte 7 # Abbrev [7] 0x5d:0x17 DW_TAG_subprogram
444 .byte 4 # DW_AT_linkage_name
446 .byte 1 # DW_AT_decl_file
447 .byte 1 # DW_AT_decl_line
449 .byte 1 # DW_AT_inline
450 .byte 8 # Abbrev [8] 0x63:0x8 DW_TAG_formal_parameter
452 .byte 1 # DW_AT_decl_file
453 .byte 1 # DW_AT_decl_line
454 .long 116 # DW_AT_type
455 .byte 8 # Abbrev [8] 0x6b:0x8 DW_TAG_formal_parameter
457 .byte 1 # DW_AT_decl_file
458 .byte 1 # DW_AT_decl_line
459 .long 116 # DW_AT_type
460 .byte 0 # End Of Children Mark
461 .byte 9 # Abbrev [9] 0x74:0x5 DW_TAG_pointer_type
462 .long 67 # DW_AT_type
463 .byte 10 # Abbrev [10] 0x79:0x34 DW_TAG_subprogram
464 .byte 4 # DW_AT_low_pc
465 .long .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
466 .byte 1 # DW_AT_frame_base
468 # DW_AT_GNU_all_call_sites
470 .byte 1 # DW_AT_decl_file
471 .byte 9 # DW_AT_decl_line
472 .long 67 # DW_AT_type
474 .byte 11 # Abbrev [11] 0x88:0xc DW_TAG_formal_parameter
475 .long .Ldebug_loc2-.debug_loc.dwo # DW_AT_location
477 .byte 1 # DW_AT_decl_file
478 .byte 9 # DW_AT_decl_line
479 .long 67 # DW_AT_type
480 .byte 11 # Abbrev [11] 0x94:0xc DW_TAG_formal_parameter
481 .long .Ldebug_loc3-.debug_loc.dwo # DW_AT_location
483 .byte 1 # DW_AT_decl_file
484 .byte 9 # DW_AT_decl_line
485 .long 173 # DW_AT_type
486 .byte 12 # Abbrev [12] 0xa0:0xc DW_TAG_inlined_subroutine
487 .long 93 # DW_AT_abstract_origin
488 .long .Ldebug_ranges0-.debug_ranges # DW_AT_ranges
489 .byte 1 # DW_AT_call_file
490 .byte 12 # DW_AT_call_line
491 .byte 4 # DW_AT_call_column
492 .byte 0 # End Of Children Mark
493 .byte 9 # Abbrev [9] 0xad:0x5 DW_TAG_pointer_type
494 .long 178 # DW_AT_type
495 .byte 9 # Abbrev [9] 0xb2:0x5 DW_TAG_pointer_type
496 .long 183 # DW_AT_type
497 .byte 5 # Abbrev [5] 0xb7:0x4 DW_TAG_base_type
499 .byte 6 # DW_AT_encoding
500 .byte 1 # DW_AT_byte_size
501 .byte 0 # End Of Children Mark
502 .Ldebug_info_dwo_end0:
503 .section .debug_abbrev.dwo,"e",@progbits
504 .byte 1 # Abbreviation Code
505 .byte 17 # DW_TAG_compile_unit
506 .byte 1 # DW_CHILDREN_yes
507 .byte 37 # DW_AT_producer
508 .ascii "\202>" # DW_FORM_GNU_str_index
509 .byte 19 # DW_AT_language
510 .byte 5 # DW_FORM_data2
512 .ascii "\202>" # DW_FORM_GNU_str_index
513 .ascii "\260B" # DW_AT_GNU_dwo_name
514 .ascii "\202>" # DW_FORM_GNU_str_index
515 .ascii "\261B" # DW_AT_GNU_dwo_id
516 .byte 7 # DW_FORM_data8
519 .byte 2 # Abbreviation Code
520 .byte 46 # DW_TAG_subprogram
521 .byte 1 # DW_CHILDREN_yes
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 64 # DW_AT_frame_base
527 .byte 24 # DW_FORM_exprloc
528 .ascii "\227B" # DW_AT_GNU_all_call_sites
529 .byte 25 # DW_FORM_flag_present
530 .byte 49 # DW_AT_abstract_origin
531 .byte 19 # DW_FORM_ref4
534 .byte 3 # Abbreviation Code
535 .byte 52 # DW_TAG_variable
536 .byte 0 # DW_CHILDREN_no
538 .ascii "\202>" # DW_FORM_GNU_str_index
539 .byte 73 # DW_AT_type
540 .byte 19 # DW_FORM_ref4
541 .byte 58 # DW_AT_decl_file
542 .byte 11 # DW_FORM_data1
543 .byte 59 # DW_AT_decl_line
544 .byte 11 # DW_FORM_data1
545 .byte 2 # DW_AT_location
546 .byte 24 # DW_FORM_exprloc
549 .byte 4 # Abbreviation Code
550 .byte 5 # DW_TAG_formal_parameter
551 .byte 0 # DW_CHILDREN_no
552 .byte 2 # DW_AT_location
553 .byte 23 # DW_FORM_sec_offset
554 .byte 49 # DW_AT_abstract_origin
555 .byte 19 # DW_FORM_ref4
558 .byte 5 # Abbreviation Code
559 .byte 36 # DW_TAG_base_type
560 .byte 0 # DW_CHILDREN_no
562 .ascii "\202>" # DW_FORM_GNU_str_index
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
569 .byte 6 # Abbreviation Code
570 .byte 52 # DW_TAG_variable
571 .byte 0 # DW_CHILDREN_no
573 .ascii "\202>" # DW_FORM_GNU_str_index
574 .byte 73 # DW_AT_type
575 .byte 19 # DW_FORM_ref4
576 .byte 63 # DW_AT_external
577 .byte 25 # DW_FORM_flag_present
578 .byte 58 # DW_AT_decl_file
579 .byte 11 # DW_FORM_data1
580 .byte 59 # DW_AT_decl_line
581 .byte 11 # DW_FORM_data1
582 .byte 2 # DW_AT_location
583 .byte 24 # DW_FORM_exprloc
586 .byte 7 # Abbreviation Code
587 .byte 46 # DW_TAG_subprogram
588 .byte 1 # DW_CHILDREN_yes
589 .byte 110 # DW_AT_linkage_name
590 .ascii "\202>" # DW_FORM_GNU_str_index
592 .ascii "\202>" # DW_FORM_GNU_str_index
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 63 # DW_AT_external
598 .byte 25 # DW_FORM_flag_present
599 .byte 32 # DW_AT_inline
600 .byte 11 # DW_FORM_data1
603 .byte 8 # Abbreviation Code
604 .byte 5 # DW_TAG_formal_parameter
605 .byte 0 # DW_CHILDREN_no
607 .ascii "\202>" # DW_FORM_GNU_str_index
608 .byte 58 # DW_AT_decl_file
609 .byte 11 # DW_FORM_data1
610 .byte 59 # DW_AT_decl_line
611 .byte 11 # DW_FORM_data1
612 .byte 73 # DW_AT_type
613 .byte 19 # DW_FORM_ref4
616 .byte 9 # Abbreviation Code
617 .byte 15 # DW_TAG_pointer_type
618 .byte 0 # DW_CHILDREN_no
619 .byte 73 # DW_AT_type
620 .byte 19 # DW_FORM_ref4
623 .byte 10 # Abbreviation Code
624 .byte 46 # DW_TAG_subprogram
625 .byte 1 # DW_CHILDREN_yes
626 .byte 17 # DW_AT_low_pc
627 .ascii "\201>" # DW_FORM_GNU_addr_index
628 .byte 18 # DW_AT_high_pc
629 .byte 6 # DW_FORM_data4
630 .byte 64 # DW_AT_frame_base
631 .byte 24 # DW_FORM_exprloc
632 .ascii "\227B" # DW_AT_GNU_all_call_sites
633 .byte 25 # DW_FORM_flag_present
635 .ascii "\202>" # DW_FORM_GNU_str_index
636 .byte 58 # DW_AT_decl_file
637 .byte 11 # DW_FORM_data1
638 .byte 59 # DW_AT_decl_line
639 .byte 11 # DW_FORM_data1
640 .byte 73 # DW_AT_type
641 .byte 19 # DW_FORM_ref4
642 .byte 63 # DW_AT_external
643 .byte 25 # DW_FORM_flag_present
646 .byte 11 # Abbreviation Code
647 .byte 5 # DW_TAG_formal_parameter
648 .byte 0 # DW_CHILDREN_no
649 .byte 2 # DW_AT_location
650 .byte 23 # DW_FORM_sec_offset
652 .ascii "\202>" # DW_FORM_GNU_str_index
653 .byte 58 # DW_AT_decl_file
654 .byte 11 # DW_FORM_data1
655 .byte 59 # DW_AT_decl_line
656 .byte 11 # DW_FORM_data1
657 .byte 73 # DW_AT_type
658 .byte 19 # DW_FORM_ref4
661 .byte 12 # Abbreviation Code
662 .byte 29 # DW_TAG_inlined_subroutine
663 .byte 0 # DW_CHILDREN_no
664 .byte 49 # DW_AT_abstract_origin
665 .byte 19 # DW_FORM_ref4
666 .byte 85 # DW_AT_ranges
667 .byte 23 # DW_FORM_sec_offset
668 .byte 88 # DW_AT_call_file
669 .byte 11 # DW_FORM_data1
670 .byte 89 # DW_AT_call_line
671 .byte 11 # DW_FORM_data1
672 .byte 87 # DW_AT_call_column
673 .byte 11 # DW_FORM_data1
677 .section .debug_addr,"",@progbits
679 .quad _ZZ3usePiS_E3Foo
692 .section .debug_gnu_pubnames,"",@progbits
693 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
695 .short 2 # DWARF Version
696 .long .Lcu_begin0 # Offset of Compilation Unit Info
697 .long 52 # Compilation Unit Length
698 .long 37 # DIE offset
699 .byte 160 # Attributes: VARIABLE, STATIC
700 .asciz "use::Foo" # External Name
701 .long 71 # DIE offset
702 .byte 32 # Attributes: VARIABLE, EXTERNAL
703 .asciz "x" # External Name
704 .long 82 # DIE offset
705 .byte 32 # Attributes: VARIABLE, EXTERNAL
706 .asciz "y" # External Name
707 .long 93 # DIE offset
708 .byte 48 # Attributes: FUNCTION, EXTERNAL
709 .asciz "use" # External Name
710 .long 121 # DIE offset
711 .byte 48 # Attributes: FUNCTION, EXTERNAL
712 .asciz "main" # External Name
715 .section .debug_gnu_pubtypes,"",@progbits
716 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
718 .short 2 # DWARF Version
719 .long .Lcu_begin0 # Offset of Compilation Unit Info
720 .long 52 # Compilation Unit Length
721 .long 67 # DIE offset
722 .byte 144 # Attributes: TYPE, STATIC
723 .asciz "int" # External Name
724 .long 183 # DIE offset
725 .byte 144 # Attributes: TYPE, STATIC
726 .asciz "char" # External Name
729 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)"
730 .section ".note.GNU-stack","",@progbits
732 .addrsig_sym _ZGVZ3usePiS_E3Foo
733 .section .debug_line,"",@progbits