1 # clang++ -gsplit-dwarf -g2 -gdwarf-5 -gpubnames -fdebug-types-section -fdebug-compilation-dir='.' -S
12 # int main(int argc, char *argv[]) {
20 .globl main # -- Begin function main
25 .file 0 "." "main.cpp" md5 0x9c5cea5bb78d3fc265cd175110bfe903
26 .loc 0 5 0 # main.cpp:5:0
30 .cfi_def_cfa_offset 16
33 .cfi_def_cfa_register %rbp
38 .loc 0 8 2 prologue_end # main.cpp:8:2
40 .loc 0 8 2 epilogue_begin is_stmt 0 # main.cpp:8:2
46 .size main, .Lfunc_end0-main
49 .section .debug_info.dwo,"e",@progbits
50 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
51 .Ldebug_info_dwo_start0:
52 .short 5 # DWARF version number
53 .byte 6 # DWARF Unit Type
54 .byte 8 # Address Size (in bytes)
55 .long 0 # Offset Into Abbrev. Section
56 .quad 5322170643381124694 # Type Signature
57 .long 33 # Type DIE Offset
58 .byte 1 # Abbrev [1] 0x18:0x23 DW_TAG_type_unit
59 .short 33 # DW_AT_language
60 .byte 6 # DW_AT_comp_dir
61 .byte 7 # DW_AT_dwo_name
62 .long 0 # DW_AT_stmt_list
63 .byte 2 # Abbrev [2] 0x21:0x10 DW_TAG_structure_type
64 .byte 5 # DW_AT_calling_convention
66 .byte 8 # DW_AT_byte_size
67 .byte 0 # DW_AT_decl_file
68 .byte 2 # DW_AT_decl_line
69 .byte 3 # Abbrev [3] 0x27:0x9 DW_TAG_member
72 .byte 0 # DW_AT_decl_file
73 .byte 3 # DW_AT_decl_line
74 .byte 0 # DW_AT_data_member_location
75 .byte 0 # End Of Children Mark
76 .byte 4 # Abbrev [4] 0x31:0x5 DW_TAG_pointer_type
78 .byte 5 # Abbrev [5] 0x36:0x4 DW_TAG_base_type
80 .byte 6 # DW_AT_encoding
81 .byte 1 # DW_AT_byte_size
82 .byte 0 # End Of Children Mark
83 .Ldebug_info_dwo_end0:
84 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
85 .Ldebug_info_dwo_start1:
86 .short 5 # DWARF version number
87 .byte 6 # DWARF Unit Type
88 .byte 8 # Address Size (in bytes)
89 .long 0 # Offset Into Abbrev. Section
90 .quad 1175092228111723119 # Type Signature
91 .long 33 # Type DIE Offset
92 .byte 1 # Abbrev [1] 0x18:0x35 DW_TAG_type_unit
93 .short 33 # DW_AT_language
94 .byte 6 # DW_AT_comp_dir
95 .byte 7 # DW_AT_dwo_name
96 .long 0 # DW_AT_stmt_list
97 .byte 2 # Abbrev [2] 0x21:0x22 DW_TAG_structure_type
98 .byte 5 # DW_AT_calling_convention
100 .byte 24 # DW_AT_byte_size
101 .byte 1 # DW_AT_decl_file
102 .byte 1 # DW_AT_decl_line
103 .byte 3 # Abbrev [3] 0x27:0x9 DW_TAG_member
105 .long 67 # DW_AT_type
106 .byte 1 # DW_AT_decl_file
107 .byte 2 # DW_AT_decl_line
108 .byte 0 # DW_AT_data_member_location
109 .byte 3 # Abbrev [3] 0x30:0x9 DW_TAG_member
110 .byte 11 # DW_AT_name
111 .long 67 # DW_AT_type
112 .byte 1 # DW_AT_decl_file
113 .byte 3 # DW_AT_decl_line
114 .byte 8 # DW_AT_data_member_location
115 .byte 3 # Abbrev [3] 0x39:0x9 DW_TAG_member
116 .byte 12 # DW_AT_name
117 .long 67 # DW_AT_type
118 .byte 1 # DW_AT_decl_file
119 .byte 4 # DW_AT_decl_line
120 .byte 16 # DW_AT_data_member_location
121 .byte 0 # End Of Children Mark
122 .byte 4 # Abbrev [4] 0x43:0x5 DW_TAG_pointer_type
123 .long 72 # DW_AT_type
124 .byte 5 # Abbrev [5] 0x48:0x4 DW_TAG_base_type
126 .byte 6 # DW_AT_encoding
127 .byte 1 # DW_AT_byte_size
128 .byte 0 # End Of Children Mark
129 .Ldebug_info_dwo_end1:
130 .section .debug_abbrev,"",@progbits
131 .byte 1 # Abbreviation Code
132 .byte 74 # DW_TAG_skeleton_unit
133 .byte 0 # DW_CHILDREN_no
134 .byte 16 # DW_AT_stmt_list
135 .byte 23 # DW_FORM_sec_offset
136 .byte 114 # DW_AT_str_offsets_base
137 .byte 23 # DW_FORM_sec_offset
138 .byte 27 # DW_AT_comp_dir
139 .byte 37 # DW_FORM_strx1
140 .byte 118 # DW_AT_dwo_name
141 .byte 37 # DW_FORM_strx1
142 .byte 17 # DW_AT_low_pc
143 .byte 27 # DW_FORM_addrx
144 .byte 18 # DW_AT_high_pc
145 .byte 6 # DW_FORM_data4
146 .byte 115 # DW_AT_addr_base
147 .byte 23 # DW_FORM_sec_offset
151 .section .debug_info,"",@progbits
153 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
155 .short 5 # DWARF version number
156 .byte 4 # DWARF Unit Type
157 .byte 8 # Address Size (in bytes)
158 .long .debug_abbrev # Offset Into Abbrev. Section
159 .quad 5962099678818150071
160 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
161 .long .Lline_table_start0 # DW_AT_stmt_list
162 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
163 .byte 0 # DW_AT_comp_dir
164 .byte 1 # DW_AT_dwo_name
165 .byte 0 # DW_AT_low_pc
166 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
167 .long .Laddr_table_base0 # DW_AT_addr_base
169 .section .debug_str_offsets,"",@progbits
170 .long 12 # Length of String Offsets Set
174 .section .debug_str,"MS",@progbits,1
176 .asciz "." # string offset=0
178 .asciz "main" # string offset=53
180 .asciz "int" # string offset=58
182 .asciz "char" # string offset=62
184 .asciz "Foo2" # string offset=67
186 .asciz "Foo2a" # string offset=72
188 .asciz "main.dwo" # string offset=78
189 .section .debug_str_offsets,"",@progbits
192 .section .debug_str_offsets.dwo,"e",@progbits
193 .long 68 # Length of String Offsets Set
196 .section .debug_str.dwo,"eMS",@progbits,1
198 .asciz "main" # string offset=0
200 .asciz "int" # string offset=5
202 .asciz "argc" # string offset=9
204 .asciz "argv" # string offset=14
206 .asciz "char" # string offset=19
208 .asciz "f2" # string offset=24
210 .asciz "." # string offset=27
212 .asciz "main.dwo" # string offset=80
214 .asciz "c1" # string offset=89
216 .asciz "Foo2" # string offset=92
218 .asciz "f3" # string offset=97
220 .asciz "c2" # string offset=100
222 .asciz "c3" # string offset=103
224 .asciz "Foo2a" # string offset=106
226 .asciz "clang version 18.0.0git (git@github.com:ayermolo/llvm-project.git db35fa8fc524127079662802c4735dbf397f86d0)" # string offset=112
228 .asciz "main.cpp" # string offset=220
229 .section .debug_str_offsets.dwo,"e",@progbits
246 .section .debug_info.dwo,"e",@progbits
247 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
248 .Ldebug_info_dwo_start2:
249 .short 5 # DWARF version number
250 .byte 5 # DWARF Unit Type
251 .byte 8 # Address Size (in bytes)
252 .long 0 # Offset Into Abbrev. Section
253 .quad 5962099678818150071
254 .byte 6 # Abbrev [6] 0x14:0x67 DW_TAG_compile_unit
255 .byte 14 # DW_AT_producer
256 .short 33 # DW_AT_language
257 .byte 15 # DW_AT_name
258 .byte 7 # DW_AT_dwo_name
259 .byte 7 # Abbrev [7] 0x1a:0x3c DW_TAG_subprogram
260 .byte 0 # DW_AT_low_pc
261 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
262 .byte 1 # DW_AT_frame_base
265 .byte 0 # DW_AT_decl_file
266 .byte 5 # DW_AT_decl_line
267 .long 86 # DW_AT_type
269 .byte 8 # Abbrev [8] 0x29:0xb DW_TAG_formal_parameter
270 .byte 2 # DW_AT_location
274 .byte 0 # DW_AT_decl_file
275 .byte 5 # DW_AT_decl_line
276 .long 86 # DW_AT_type
277 .byte 8 # Abbrev [8] 0x34:0xb DW_TAG_formal_parameter
278 .byte 2 # DW_AT_location
282 .byte 0 # DW_AT_decl_file
283 .byte 5 # DW_AT_decl_line
284 .long 90 # DW_AT_type
285 .byte 9 # Abbrev [9] 0x3f:0xb DW_TAG_variable
286 .byte 2 # DW_AT_location
290 .byte 0 # DW_AT_decl_file
291 .byte 6 # DW_AT_decl_line
292 .long 104 # DW_AT_type
293 .byte 9 # Abbrev [9] 0x4a:0xb DW_TAG_variable
294 .byte 2 # DW_AT_location
297 .byte 10 # DW_AT_name
298 .byte 0 # DW_AT_decl_file
299 .byte 7 # DW_AT_decl_line
300 .long 113 # DW_AT_type
301 .byte 0 # End Of Children Mark
302 .byte 5 # Abbrev [5] 0x56:0x4 DW_TAG_base_type
304 .byte 5 # DW_AT_encoding
305 .byte 4 # DW_AT_byte_size
306 .byte 4 # Abbrev [4] 0x5a:0x5 DW_TAG_pointer_type
307 .long 95 # DW_AT_type
308 .byte 4 # Abbrev [4] 0x5f:0x5 DW_TAG_pointer_type
309 .long 100 # DW_AT_type
310 .byte 5 # Abbrev [5] 0x64:0x4 DW_TAG_base_type
312 .byte 6 # DW_AT_encoding
313 .byte 1 # DW_AT_byte_size
314 .byte 10 # Abbrev [10] 0x68:0x9 DW_TAG_structure_type
316 .quad 5322170643381124694 # DW_AT_signature
317 .byte 10 # Abbrev [10] 0x71:0x9 DW_TAG_structure_type
319 .quad 1175092228111723119 # DW_AT_signature
320 .byte 0 # End Of Children Mark
321 .Ldebug_info_dwo_end2:
322 .section .debug_abbrev.dwo,"e",@progbits
323 .byte 1 # Abbreviation Code
324 .byte 65 # DW_TAG_type_unit
325 .byte 1 # DW_CHILDREN_yes
326 .byte 19 # DW_AT_language
327 .byte 5 # DW_FORM_data2
328 .byte 27 # DW_AT_comp_dir
329 .byte 37 # DW_FORM_strx1
330 .byte 118 # DW_AT_dwo_name
331 .byte 37 # DW_FORM_strx1
332 .byte 16 # DW_AT_stmt_list
333 .byte 23 # DW_FORM_sec_offset
336 .byte 2 # Abbreviation Code
337 .byte 19 # DW_TAG_structure_type
338 .byte 1 # DW_CHILDREN_yes
339 .byte 54 # DW_AT_calling_convention
340 .byte 11 # DW_FORM_data1
342 .byte 37 # DW_FORM_strx1
343 .byte 11 # DW_AT_byte_size
344 .byte 11 # DW_FORM_data1
345 .byte 58 # DW_AT_decl_file
346 .byte 11 # DW_FORM_data1
347 .byte 59 # DW_AT_decl_line
348 .byte 11 # DW_FORM_data1
351 .byte 3 # Abbreviation Code
352 .byte 13 # DW_TAG_member
353 .byte 0 # DW_CHILDREN_no
355 .byte 37 # DW_FORM_strx1
356 .byte 73 # DW_AT_type
357 .byte 19 # DW_FORM_ref4
358 .byte 58 # DW_AT_decl_file
359 .byte 11 # DW_FORM_data1
360 .byte 59 # DW_AT_decl_line
361 .byte 11 # DW_FORM_data1
362 .byte 56 # DW_AT_data_member_location
363 .byte 11 # DW_FORM_data1
366 .byte 4 # Abbreviation Code
367 .byte 15 # DW_TAG_pointer_type
368 .byte 0 # DW_CHILDREN_no
369 .byte 73 # DW_AT_type
370 .byte 19 # DW_FORM_ref4
373 .byte 5 # Abbreviation Code
374 .byte 36 # DW_TAG_base_type
375 .byte 0 # DW_CHILDREN_no
377 .byte 37 # DW_FORM_strx1
378 .byte 62 # DW_AT_encoding
379 .byte 11 # DW_FORM_data1
380 .byte 11 # DW_AT_byte_size
381 .byte 11 # DW_FORM_data1
384 .byte 6 # Abbreviation Code
385 .byte 17 # DW_TAG_compile_unit
386 .byte 1 # DW_CHILDREN_yes
387 .byte 37 # DW_AT_producer
388 .byte 37 # DW_FORM_strx1
389 .byte 19 # DW_AT_language
390 .byte 5 # DW_FORM_data2
392 .byte 37 # DW_FORM_strx1
393 .byte 118 # DW_AT_dwo_name
394 .byte 37 # DW_FORM_strx1
397 .byte 7 # Abbreviation Code
398 .byte 46 # DW_TAG_subprogram
399 .byte 1 # DW_CHILDREN_yes
400 .byte 17 # DW_AT_low_pc
401 .byte 27 # DW_FORM_addrx
402 .byte 18 # DW_AT_high_pc
403 .byte 6 # DW_FORM_data4
404 .byte 64 # DW_AT_frame_base
405 .byte 24 # DW_FORM_exprloc
407 .byte 37 # DW_FORM_strx1
408 .byte 58 # DW_AT_decl_file
409 .byte 11 # DW_FORM_data1
410 .byte 59 # DW_AT_decl_line
411 .byte 11 # DW_FORM_data1
412 .byte 73 # DW_AT_type
413 .byte 19 # DW_FORM_ref4
414 .byte 63 # DW_AT_external
415 .byte 25 # DW_FORM_flag_present
418 .byte 8 # Abbreviation Code
419 .byte 5 # DW_TAG_formal_parameter
420 .byte 0 # DW_CHILDREN_no
421 .byte 2 # DW_AT_location
422 .byte 24 # DW_FORM_exprloc
424 .byte 37 # DW_FORM_strx1
425 .byte 58 # DW_AT_decl_file
426 .byte 11 # DW_FORM_data1
427 .byte 59 # DW_AT_decl_line
428 .byte 11 # DW_FORM_data1
429 .byte 73 # DW_AT_type
430 .byte 19 # DW_FORM_ref4
433 .byte 9 # Abbreviation Code
434 .byte 52 # DW_TAG_variable
435 .byte 0 # DW_CHILDREN_no
436 .byte 2 # DW_AT_location
437 .byte 24 # DW_FORM_exprloc
439 .byte 37 # DW_FORM_strx1
440 .byte 58 # DW_AT_decl_file
441 .byte 11 # DW_FORM_data1
442 .byte 59 # DW_AT_decl_line
443 .byte 11 # DW_FORM_data1
444 .byte 73 # DW_AT_type
445 .byte 19 # DW_FORM_ref4
448 .byte 10 # Abbreviation Code
449 .byte 19 # DW_TAG_structure_type
450 .byte 0 # DW_CHILDREN_no
451 .byte 60 # DW_AT_declaration
452 .byte 25 # DW_FORM_flag_present
453 .byte 105 # DW_AT_signature
454 .byte 32 # DW_FORM_ref_sig8
458 .section .debug_line.dwo,"e",@progbits
460 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
465 .long .Lprologue_end0-.Lprologue_start0
492 .byte 0x9c, 0x5c, 0xea, 0x5b
493 .byte 0xb7, 0x8d, 0x3f, 0xc2
494 .byte 0x65, 0xcd, 0x17, 0x51
495 .byte 0x10, 0xbf, 0xe9, 0x03
499 .byte 0xfe, 0xa7, 0xbb, 0x1f
500 .byte 0x22, 0xc4, 0x7f, 0x12
501 .byte 0x9e, 0x15, 0x69, 0x5f
502 .byte 0x71, 0x37, 0xa1, 0xe7
505 .section .debug_addr,"",@progbits
506 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
508 .short 5 # DWARF version number
509 .byte 8 # Address size
510 .byte 0 # Segment selector size
514 .section .debug_names,"",@progbits
515 .long .Lnames_end0-.Lnames_start0 # Header: unit length
517 .short 5 # Header: version
518 .short 0 # Header: padding
519 .long 1 # Header: compilation unit count
520 .long 0 # Header: local type unit count
521 .long 2 # Header: foreign type unit count
522 .long 5 # Header: bucket count
523 .long 5 # Header: name count
524 .long .Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size
525 .long 8 # Header: augmentation string size
526 .ascii "LLVM0700" # Header: augmentation string
527 .long .Lcu_begin0 # Compilation unit 0
528 .quad 5322170643381124694 # Type unit 0
529 .quad 1175092228111723119 # Type unit 1
535 .long 2090263771 # Hash in Bucket 1
536 .long 2090499946 # Hash in Bucket 1
537 .long 193495088 # Hash in Bucket 3
538 .long 259227804 # Hash in Bucket 4
539 .long 2090147939 # Hash in Bucket 4
540 .long .Lskel_string4 # String in Bucket 1: Foo2
541 .long .Lskel_string1 # String in Bucket 1: main
542 .long .Lskel_string2 # String in Bucket 3: int
543 .long .Lskel_string5 # String in Bucket 4: Foo2a
544 .long .Lskel_string3 # String in Bucket 4: char
545 .long .Lnames3-.Lnames_entries0 # Offset in Bucket 1
546 .long .Lnames0-.Lnames_entries0 # Offset in Bucket 1
547 .long .Lnames1-.Lnames_entries0 # Offset in Bucket 3
548 .long .Lnames4-.Lnames_entries0 # Offset in Bucket 4
549 .long .Lnames2-.Lnames_entries0 # Offset in Bucket 4
550 .Lnames_abbrev_start0:
551 .ascii "\350\004" # Abbrev code
552 .byte 19 # DW_TAG_structure_type
553 .byte 3 # DW_IDX_die_offset
554 .byte 19 # DW_FORM_ref4
555 .byte 0 # End of abbrev
556 .byte 0 # End of abbrev
557 .ascii "\354\004" # Abbrev code
558 .byte 19 # DW_TAG_structure_type
559 .byte 2 # DW_IDX_type_unit
560 .byte 11 # DW_FORM_data1
561 .byte 3 # DW_IDX_die_offset
562 .byte 19 # DW_FORM_ref4
563 .byte 0 # End of abbrev
564 .byte 0 # End of abbrev
565 .ascii "\310\013" # Abbrev code
566 .byte 46 # DW_TAG_subprogram
567 .byte 3 # DW_IDX_die_offset
568 .byte 19 # DW_FORM_ref4
569 .byte 0 # End of abbrev
570 .byte 0 # End of abbrev
571 .ascii "\210\t" # Abbrev code
572 .byte 36 # DW_TAG_base_type
573 .byte 3 # DW_IDX_die_offset
574 .byte 19 # DW_FORM_ref4
575 .byte 0 # End of abbrev
576 .byte 0 # End of abbrev
577 .ascii "\214\t" # Abbrev code
578 .byte 36 # DW_TAG_base_type
579 .byte 2 # DW_IDX_type_unit
580 .byte 11 # DW_FORM_data1
581 .byte 3 # DW_IDX_die_offset
582 .byte 19 # DW_FORM_ref4
583 .byte 0 # End of abbrev
584 .byte 0 # End of abbrev
585 .byte 0 # End of abbrev list
589 .ascii "\354\004" # Abbreviation code
590 .byte 0 # DW_IDX_type_unit
591 .long 33 # DW_IDX_die_offset
592 .ascii "\350\004" # Abbreviation code
593 .long 104 # DW_IDX_die_offset
594 .byte 0 # End of list: Foo2
596 .ascii "\310\013" # Abbreviation code
597 .long 26 # DW_IDX_die_offset
598 .byte 0 # End of list: main
600 .ascii "\210\t" # Abbreviation code
601 .long 86 # DW_IDX_die_offset
602 .byte 0 # End of list: int
604 .ascii "\354\004" # Abbreviation code
605 .byte 1 # DW_IDX_type_unit
606 .long 33 # DW_IDX_die_offset
607 .ascii "\350\004" # Abbreviation code
608 .long 113 # DW_IDX_die_offset
609 .byte 0 # End of list: Foo2a
611 .ascii "\214\t" # Abbreviation code
612 .byte 0 # DW_IDX_type_unit
613 .long 54 # DW_IDX_die_offset
614 .ascii "\214\t" # Abbreviation code
615 .byte 1 # DW_IDX_type_unit
616 .long 72 # DW_IDX_die_offset
617 .ascii "\210\t" # Abbreviation code
618 .long 100 # DW_IDX_die_offset
619 .byte 0 # End of list: char
622 .ident "clang version 18.0.0git (git@github.com:ayermolo/llvm-project.git db35fa8fc524127079662802c4735dbf397f86d0)"
623 .section ".note.GNU-stack","",@progbits
625 .section .debug_line,"",@progbits