17 .globl main # -- Begin function main
22 .file 1 "." "main.cpp"
23 .loc 1 10 0 # main.cpp:10:0
27 .cfi_def_cfa_offset 16
30 .cfi_def_cfa_register %rbp
35 .loc 1 12 9 prologue_end # main.cpp:12:9
38 movq
(%rax
,%rcx
,8), %rax
39 .loc 1 12 7 is_stmt 0 # main.cpp:12:7
41 .loc 1 13 9 is_stmt 1 # main.cpp:13:9
43 .loc 1 13 14 is_stmt 0 # main.cpp:13:14
45 .loc 1 13 19 # main.cpp:13:19
47 .loc 1 13 9 # main.cpp:13:9
49 movq
(%rax
,%rcx
,8), %rax
50 .loc 1 13 7 # main.cpp:13:7
52 .loc 1 14 9 is_stmt 1 # main.cpp:14:9
54 .loc 1 14 14 is_stmt 0 # main.cpp:14:14
56 .loc 1 14 19 # main.cpp:14:19
58 .loc 1 14 9 # main.cpp:14:9
60 movq
(%rax
,%rcx
,8), %rax
61 .loc 1 14 7 # main.cpp:14:7
63 .loc 1 16 9 is_stmt 1 # main.cpp:16:9
65 .loc 1 16 14 is_stmt 0 # main.cpp:16:14
67 .loc 1 16 19 # main.cpp:16:19
69 .loc 1 16 9 # main.cpp:16:9
71 movq
(%rax
,%rcx
,8), %rax
72 .loc 1 16 7 # main.cpp:16:7
74 .loc 1 17 9 is_stmt 1 # main.cpp:17:9
76 .loc 1 17 14 is_stmt 0 # main.cpp:17:14
78 .loc 1 17 19 # main.cpp:17:19
80 .loc 1 17 9 # main.cpp:17:9
82 movq
(%rax
,%rcx
,8), %rax
83 .loc 1 17 7 # main.cpp:17:7
85 .loc 1 18 2 is_stmt 1 # main.cpp:18:2
87 .loc 1 18 2 epilogue_begin is_stmt 0 # main.cpp:18:2
93 .size main, .Lfunc_end0-main
96 .section .debug_types.dwo,"e",@progbits
97 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
98 .Ldebug_info_dwo_start0:
99 .short 4 # DWARF version number
100 .long 0 # Offset Into Abbrev. Section
101 .byte 8 # Address Size (in bytes)
102 .quad 7448148824980338162 # Type Signature
103 .long 30 # Type DIE Offset
104 .byte 1 # Abbrev [1] 0x17:0x33 DW_TAG_type_unit
105 .short 33 # DW_AT_language
106 .long 0 # DW_AT_stmt_list
107 .byte 2 # Abbrev [2] 0x1e:0x22 DW_TAG_structure_type
108 .byte 5 # DW_AT_calling_convention
110 .byte 24 # DW_AT_byte_size
111 .byte 1 # DW_AT_decl_file
112 .byte 1 # DW_AT_decl_line
113 .byte 3 # Abbrev [3] 0x24:0x9 DW_TAG_member
115 .long 64 # DW_AT_type
116 .byte 1 # DW_AT_decl_file
117 .byte 2 # DW_AT_decl_line
118 .byte 0 # DW_AT_data_member_location
119 .byte 3 # Abbrev [3] 0x2d:0x9 DW_TAG_member
121 .long 64 # DW_AT_type
122 .byte 1 # DW_AT_decl_file
123 .byte 3 # DW_AT_decl_line
124 .byte 8 # DW_AT_data_member_location
125 .byte 3 # Abbrev [3] 0x36:0x9 DW_TAG_member
127 .long 64 # DW_AT_type
128 .byte 1 # DW_AT_decl_file
129 .byte 4 # DW_AT_decl_line
130 .byte 16 # DW_AT_data_member_location
131 .byte 0 # End Of Children Mark
132 .byte 4 # Abbrev [4] 0x40:0x5 DW_TAG_pointer_type
133 .long 69 # DW_AT_type
134 .byte 5 # Abbrev [5] 0x45:0x4 DW_TAG_base_type
136 .byte 6 # DW_AT_encoding
137 .byte 1 # DW_AT_byte_size
138 .byte 0 # End Of Children Mark
139 .Ldebug_info_dwo_end0:
140 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
141 .Ldebug_info_dwo_start1:
142 .short 4 # DWARF version number
143 .long 0 # Offset Into Abbrev. Section
144 .byte 8 # Address Size (in bytes)
145 .quad 5322170643381124694 # Type Signature
146 .long 30 # Type DIE Offset
147 .byte 1 # Abbrev [1] 0x17:0x2a DW_TAG_type_unit
148 .short 33 # DW_AT_language
149 .long 0 # DW_AT_stmt_list
150 .byte 2 # Abbrev [2] 0x1e:0x19 DW_TAG_structure_type
151 .byte 5 # DW_AT_calling_convention
152 .byte 11 # DW_AT_name
153 .byte 16 # DW_AT_byte_size
154 .byte 1 # DW_AT_decl_file
155 .byte 6 # DW_AT_decl_line
156 .byte 3 # Abbrev [3] 0x24:0x9 DW_TAG_member
158 .long 55 # DW_AT_type
159 .byte 1 # DW_AT_decl_file
160 .byte 7 # DW_AT_decl_line
161 .byte 0 # DW_AT_data_member_location
162 .byte 3 # Abbrev [3] 0x2d:0x9 DW_TAG_member
164 .long 55 # DW_AT_type
165 .byte 1 # DW_AT_decl_file
166 .byte 8 # DW_AT_decl_line
167 .byte 8 # DW_AT_data_member_location
168 .byte 0 # End Of Children Mark
169 .byte 4 # Abbrev [4] 0x37:0x5 DW_TAG_pointer_type
170 .long 60 # DW_AT_type
171 .byte 5 # Abbrev [5] 0x3c:0x4 DW_TAG_base_type
173 .byte 6 # DW_AT_encoding
174 .byte 1 # DW_AT_byte_size
175 .byte 0 # End Of Children Mark
176 .Ldebug_info_dwo_end1:
177 .section .debug_abbrev,"",@progbits
178 .byte 1 # Abbreviation Code
179 .byte 17 # DW_TAG_compile_unit
180 .byte 0 # DW_CHILDREN_no
181 .byte 16 # DW_AT_stmt_list
182 .byte 23 # DW_FORM_sec_offset
183 .byte 27 # DW_AT_comp_dir
184 .byte 14 # DW_FORM_strp
185 .ascii "\264B" # DW_AT_GNU_pubnames
186 .byte 25 # DW_FORM_flag_present
187 .ascii "\260B" # DW_AT_GNU_dwo_name
188 .byte 14 # DW_FORM_strp
189 .ascii "\261B" # DW_AT_GNU_dwo_id
190 .byte 7 # DW_FORM_data8
191 .byte 17 # DW_AT_low_pc
192 .byte 1 # DW_FORM_addr
193 .byte 18 # DW_AT_high_pc
194 .byte 6 # DW_FORM_data4
195 .ascii "\263B" # DW_AT_GNU_addr_base
196 .byte 23 # DW_FORM_sec_offset
200 .section .debug_info,"",@progbits
202 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
204 .short 4 # DWARF version number
205 .long .debug_abbrev # Offset Into Abbrev. Section
206 .byte 8 # Address Size (in bytes)
207 .byte 1 # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit
208 .long .Lline_table_start0 # DW_AT_stmt_list
209 .long .Lskel_string0 # DW_AT_comp_dir
211 .long .Lskel_string1 # DW_AT_GNU_dwo_name
212 .quad 4780348136649610820 # DW_AT_GNU_dwo_id
213 .quad .Lfunc_begin0 # DW_AT_low_pc
214 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
215 .long .Laddr_table_base0 # DW_AT_GNU_addr_base
217 .section .debug_str,"MS",@progbits,1
219 .asciz "." # string offset=0
221 .asciz "main.dwo" # string offset=68
222 .section .debug_str.dwo,"eMS",@progbits,1
224 .asciz "main" # string offset=0
226 .asciz "int" # string offset=5
228 .asciz "argc" # string offset=9
230 .asciz "argv" # string offset=14
232 .asciz "char" # string offset=19
234 .asciz "f" # string offset=24
236 .asciz "c1" # string offset=26
238 .asciz "c2" # string offset=29
240 .asciz "c3" # string offset=32
242 .asciz "Foo" # string offset=35
244 .asciz "f2" # string offset=39
246 .asciz "Foo2" # string offset=42
248 .asciz "clang version 15.0.0" # string offset=47
250 .asciz "main.cpp" # string offset=193
252 .asciz "main.dwo" # string offset=202
253 .section .debug_str_offsets.dwo,"e",@progbits
269 .section .debug_info.dwo,"e",@progbits
270 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
271 .Ldebug_info_dwo_start2:
272 .short 4 # DWARF version number
273 .long 0 # Offset Into Abbrev. Section
274 .byte 8 # Address Size (in bytes)
275 .byte 6 # Abbrev [6] 0xb:0x6f DW_TAG_compile_unit
276 .byte 12 # DW_AT_producer
277 .short 33 # DW_AT_language
278 .byte 13 # DW_AT_name
279 .byte 14 # DW_AT_GNU_dwo_name
280 .quad 4780348136649610820 # DW_AT_GNU_dwo_id
281 .byte 7 # Abbrev [7] 0x19:0x3c DW_TAG_subprogram
282 .byte 0 # DW_AT_low_pc
283 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
284 .byte 1 # DW_AT_frame_base
287 .byte 1 # DW_AT_decl_file
288 .byte 10 # DW_AT_decl_line
289 .long 85 # DW_AT_type
291 .byte 8 # Abbrev [8] 0x28:0xb DW_TAG_formal_parameter
292 .byte 2 # DW_AT_location
296 .byte 1 # DW_AT_decl_file
297 .byte 10 # DW_AT_decl_line
298 .long 85 # DW_AT_type
299 .byte 8 # Abbrev [8] 0x33:0xb DW_TAG_formal_parameter
300 .byte 2 # DW_AT_location
304 .byte 1 # DW_AT_decl_file
305 .byte 10 # DW_AT_decl_line
306 .long 89 # DW_AT_type
307 .byte 9 # Abbrev [9] 0x3e:0xb DW_TAG_variable
308 .byte 2 # DW_AT_location
312 .byte 1 # DW_AT_decl_file
313 .byte 11 # DW_AT_decl_line
314 .long 103 # DW_AT_type
315 .byte 9 # Abbrev [9] 0x49:0xb DW_TAG_variable
316 .byte 2 # DW_AT_location
319 .byte 10 # DW_AT_name
320 .byte 1 # DW_AT_decl_file
321 .byte 15 # DW_AT_decl_line
322 .long 112 # DW_AT_type
323 .byte 0 # End Of Children Mark
324 .byte 5 # Abbrev [5] 0x55:0x4 DW_TAG_base_type
326 .byte 5 # DW_AT_encoding
327 .byte 4 # DW_AT_byte_size
328 .byte 4 # Abbrev [4] 0x59:0x5 DW_TAG_pointer_type
329 .long 94 # DW_AT_type
330 .byte 4 # Abbrev [4] 0x5e:0x5 DW_TAG_pointer_type
331 .long 99 # DW_AT_type
332 .byte 5 # Abbrev [5] 0x63:0x4 DW_TAG_base_type
334 .byte 6 # DW_AT_encoding
335 .byte 1 # DW_AT_byte_size
336 .byte 10 # Abbrev [10] 0x67:0x9 DW_TAG_structure_type
338 .quad 7448148824980338162 # DW_AT_signature
339 .byte 10 # Abbrev [10] 0x70:0x9 DW_TAG_structure_type
341 .quad 5322170643381124694 # DW_AT_signature
342 .byte 0 # End Of Children Mark
343 .Ldebug_info_dwo_end2:
344 .section .debug_abbrev.dwo,"e",@progbits
345 .byte 1 # Abbreviation Code
346 .byte 65 # DW_TAG_type_unit
347 .byte 1 # DW_CHILDREN_yes
348 .byte 19 # DW_AT_language
349 .byte 5 # DW_FORM_data2
350 .byte 16 # DW_AT_stmt_list
351 .byte 23 # DW_FORM_sec_offset
354 .byte 2 # Abbreviation Code
355 .byte 19 # DW_TAG_structure_type
356 .byte 1 # DW_CHILDREN_yes
357 .byte 54 # DW_AT_calling_convention
358 .byte 11 # DW_FORM_data1
360 .ascii "\202>" # DW_FORM_GNU_str_index
361 .byte 11 # DW_AT_byte_size
362 .byte 11 # DW_FORM_data1
363 .byte 58 # DW_AT_decl_file
364 .byte 11 # DW_FORM_data1
365 .byte 59 # DW_AT_decl_line
366 .byte 11 # DW_FORM_data1
369 .byte 3 # Abbreviation Code
370 .byte 13 # DW_TAG_member
371 .byte 0 # DW_CHILDREN_no
373 .ascii "\202>" # DW_FORM_GNU_str_index
374 .byte 73 # DW_AT_type
375 .byte 19 # DW_FORM_ref4
376 .byte 58 # DW_AT_decl_file
377 .byte 11 # DW_FORM_data1
378 .byte 59 # DW_AT_decl_line
379 .byte 11 # DW_FORM_data1
380 .byte 56 # DW_AT_data_member_location
381 .byte 11 # DW_FORM_data1
384 .byte 4 # Abbreviation Code
385 .byte 15 # DW_TAG_pointer_type
386 .byte 0 # DW_CHILDREN_no
387 .byte 73 # DW_AT_type
388 .byte 19 # DW_FORM_ref4
391 .byte 5 # Abbreviation Code
392 .byte 36 # DW_TAG_base_type
393 .byte 0 # DW_CHILDREN_no
395 .ascii "\202>" # DW_FORM_GNU_str_index
396 .byte 62 # DW_AT_encoding
397 .byte 11 # DW_FORM_data1
398 .byte 11 # DW_AT_byte_size
399 .byte 11 # DW_FORM_data1
402 .byte 6 # Abbreviation Code
403 .byte 17 # DW_TAG_compile_unit
404 .byte 1 # DW_CHILDREN_yes
405 .byte 37 # DW_AT_producer
406 .ascii "\202>" # DW_FORM_GNU_str_index
407 .byte 19 # DW_AT_language
408 .byte 5 # DW_FORM_data2
410 .ascii "\202>" # DW_FORM_GNU_str_index
411 .ascii "\260B" # DW_AT_GNU_dwo_name
412 .ascii "\202>" # DW_FORM_GNU_str_index
413 .ascii "\261B" # DW_AT_GNU_dwo_id
414 .byte 7 # DW_FORM_data8
417 .byte 7 # Abbreviation Code
418 .byte 46 # DW_TAG_subprogram
419 .byte 1 # DW_CHILDREN_yes
420 .byte 17 # DW_AT_low_pc
421 .ascii "\201>" # DW_FORM_GNU_addr_index
422 .byte 18 # DW_AT_high_pc
423 .byte 6 # DW_FORM_data4
424 .byte 64 # DW_AT_frame_base
425 .byte 24 # DW_FORM_exprloc
427 .ascii "\202>" # DW_FORM_GNU_str_index
428 .byte 58 # DW_AT_decl_file
429 .byte 11 # DW_FORM_data1
430 .byte 59 # DW_AT_decl_line
431 .byte 11 # DW_FORM_data1
432 .byte 73 # DW_AT_type
433 .byte 19 # DW_FORM_ref4
434 .byte 63 # DW_AT_external
435 .byte 25 # DW_FORM_flag_present
438 .byte 8 # Abbreviation Code
439 .byte 5 # DW_TAG_formal_parameter
440 .byte 0 # DW_CHILDREN_no
441 .byte 2 # DW_AT_location
442 .byte 24 # DW_FORM_exprloc
444 .ascii "\202>" # DW_FORM_GNU_str_index
445 .byte 58 # DW_AT_decl_file
446 .byte 11 # DW_FORM_data1
447 .byte 59 # DW_AT_decl_line
448 .byte 11 # DW_FORM_data1
449 .byte 73 # DW_AT_type
450 .byte 19 # DW_FORM_ref4
453 .byte 9 # Abbreviation Code
454 .byte 52 # DW_TAG_variable
455 .byte 0 # DW_CHILDREN_no
456 .byte 2 # DW_AT_location
457 .byte 24 # DW_FORM_exprloc
459 .ascii "\202>" # DW_FORM_GNU_str_index
460 .byte 58 # DW_AT_decl_file
461 .byte 11 # DW_FORM_data1
462 .byte 59 # DW_AT_decl_line
463 .byte 11 # DW_FORM_data1
464 .byte 73 # DW_AT_type
465 .byte 19 # DW_FORM_ref4
468 .byte 10 # Abbreviation Code
469 .byte 19 # DW_TAG_structure_type
470 .byte 0 # DW_CHILDREN_no
471 .byte 60 # DW_AT_declaration
472 .byte 25 # DW_FORM_flag_present
473 .byte 105 # DW_AT_signature
474 .byte 32 # DW_FORM_ref_sig8
478 .section .debug_line.dwo,"e",@progbits
480 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
483 .long .Lprologue_end0-.Lprologue_start0
500 .section .debug_addr,"",@progbits
503 .section .debug_gnu_pubnames,"",@progbits
504 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
506 .short 2 # DWARF Version
507 .long .Lcu_begin0 # Offset of Compilation Unit Info
508 .long 48 # Compilation Unit Length
509 .long 25 # DIE offset
510 .byte 48 # Attributes: FUNCTION, EXTERNAL
511 .asciz "main" # External Name
514 .section .debug_gnu_pubtypes,"",@progbits
515 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
517 .short 2 # DWARF Version
518 .long .Lcu_begin0 # Offset of Compilation Unit Info
519 .long 48 # Compilation Unit Length
520 .long 85 # DIE offset
521 .byte 144 # Attributes: TYPE, STATIC
522 .asciz "int" # External Name
523 .long 99 # DIE offset
524 .byte 144 # Attributes: TYPE, STATIC
525 .asciz "char" # External Name
526 .long 103 # DIE offset
527 .byte 16 # Attributes: TYPE, EXTERNAL
528 .asciz "Foo" # External Name
529 .long 112 # DIE offset
530 .byte 16 # Attributes: TYPE, EXTERNAL
531 .asciz "Foo2" # External Name
534 .ident "clang version 15.0.0"
535 .section ".note.GNU-stack","",@progbits
537 .section .debug_line,"",@progbits