1 # clang++ -O2 -g -gdwarf-5 -gsplit-dwarf main.cpp
2 # void use(int * x, int * y) {
3 # static int Foo = *y + *x;
10 # int main(int argc, char *argv[]) {
18 .file 0 "." "main.cpp" md5 0x4f704c611bdcbf8d7a62eb17d439188e
19 .globl _Z3usePiS_ # -- Begin function _Z3usePiS_
21 .type _Z3usePiS_,@function
22 _Z3usePiS_
: # @_Z3usePiS_
24 .loc 0 1 0 # main.cpp:1:0
27 #DEBUG_VALUE: use:x <- $rdi
28 #DEBUG_VALUE: use:y <- $rsi
30 .cfi_def_cfa_offset 16
32 .cfi_def_cfa_offset 24
34 .cfi_def_cfa_offset 32
40 .loc 0 2 2 prologue_end # main.cpp:2:2
41 movzbl _ZGVZ3usePiS_E3Foo
(%rip
), %eax
46 #DEBUG_VALUE: use:x <- $r14
47 #DEBUG_VALUE: use:y <- $rbx
48 .loc 0 3 5 # main.cpp:3:5
50 .loc 0 4 8 # main.cpp:4:8
51 movl _ZZ3usePiS_E3Foo
(%rip
), %eax
52 .loc 0 4 5 is_stmt 0 # main.cpp:4:5
54 .loc 0 5 1 epilogue_begin is_stmt 1 # main.cpp:5:1
56 .cfi_def_cfa_offset 24
59 #DEBUG_VALUE: use:y <- [DW_OP_LLVM_entry_value 1] $rsi
60 .cfi_def_cfa_offset 16
63 #DEBUG_VALUE: use:x <- [DW_OP_LLVM_entry_value 1] $rdi
67 .LBB0_1: # %init.check
68 .cfi_def_cfa_offset 32
69 #DEBUG_VALUE: use:x <- $r14
70 #DEBUG_VALUE: use:y <- $rbx
71 .loc 0 2 2 # main.cpp:2:2
72 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
73 callq __cxa_guard_acquire@PLT
79 #DEBUG_VALUE: use:x <- $r14
80 #DEBUG_VALUE: use:y <- $rbx
81 .loc 0 2 24 is_stmt 0 # main.cpp:2:24
83 .loc 0 2 22 # main.cpp:2:22
85 .loc 0 2 2 # main.cpp:2:2
86 movl
%eax
, _ZZ3usePiS_E3Foo
(%rip
)
87 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
88 callq __cxa_guard_release@PLT
90 .loc 0 0 2 # main.cpp:0:2
94 .size _Z3usePiS_, .Lfunc_end0-_Z3usePiS_
97 .globl main # -- Begin function main
104 #DEBUG_VALUE: main:argc <- $edi
105 #DEBUG_VALUE: main:argv <- $rsi
106 .loc 0 10 6 prologue_end is_stmt 1 # main.cpp:10:6
108 .loc 0 11 13 # main.cpp:11:13
111 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
112 .loc 0 11 6 is_stmt 0 # main.cpp:11:6
115 #DEBUG_VALUE: use:y <- undef
116 #DEBUG_VALUE: use:x <- undef
117 .loc 0 2 2 is_stmt 1 # main.cpp:2:2
118 movzbl _ZGVZ3usePiS_E3Foo
(%rip
), %eax
122 .LBB1_4: # %_Z3usePiS_.exit
123 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
124 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
125 .loc 0 3 5 # main.cpp:3:5
127 .loc 0 4 8 # main.cpp:4:8
128 movl _ZZ3usePiS_E3Foo
(%rip
), %eax
129 .loc 0 4 5 is_stmt 0 # main.cpp:4:5
132 .loc 0 13 4 is_stmt 1 # main.cpp:13:4
136 .LBB1_1: # %init.check.i
137 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
138 #DEBUG_VALUE: main:argv <- $rsi
140 .cfi_def_cfa_offset 16
142 .loc 0 2 2 # main.cpp:2:2
143 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
144 callq __cxa_guard_acquire@PLT
146 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
151 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
152 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
153 .loc 0 2 24 is_stmt 0 # main.cpp:2:24
155 .loc 0 2 22 # main.cpp:2:22
157 .loc 0 2 2 # main.cpp:2:2
158 movl
%eax
, _ZZ3usePiS_E3Foo
(%rip
)
159 leaq _ZGVZ3usePiS_E3Foo
(%rip
), %rdi
160 callq __cxa_guard_release@PLT
163 #DEBUG_VALUE: main:argc <- [DW_OP_LLVM_entry_value 1] $edi
164 #DEBUG_VALUE: main:argv <- [DW_OP_LLVM_entry_value 1] $rsi
165 .loc 0 0 2 # main.cpp:0:2
167 .cfi_def_cfa_offset 8
170 .size main, .Lfunc_end1-main
173 .type _ZZ3usePiS_E3Foo,@object # @_ZZ3usePiS_E3Foo
174 .local _ZZ3usePiS_E3Foo
175 .comm _ZZ3usePiS_E3Foo,4,4
176 .type _ZGVZ3usePiS_E3Foo,@object # @_ZGVZ3usePiS_E3Foo
177 .local _ZGVZ3usePiS_E3Foo
178 .comm _ZGVZ3usePiS_E3Foo,8,8
195 .section .debug_loclists.dwo,"e",@progbits
196 .long .Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
197 .Ldebug_list_header_start0:
199 .byte 8 # Address size
200 .byte 0 # Segment selector size
201 .long 4 # Offset entry count
202 .Lloclists_table_base0:
203 .long .Ldebug_loc0-.Lloclists_table_base0
204 .long .Ldebug_loc1-.Lloclists_table_base0
205 .long .Ldebug_loc2-.Lloclists_table_base0
206 .long .Ldebug_loc3-.Lloclists_table_base0
208 .byte 1 # DW_LLE_base_addressx
209 .byte 3 # base address index
210 .byte 4 # DW_LLE_offset_pair
211 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset
212 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset
213 .byte 1 # Loc expr size
214 .byte 85 # DW_OP_reg5
215 .byte 4 # DW_LLE_offset_pair
216 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset
217 .uleb128 .Ltmp3-.Lfunc_begin0 # ending offset
218 .byte 1 # Loc expr size
219 .byte 94 # DW_OP_reg14
220 .byte 4 # DW_LLE_offset_pair
221 .uleb128 .Ltmp3-.Lfunc_begin0 # starting offset
222 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset
223 .byte 4 # Loc expr size
224 .byte 163 # DW_OP_entry_value
226 .byte 85 # DW_OP_reg5
227 .byte 159 # DW_OP_stack_value
228 .byte 4 # DW_LLE_offset_pair
229 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset
230 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset
231 .byte 1 # Loc expr size
232 .byte 94 # DW_OP_reg14
233 .byte 0 # DW_LLE_end_of_list
235 .byte 1 # DW_LLE_base_addressx
236 .byte 3 # base address index
237 .byte 4 # DW_LLE_offset_pair
238 .uleb128 .Lfunc_begin0-.Lfunc_begin0 # starting offset
239 .uleb128 .Ltmp1-.Lfunc_begin0 # ending offset
240 .byte 1 # Loc expr size
241 .byte 84 # DW_OP_reg4
242 .byte 4 # DW_LLE_offset_pair
243 .uleb128 .Ltmp1-.Lfunc_begin0 # starting offset
244 .uleb128 .Ltmp2-.Lfunc_begin0 # ending offset
245 .byte 1 # Loc expr size
246 .byte 83 # DW_OP_reg3
247 .byte 4 # DW_LLE_offset_pair
248 .uleb128 .Ltmp2-.Lfunc_begin0 # starting offset
249 .uleb128 .Ltmp4-.Lfunc_begin0 # ending offset
250 .byte 4 # Loc expr size
251 .byte 163 # DW_OP_entry_value
253 .byte 84 # DW_OP_reg4
254 .byte 159 # DW_OP_stack_value
255 .byte 4 # DW_LLE_offset_pair
256 .uleb128 .Ltmp4-.Lfunc_begin0 # starting offset
257 .uleb128 .Lfunc_end0-.Lfunc_begin0 # ending offset
258 .byte 1 # Loc expr size
259 .byte 83 # DW_OP_reg3
260 .byte 0 # DW_LLE_end_of_list
262 .byte 1 # DW_LLE_base_addressx
263 .byte 3 # base address index
264 .byte 4 # DW_LLE_offset_pair
265 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset
266 .uleb128 .Ltmp9-.Lfunc_begin0 # ending offset
267 .byte 1 # Loc expr size
268 .byte 85 # super-register DW_OP_reg5
269 .byte 4 # DW_LLE_offset_pair
270 .uleb128 .Ltmp9-.Lfunc_begin0 # starting offset
271 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset
272 .byte 4 # Loc expr size
273 .byte 163 # DW_OP_entry_value
275 .byte 85 # super-register DW_OP_reg5
276 .byte 159 # DW_OP_stack_value
277 .byte 0 # DW_LLE_end_of_list
279 .byte 1 # DW_LLE_base_addressx
280 .byte 3 # base address index
281 .byte 4 # DW_LLE_offset_pair
282 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset
283 .uleb128 .Ltmp11-.Lfunc_begin0 # ending offset
284 .byte 1 # Loc expr size
285 .byte 84 # DW_OP_reg4
286 .byte 4 # DW_LLE_offset_pair
287 .uleb128 .Ltmp11-.Lfunc_begin0 # starting offset
288 .uleb128 .Ltmp13-.Lfunc_begin0 # ending offset
289 .byte 4 # Loc expr size
290 .byte 163 # DW_OP_entry_value
292 .byte 84 # DW_OP_reg4
293 .byte 159 # DW_OP_stack_value
294 .byte 4 # DW_LLE_offset_pair
295 .uleb128 .Ltmp13-.Lfunc_begin0 # starting offset
296 .uleb128 .Ltmp15-.Lfunc_begin0 # ending offset
297 .byte 1 # Loc expr size
298 .byte 84 # DW_OP_reg4
299 .byte 4 # DW_LLE_offset_pair
300 .uleb128 .Ltmp15-.Lfunc_begin0 # starting offset
301 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset
302 .byte 4 # Loc expr size
303 .byte 163 # DW_OP_entry_value
305 .byte 84 # DW_OP_reg4
306 .byte 159 # DW_OP_stack_value
307 .byte 0 # DW_LLE_end_of_list
308 .Ldebug_list_header_end0:
309 .section .debug_abbrev,"",@progbits
310 .byte 1 # Abbreviation Code
311 .byte 74 # DW_TAG_skeleton_unit
312 .byte 0 # DW_CHILDREN_no
313 .byte 16 # DW_AT_stmt_list
314 .byte 23 # DW_FORM_sec_offset
315 .byte 114 # DW_AT_str_offsets_base
316 .byte 23 # DW_FORM_sec_offset
317 .byte 27 # DW_AT_comp_dir
318 .byte 37 # DW_FORM_strx1
319 .ascii "\264B" # DW_AT_GNU_pubnames
320 .byte 25 # DW_FORM_flag_present
321 .byte 118 # DW_AT_dwo_name
322 .byte 37 # DW_FORM_strx1
323 .byte 17 # DW_AT_low_pc
324 .byte 27 # DW_FORM_addrx
325 .byte 18 # DW_AT_high_pc
326 .byte 6 # DW_FORM_data4
327 .byte 115 # DW_AT_addr_base
328 .byte 23 # DW_FORM_sec_offset
332 .section .debug_info,"",@progbits
334 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
336 .short 5 # DWARF version number
337 .byte 4 # DWARF Unit Type
338 .byte 8 # Address Size (in bytes)
339 .long .debug_abbrev # Offset Into Abbrev. Section
340 .quad -3440409667494789237
341 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
342 .long .Lline_table_start0 # DW_AT_stmt_list
343 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
344 .byte 0 # DW_AT_comp_dir
346 .byte 1 # DW_AT_dwo_name
347 .byte 3 # DW_AT_low_pc
348 .long .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc
349 .long .Laddr_table_base0 # DW_AT_addr_base
351 .section .debug_str_offsets,"",@progbits
352 .long 12 # Length of String Offsets Set
356 .section .debug_str,"MS",@progbits,1
358 .asciz "." # string offset=0
360 .asciz "main.dwo" # string offset=38
361 .section .debug_str_offsets,"",@progbits
364 .section .debug_str_offsets.dwo,"e",@progbits
365 .long 56 # Length of String Offsets Set
368 .section .debug_str.dwo,"eMS",@progbits,1
370 .asciz "Foo" # string offset=0
372 .asciz "int" # string offset=4
374 .asciz "x" # string offset=8
376 .asciz "y" # string offset=10
378 .asciz "_Z3usePiS_" # string offset=12
380 .asciz "use" # string offset=23
382 .asciz "main" # string offset=27
384 .asciz "argc" # string offset=32
386 .asciz "argv" # string offset=37
388 .asciz "char" # string offset=42
390 .asciz "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=47
392 .asciz "main.cpp" # string offset=148
394 .asciz "main.dwo" # string offset=157
395 .section .debug_str_offsets.dwo,"e",@progbits
409 .section .debug_info.dwo,"e",@progbits
410 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
411 .Ldebug_info_dwo_start0:
412 .short 5 # DWARF version number
413 .byte 5 # DWARF Unit Type
414 .byte 8 # Address Size (in bytes)
415 .long 0 # Offset Into Abbrev. Section
416 .quad -3440409667494789237
417 .byte 1 # Abbrev [1] 0x14:0x95 DW_TAG_compile_unit
418 .byte 10 # DW_AT_producer
419 .short 33 # DW_AT_language
420 .byte 11 # DW_AT_name
421 .byte 12 # DW_AT_dwo_name
422 .byte 2 # Abbrev [2] 0x1a:0x24 DW_TAG_subprogram
423 .byte 3 # DW_AT_low_pc
424 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
425 .byte 1 # DW_AT_frame_base
427 # DW_AT_call_all_calls
428 .long 88 # DW_AT_abstract_origin
429 .byte 3 # Abbrev [3] 0x26:0xb DW_TAG_variable
431 .long 62 # DW_AT_type
432 .byte 0 # DW_AT_decl_file
433 .byte 2 # DW_AT_decl_line
434 .byte 2 # DW_AT_location
437 .byte 4 # Abbrev [4] 0x31:0x6 DW_TAG_formal_parameter
438 .byte 0 # DW_AT_location
439 .long 93 # DW_AT_abstract_origin
440 .byte 4 # Abbrev [4] 0x37:0x6 DW_TAG_formal_parameter
441 .byte 1 # DW_AT_location
442 .long 101 # DW_AT_abstract_origin
443 .byte 0 # End Of Children Mark
444 .byte 5 # Abbrev [5] 0x3e:0x4 DW_TAG_base_type
446 .byte 5 # DW_AT_encoding
447 .byte 4 # DW_AT_byte_size
448 .byte 6 # Abbrev [6] 0x42:0xb DW_TAG_variable
450 .long 62 # DW_AT_type
452 .byte 0 # DW_AT_decl_file
453 .byte 7 # DW_AT_decl_line
454 .byte 2 # DW_AT_location
457 .byte 6 # Abbrev [6] 0x4d:0xb DW_TAG_variable
459 .long 62 # DW_AT_type
461 .byte 0 # DW_AT_decl_file
462 .byte 8 # DW_AT_decl_line
463 .byte 2 # DW_AT_location
466 .byte 7 # Abbrev [7] 0x58:0x16 DW_TAG_subprogram
467 .byte 4 # DW_AT_linkage_name
469 .byte 0 # DW_AT_decl_file
470 .byte 1 # DW_AT_decl_line
473 .byte 8 # Abbrev [8] 0x5d:0x8 DW_TAG_formal_parameter
475 .byte 0 # DW_AT_decl_file
476 .byte 1 # DW_AT_decl_line
477 .long 110 # DW_AT_type
478 .byte 8 # Abbrev [8] 0x65:0x8 DW_TAG_formal_parameter
480 .byte 0 # DW_AT_decl_file
481 .byte 1 # DW_AT_decl_line
482 .long 110 # DW_AT_type
483 .byte 0 # End Of Children Mark
484 .byte 9 # Abbrev [9] 0x6e:0x5 DW_TAG_pointer_type
485 .long 62 # DW_AT_type
486 .byte 10 # Abbrev [10] 0x73:0x27 DW_TAG_subprogram
487 .byte 0 # DW_AT_ranges
488 .byte 1 # DW_AT_frame_base
490 # DW_AT_call_all_calls
492 .byte 0 # DW_AT_decl_file
493 .byte 9 # DW_AT_decl_line
494 .long 62 # DW_AT_type
496 .byte 11 # Abbrev [11] 0x7e:0x9 DW_TAG_formal_parameter
497 .byte 2 # DW_AT_location
499 .byte 0 # DW_AT_decl_file
500 .byte 9 # DW_AT_decl_line
501 .long 62 # DW_AT_type
502 .byte 11 # Abbrev [11] 0x87:0x9 DW_TAG_formal_parameter
503 .byte 3 # DW_AT_location
505 .byte 0 # DW_AT_decl_file
506 .byte 9 # DW_AT_decl_line
507 .long 154 # DW_AT_type
508 .byte 12 # Abbrev [12] 0x90:0x9 DW_TAG_inlined_subroutine
509 .long 88 # DW_AT_abstract_origin
510 .byte 1 # DW_AT_ranges
511 .byte 0 # DW_AT_call_file
512 .byte 12 # DW_AT_call_line
513 .byte 4 # DW_AT_call_column
514 .byte 0 # End Of Children Mark
515 .byte 9 # Abbrev [9] 0x9a:0x5 DW_TAG_pointer_type
516 .long 159 # DW_AT_type
517 .byte 9 # Abbrev [9] 0x9f:0x5 DW_TAG_pointer_type
518 .long 164 # DW_AT_type
519 .byte 5 # Abbrev [5] 0xa4:0x4 DW_TAG_base_type
521 .byte 6 # DW_AT_encoding
522 .byte 1 # DW_AT_byte_size
523 .byte 0 # End Of Children Mark
524 .Ldebug_info_dwo_end0:
525 .section .debug_abbrev.dwo,"e",@progbits
526 .byte 1 # Abbreviation Code
527 .byte 17 # DW_TAG_compile_unit
528 .byte 1 # DW_CHILDREN_yes
529 .byte 37 # DW_AT_producer
530 .byte 37 # DW_FORM_strx1
531 .byte 19 # DW_AT_language
532 .byte 5 # DW_FORM_data2
534 .byte 37 # DW_FORM_strx1
535 .byte 118 # DW_AT_dwo_name
536 .byte 37 # DW_FORM_strx1
539 .byte 2 # Abbreviation Code
540 .byte 46 # DW_TAG_subprogram
541 .byte 1 # DW_CHILDREN_yes
542 .byte 17 # DW_AT_low_pc
543 .byte 27 # DW_FORM_addrx
544 .byte 18 # DW_AT_high_pc
545 .byte 6 # DW_FORM_data4
546 .byte 64 # DW_AT_frame_base
547 .byte 24 # DW_FORM_exprloc
548 .byte 122 # DW_AT_call_all_calls
549 .byte 25 # DW_FORM_flag_present
550 .byte 49 # DW_AT_abstract_origin
551 .byte 19 # DW_FORM_ref4
554 .byte 3 # Abbreviation Code
555 .byte 52 # DW_TAG_variable
556 .byte 0 # DW_CHILDREN_no
558 .byte 37 # DW_FORM_strx1
559 .byte 73 # DW_AT_type
560 .byte 19 # DW_FORM_ref4
561 .byte 58 # DW_AT_decl_file
562 .byte 11 # DW_FORM_data1
563 .byte 59 # DW_AT_decl_line
564 .byte 11 # DW_FORM_data1
565 .byte 2 # DW_AT_location
566 .byte 24 # DW_FORM_exprloc
569 .byte 4 # Abbreviation Code
570 .byte 5 # DW_TAG_formal_parameter
571 .byte 0 # DW_CHILDREN_no
572 .byte 2 # DW_AT_location
573 .byte 34 # DW_FORM_loclistx
574 .byte 49 # DW_AT_abstract_origin
575 .byte 19 # DW_FORM_ref4
578 .byte 5 # Abbreviation Code
579 .byte 36 # DW_TAG_base_type
580 .byte 0 # DW_CHILDREN_no
582 .byte 37 # DW_FORM_strx1
583 .byte 62 # DW_AT_encoding
584 .byte 11 # DW_FORM_data1
585 .byte 11 # DW_AT_byte_size
586 .byte 11 # DW_FORM_data1
589 .byte 6 # Abbreviation Code
590 .byte 52 # DW_TAG_variable
591 .byte 0 # DW_CHILDREN_no
593 .byte 37 # DW_FORM_strx1
594 .byte 73 # DW_AT_type
595 .byte 19 # DW_FORM_ref4
596 .byte 63 # DW_AT_external
597 .byte 25 # DW_FORM_flag_present
598 .byte 58 # DW_AT_decl_file
599 .byte 11 # DW_FORM_data1
600 .byte 59 # DW_AT_decl_line
601 .byte 11 # DW_FORM_data1
602 .byte 2 # DW_AT_location
603 .byte 24 # DW_FORM_exprloc
606 .byte 7 # Abbreviation Code
607 .byte 46 # DW_TAG_subprogram
608 .byte 1 # DW_CHILDREN_yes
609 .byte 110 # DW_AT_linkage_name
610 .byte 37 # DW_FORM_strx1
612 .byte 37 # DW_FORM_strx1
613 .byte 58 # DW_AT_decl_file
614 .byte 11 # DW_FORM_data1
615 .byte 59 # DW_AT_decl_line
616 .byte 11 # DW_FORM_data1
617 .byte 63 # DW_AT_external
618 .byte 25 # DW_FORM_flag_present
619 .byte 32 # DW_AT_inline
620 .byte 33 # DW_FORM_implicit_const
624 .byte 8 # Abbreviation Code
625 .byte 5 # DW_TAG_formal_parameter
626 .byte 0 # DW_CHILDREN_no
628 .byte 37 # DW_FORM_strx1
629 .byte 58 # DW_AT_decl_file
630 .byte 11 # DW_FORM_data1
631 .byte 59 # DW_AT_decl_line
632 .byte 11 # DW_FORM_data1
633 .byte 73 # DW_AT_type
634 .byte 19 # DW_FORM_ref4
637 .byte 9 # Abbreviation Code
638 .byte 15 # DW_TAG_pointer_type
639 .byte 0 # DW_CHILDREN_no
640 .byte 73 # DW_AT_type
641 .byte 19 # DW_FORM_ref4
644 .byte 10 # Abbreviation Code
645 .byte 46 # DW_TAG_subprogram
646 .byte 1 # DW_CHILDREN_yes
647 .byte 85 # DW_AT_ranges
648 .byte 35 # DW_FORM_rnglistx
649 .byte 64 # DW_AT_frame_base
650 .byte 24 # DW_FORM_exprloc
651 .byte 122 # DW_AT_call_all_calls
652 .byte 25 # DW_FORM_flag_present
654 .byte 37 # DW_FORM_strx1
655 .byte 58 # DW_AT_decl_file
656 .byte 11 # DW_FORM_data1
657 .byte 59 # DW_AT_decl_line
658 .byte 11 # DW_FORM_data1
659 .byte 73 # DW_AT_type
660 .byte 19 # DW_FORM_ref4
661 .byte 63 # DW_AT_external
662 .byte 25 # DW_FORM_flag_present
665 .byte 11 # Abbreviation Code
666 .byte 5 # DW_TAG_formal_parameter
667 .byte 0 # DW_CHILDREN_no
668 .byte 2 # DW_AT_location
669 .byte 34 # DW_FORM_loclistx
671 .byte 37 # DW_FORM_strx1
672 .byte 58 # DW_AT_decl_file
673 .byte 11 # DW_FORM_data1
674 .byte 59 # DW_AT_decl_line
675 .byte 11 # DW_FORM_data1
676 .byte 73 # DW_AT_type
677 .byte 19 # DW_FORM_ref4
680 .byte 12 # Abbreviation Code
681 .byte 29 # DW_TAG_inlined_subroutine
682 .byte 0 # DW_CHILDREN_no
683 .byte 49 # DW_AT_abstract_origin
684 .byte 19 # DW_FORM_ref4
685 .byte 85 # DW_AT_ranges
686 .byte 35 # DW_FORM_rnglistx
687 .byte 88 # DW_AT_call_file
688 .byte 11 # DW_FORM_data1
689 .byte 89 # DW_AT_call_line
690 .byte 11 # DW_FORM_data1
691 .byte 87 # DW_AT_call_column
692 .byte 11 # DW_FORM_data1
696 .section .debug_rnglists.dwo,"e",@progbits
697 .long .Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length
698 .Ldebug_list_header_start1:
700 .byte 8 # Address size
701 .byte 0 # Segment selector size
702 .long 2 # Offset entry count
703 .Lrnglists_dwo_table_base0:
704 .long .Ldebug_ranges0-.Lrnglists_dwo_table_base0
705 .long .Ldebug_ranges1-.Lrnglists_dwo_table_base0
707 .byte 4 # DW_RLE_offset_pair
708 .uleb128 .Lfunc_begin1-.Lfunc_begin0 # starting offset
709 .uleb128 .Lfunc_end1-.Lfunc_begin0 # ending offset
710 .byte 0 # DW_RLE_end_of_list
712 .byte 4 # DW_RLE_offset_pair
713 .uleb128 .Ltmp10-.Lfunc_begin0 # starting offset
714 .uleb128 .Ltmp12-.Lfunc_begin0 # ending offset
715 .byte 4 # DW_RLE_offset_pair
716 .uleb128 .Ltmp14-.Lfunc_begin0 # starting offset
717 .uleb128 .Ltmp17-.Lfunc_begin0 # ending offset
718 .byte 0 # DW_RLE_end_of_list
719 .Ldebug_list_header_end1:
720 .section .debug_addr,"",@progbits
721 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
723 .short 5 # DWARF version number
724 .byte 8 # Address size
725 .byte 0 # Segment selector size
727 .quad _ZZ3usePiS_E3Foo
732 .section .debug_gnu_pubnames,"",@progbits
733 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
735 .short 2 # DWARF Version
736 .long .Lcu_begin0 # Offset of Compilation Unit Info
737 .long 40 # Compilation Unit Length
738 .long 38 # DIE offset
739 .byte 160 # Attributes: VARIABLE, STATIC
740 .asciz "use::Foo" # External Name
741 .long 66 # DIE offset
742 .byte 32 # Attributes: VARIABLE, EXTERNAL
743 .asciz "x" # External Name
744 .long 77 # DIE offset
745 .byte 32 # Attributes: VARIABLE, EXTERNAL
746 .asciz "y" # External Name
747 .long 88 # DIE offset
748 .byte 48 # Attributes: FUNCTION, EXTERNAL
749 .asciz "use" # External Name
750 .long 115 # DIE offset
751 .byte 48 # Attributes: FUNCTION, EXTERNAL
752 .asciz "main" # External Name
755 .section .debug_gnu_pubtypes,"",@progbits
756 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
758 .short 2 # DWARF Version
759 .long .Lcu_begin0 # Offset of Compilation Unit Info
760 .long 40 # Compilation Unit Length
761 .long 62 # DIE offset
762 .byte 144 # Attributes: TYPE, STATIC
763 .asciz "int" # External Name
764 .long 164 # DIE offset
765 .byte 144 # Attributes: TYPE, STATIC
766 .asciz "char" # External Name
769 .ident "clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)"
770 .section ".note.GNU-stack","",@progbits
772 .addrsig_sym _ZGVZ3usePiS_E3Foo
773 .section .debug_line,"",@progbits