10 # int main(int argc, char *argv[]) {
13 # f.c2 = argv[argc + 1];
14 # f.c3 = argv[argc + 2];
16 # f.c1 = argv[argc + 3];
17 # f.c2 = argv[argc + 4];
22 .globl main # -- Begin function main
27 .file 0 "." "main.cpp" md5 0x13f000d932d7bb7e6986b96c183027b9
28 .loc 0 10 0 # main.cpp:10:0
32 .cfi_def_cfa_offset 16
35 .cfi_def_cfa_register %rbp
40 .loc 0 12 9 prologue_end # main.cpp:12:9
43 movq
(%rax
,%rcx
,8), %rax
44 .loc 0 12 7 is_stmt 0 # main.cpp:12:7
46 .loc 0 13 9 is_stmt 1 # main.cpp:13:9
48 .loc 0 13 14 is_stmt 0 # main.cpp:13:14
50 .loc 0 13 19 # main.cpp:13:19
52 .loc 0 13 9 # main.cpp:13:9
54 movq
(%rax
,%rcx
,8), %rax
55 .loc 0 13 7 # main.cpp:13:7
57 .loc 0 14 9 is_stmt 1 # main.cpp:14:9
59 .loc 0 14 14 is_stmt 0 # main.cpp:14:14
61 .loc 0 14 19 # main.cpp:14:19
63 .loc 0 14 9 # main.cpp:14:9
65 movq
(%rax
,%rcx
,8), %rax
66 .loc 0 14 7 # main.cpp:14:7
68 .loc 0 16 9 is_stmt 1 # main.cpp:16:9
70 .loc 0 16 14 is_stmt 0 # main.cpp:16:14
72 .loc 0 16 19 # main.cpp:16:19
74 .loc 0 16 9 # main.cpp:16:9
76 movq
(%rax
,%rcx
,8), %rax
77 .loc 0 16 7 # main.cpp:16:7
79 .loc 0 17 9 is_stmt 1 # main.cpp:17:9
81 .loc 0 17 14 is_stmt 0 # main.cpp:17:14
83 .loc 0 17 19 # main.cpp:17:19
85 .loc 0 17 9 # main.cpp:17:9
87 movq
(%rax
,%rcx
,8), %rax
88 .loc 0 17 7 # main.cpp:17:7
90 .loc 0 18 2 is_stmt 1 # main.cpp:18:2
92 .loc 0 18 2 epilogue_begin is_stmt 0 # main.cpp:18:2
98 .size main, .Lfunc_end0-main
101 .section .debug_info.dwo,"e",@progbits
102 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
103 .Ldebug_info_dwo_start0:
104 .short 5 # DWARF version number
105 .byte 6 # DWARF Unit Type
106 .byte 8 # Address Size (in bytes)
107 .long 0 # Offset Into Abbrev. Section
108 .quad 7448148824980338162 # Type Signature
109 .long 31 # Type DIE Offset
110 .byte 1 # Abbrev [1] 0x18:0x33 DW_TAG_type_unit
111 .short 33 # DW_AT_language
112 .long 0 # DW_AT_stmt_list
113 .byte 2 # Abbrev [2] 0x1f:0x22 DW_TAG_structure_type
114 .byte 5 # DW_AT_calling_convention
116 .byte 24 # DW_AT_byte_size
117 .byte 0 # DW_AT_decl_file
118 .byte 1 # DW_AT_decl_line
119 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
121 .long 65 # DW_AT_type
122 .byte 0 # DW_AT_decl_file
123 .byte 2 # DW_AT_decl_line
124 .byte 0 # DW_AT_data_member_location
125 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
127 .long 65 # DW_AT_type
128 .byte 0 # DW_AT_decl_file
129 .byte 3 # DW_AT_decl_line
130 .byte 8 # DW_AT_data_member_location
131 .byte 3 # Abbrev [3] 0x37:0x9 DW_TAG_member
133 .long 65 # DW_AT_type
134 .byte 0 # DW_AT_decl_file
135 .byte 4 # DW_AT_decl_line
136 .byte 16 # DW_AT_data_member_location
137 .byte 0 # End Of Children Mark
138 .byte 4 # Abbrev [4] 0x41:0x5 DW_TAG_pointer_type
139 .long 70 # DW_AT_type
140 .byte 5 # Abbrev [5] 0x46:0x4 DW_TAG_base_type
142 .byte 6 # DW_AT_encoding
143 .byte 1 # DW_AT_byte_size
144 .byte 0 # End Of Children Mark
145 .Ldebug_info_dwo_end0:
146 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
147 .Ldebug_info_dwo_start1:
148 .short 5 # DWARF version number
149 .byte 6 # DWARF Unit Type
150 .byte 8 # Address Size (in bytes)
151 .long 0 # Offset Into Abbrev. Section
152 .quad 5322170643381124694 # Type Signature
153 .long 31 # Type DIE Offset
154 .byte 1 # Abbrev [1] 0x18:0x2a DW_TAG_type_unit
155 .short 33 # DW_AT_language
156 .long 0 # DW_AT_stmt_list
157 .byte 2 # Abbrev [2] 0x1f:0x19 DW_TAG_structure_type
158 .byte 5 # DW_AT_calling_convention
159 .byte 11 # DW_AT_name
160 .byte 16 # DW_AT_byte_size
161 .byte 0 # DW_AT_decl_file
162 .byte 6 # DW_AT_decl_line
163 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
165 .long 56 # DW_AT_type
166 .byte 0 # DW_AT_decl_file
167 .byte 7 # DW_AT_decl_line
168 .byte 0 # DW_AT_data_member_location
169 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
171 .long 56 # DW_AT_type
172 .byte 0 # DW_AT_decl_file
173 .byte 8 # DW_AT_decl_line
174 .byte 8 # DW_AT_data_member_location
175 .byte 0 # End Of Children Mark
176 .byte 4 # Abbrev [4] 0x38:0x5 DW_TAG_pointer_type
177 .long 61 # DW_AT_type
178 .byte 5 # Abbrev [5] 0x3d:0x4 DW_TAG_base_type
180 .byte 6 # DW_AT_encoding
181 .byte 1 # DW_AT_byte_size
182 .byte 0 # End Of Children Mark
183 .Ldebug_info_dwo_end1:
184 .section .debug_abbrev,"",@progbits
185 .byte 1 # Abbreviation Code
186 .byte 74 # DW_TAG_skeleton_unit
187 .byte 0 # DW_CHILDREN_no
188 .byte 16 # DW_AT_stmt_list
189 .byte 23 # DW_FORM_sec_offset
190 .byte 114 # DW_AT_str_offsets_base
191 .byte 23 # DW_FORM_sec_offset
192 .byte 27 # DW_AT_comp_dir
193 .byte 37 # DW_FORM_strx1
194 .ascii "\264B" # DW_AT_GNU_pubnames
195 .byte 25 # DW_FORM_flag_present
196 .byte 118 # DW_AT_dwo_name
197 .byte 37 # DW_FORM_strx1
198 .byte 17 # DW_AT_low_pc
199 .byte 27 # DW_FORM_addrx
200 .byte 18 # DW_AT_high_pc
201 .byte 6 # DW_FORM_data4
202 .byte 115 # DW_AT_addr_base
203 .byte 23 # DW_FORM_sec_offset
207 .section .debug_info,"",@progbits
209 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
211 .short 5 # DWARF version number
212 .byte 4 # DWARF Unit Type
213 .byte 8 # Address Size (in bytes)
214 .long .debug_abbrev # Offset Into Abbrev. Section
215 .quad 4780348136649610820
216 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
217 .long .Lline_table_start0 # DW_AT_stmt_list
218 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
219 .byte 0 # DW_AT_comp_dir
221 .byte 1 # DW_AT_dwo_name
222 .byte 0 # DW_AT_low_pc
223 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
224 .long .Laddr_table_base0 # DW_AT_addr_base
226 .section .debug_str_offsets,"",@progbits
227 .long 12 # Length of String Offsets Set
231 .section .debug_str,"MS",@progbits,1
233 .asciz "." # string offset=0
235 .asciz "main.dwo" # string offset=68
236 .section .debug_str_offsets,"",@progbits
239 .section .debug_str_offsets.dwo,"e",@progbits
240 .long 64 # Length of String Offsets Set
243 .section .debug_str.dwo,"eMS",@progbits,1
245 .asciz "main" # string offset=0
247 .asciz "int" # string offset=5
249 .asciz "argc" # string offset=9
251 .asciz "argv" # string offset=14
253 .asciz "char" # string offset=19
255 .asciz "f" # string offset=24
257 .asciz "c1" # string offset=26
259 .asciz "c2" # string offset=29
261 .asciz "c3" # string offset=32
263 .asciz "Foo" # string offset=35
265 .asciz "f2" # string offset=39
267 .asciz "Foo2" # string offset=42
269 .asciz "clang version 15.0.0" # string offset=47
271 .asciz "main.cpp" # string offset=193
273 .asciz "main.dwo" # string offset=202
274 .section .debug_str_offsets.dwo,"e",@progbits
290 .section .debug_info.dwo,"e",@progbits
291 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
292 .Ldebug_info_dwo_start2:
293 .short 5 # DWARF version number
294 .byte 5 # DWARF Unit Type
295 .byte 8 # Address Size (in bytes)
296 .long 0 # Offset Into Abbrev. Section
297 .quad 4780348136649610820
298 .byte 6 # Abbrev [6] 0x14:0x67 DW_TAG_compile_unit
299 .byte 12 # DW_AT_producer
300 .short 33 # DW_AT_language
301 .byte 13 # DW_AT_name
302 .byte 14 # DW_AT_dwo_name
303 .byte 7 # Abbrev [7] 0x1a:0x3c DW_TAG_subprogram
304 .byte 0 # DW_AT_low_pc
305 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
306 .byte 1 # DW_AT_frame_base
309 .byte 0 # DW_AT_decl_file
310 .byte 10 # DW_AT_decl_line
311 .long 86 # DW_AT_type
313 .byte 8 # Abbrev [8] 0x29:0xb DW_TAG_formal_parameter
314 .byte 2 # DW_AT_location
318 .byte 0 # DW_AT_decl_file
319 .byte 10 # DW_AT_decl_line
320 .long 86 # DW_AT_type
321 .byte 8 # Abbrev [8] 0x34:0xb DW_TAG_formal_parameter
322 .byte 2 # DW_AT_location
326 .byte 0 # DW_AT_decl_file
327 .byte 10 # DW_AT_decl_line
328 .long 90 # DW_AT_type
329 .byte 9 # Abbrev [9] 0x3f:0xb DW_TAG_variable
330 .byte 2 # DW_AT_location
334 .byte 0 # DW_AT_decl_file
335 .byte 11 # DW_AT_decl_line
336 .long 104 # DW_AT_type
337 .byte 9 # Abbrev [9] 0x4a:0xb DW_TAG_variable
338 .byte 2 # DW_AT_location
341 .byte 10 # DW_AT_name
342 .byte 0 # DW_AT_decl_file
343 .byte 15 # DW_AT_decl_line
344 .long 113 # DW_AT_type
345 .byte 0 # End Of Children Mark
346 .byte 5 # Abbrev [5] 0x56:0x4 DW_TAG_base_type
348 .byte 5 # DW_AT_encoding
349 .byte 4 # DW_AT_byte_size
350 .byte 4 # Abbrev [4] 0x5a:0x5 DW_TAG_pointer_type
351 .long 95 # DW_AT_type
352 .byte 4 # Abbrev [4] 0x5f:0x5 DW_TAG_pointer_type
353 .long 100 # DW_AT_type
354 .byte 5 # Abbrev [5] 0x64:0x4 DW_TAG_base_type
356 .byte 6 # DW_AT_encoding
357 .byte 1 # DW_AT_byte_size
358 .byte 10 # Abbrev [10] 0x68:0x9 DW_TAG_structure_type
360 .quad 7448148824980338162 # DW_AT_signature
361 .byte 10 # Abbrev [10] 0x71:0x9 DW_TAG_structure_type
363 .quad 5322170643381124694 # DW_AT_signature
364 .byte 0 # End Of Children Mark
365 .Ldebug_info_dwo_end2:
366 .section .debug_abbrev.dwo,"e",@progbits
367 .byte 1 # Abbreviation Code
368 .byte 65 # DW_TAG_type_unit
369 .byte 1 # DW_CHILDREN_yes
370 .byte 19 # DW_AT_language
371 .byte 5 # DW_FORM_data2
372 .byte 16 # DW_AT_stmt_list
373 .byte 23 # DW_FORM_sec_offset
376 .byte 2 # Abbreviation Code
377 .byte 19 # DW_TAG_structure_type
378 .byte 1 # DW_CHILDREN_yes
379 .byte 54 # DW_AT_calling_convention
380 .byte 11 # DW_FORM_data1
382 .byte 37 # DW_FORM_strx1
383 .byte 11 # DW_AT_byte_size
384 .byte 11 # DW_FORM_data1
385 .byte 58 # DW_AT_decl_file
386 .byte 11 # DW_FORM_data1
387 .byte 59 # DW_AT_decl_line
388 .byte 11 # DW_FORM_data1
391 .byte 3 # Abbreviation Code
392 .byte 13 # DW_TAG_member
393 .byte 0 # DW_CHILDREN_no
395 .byte 37 # DW_FORM_strx1
396 .byte 73 # DW_AT_type
397 .byte 19 # DW_FORM_ref4
398 .byte 58 # DW_AT_decl_file
399 .byte 11 # DW_FORM_data1
400 .byte 59 # DW_AT_decl_line
401 .byte 11 # DW_FORM_data1
402 .byte 56 # DW_AT_data_member_location
403 .byte 11 # DW_FORM_data1
406 .byte 4 # Abbreviation Code
407 .byte 15 # DW_TAG_pointer_type
408 .byte 0 # DW_CHILDREN_no
409 .byte 73 # DW_AT_type
410 .byte 19 # DW_FORM_ref4
413 .byte 5 # Abbreviation Code
414 .byte 36 # DW_TAG_base_type
415 .byte 0 # DW_CHILDREN_no
417 .byte 37 # DW_FORM_strx1
418 .byte 62 # DW_AT_encoding
419 .byte 11 # DW_FORM_data1
420 .byte 11 # DW_AT_byte_size
421 .byte 11 # DW_FORM_data1
424 .byte 6 # Abbreviation Code
425 .byte 17 # DW_TAG_compile_unit
426 .byte 1 # DW_CHILDREN_yes
427 .byte 37 # DW_AT_producer
428 .byte 37 # DW_FORM_strx1
429 .byte 19 # DW_AT_language
430 .byte 5 # DW_FORM_data2
432 .byte 37 # DW_FORM_strx1
433 .byte 118 # DW_AT_dwo_name
434 .byte 37 # DW_FORM_strx1
437 .byte 7 # Abbreviation Code
438 .byte 46 # DW_TAG_subprogram
439 .byte 1 # DW_CHILDREN_yes
440 .byte 17 # DW_AT_low_pc
441 .byte 27 # DW_FORM_addrx
442 .byte 18 # DW_AT_high_pc
443 .byte 6 # DW_FORM_data4
444 .byte 64 # DW_AT_frame_base
445 .byte 24 # DW_FORM_exprloc
447 .byte 37 # DW_FORM_strx1
448 .byte 58 # DW_AT_decl_file
449 .byte 11 # DW_FORM_data1
450 .byte 59 # DW_AT_decl_line
451 .byte 11 # DW_FORM_data1
452 .byte 73 # DW_AT_type
453 .byte 19 # DW_FORM_ref4
454 .byte 63 # DW_AT_external
455 .byte 25 # DW_FORM_flag_present
458 .byte 8 # Abbreviation Code
459 .byte 5 # DW_TAG_formal_parameter
460 .byte 0 # DW_CHILDREN_no
461 .byte 2 # DW_AT_location
462 .byte 24 # DW_FORM_exprloc
464 .byte 37 # DW_FORM_strx1
465 .byte 58 # DW_AT_decl_file
466 .byte 11 # DW_FORM_data1
467 .byte 59 # DW_AT_decl_line
468 .byte 11 # DW_FORM_data1
469 .byte 73 # DW_AT_type
470 .byte 19 # DW_FORM_ref4
473 .byte 9 # Abbreviation Code
474 .byte 52 # DW_TAG_variable
475 .byte 0 # DW_CHILDREN_no
476 .byte 2 # DW_AT_location
477 .byte 24 # DW_FORM_exprloc
479 .byte 37 # DW_FORM_strx1
480 .byte 58 # DW_AT_decl_file
481 .byte 11 # DW_FORM_data1
482 .byte 59 # DW_AT_decl_line
483 .byte 11 # DW_FORM_data1
484 .byte 73 # DW_AT_type
485 .byte 19 # DW_FORM_ref4
488 .byte 10 # Abbreviation Code
489 .byte 19 # DW_TAG_structure_type
490 .byte 0 # DW_CHILDREN_no
491 .byte 60 # DW_AT_declaration
492 .byte 25 # DW_FORM_flag_present
493 .byte 105 # DW_AT_signature
494 .byte 32 # DW_FORM_ref_sig8
498 .section .debug_line.dwo,"e",@progbits
500 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
505 .long .Lprologue_end0-.Lprologue_start0
517 .ascii "dwarf5-types-index-split-test"
530 .byte 0x13, 0xf0, 0x00, 0xd9
531 .byte 0x32, 0xd7, 0xbb, 0x7e
532 .byte 0x69, 0x86, 0xb9, 0x6c
533 .byte 0x18, 0x30, 0x27, 0xb9
536 .section .debug_addr,"",@progbits
537 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
539 .short 5 # DWARF version number
540 .byte 8 # Address size
541 .byte 0 # Segment selector size
545 .section .debug_gnu_pubnames,"",@progbits
546 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
548 .short 2 # DWARF Version
549 .long .Lcu_begin0 # Offset of Compilation Unit Info
550 .long 40 # Compilation Unit Length
551 .long 26 # DIE offset
552 .byte 48 # Attributes: FUNCTION, EXTERNAL
553 .asciz "main" # External Name
556 .section .debug_gnu_pubtypes,"",@progbits
557 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
559 .short 2 # DWARF Version
560 .long .Lcu_begin0 # Offset of Compilation Unit Info
561 .long 40 # Compilation Unit Length
562 .long 86 # DIE offset
563 .byte 144 # Attributes: TYPE, STATIC
564 .asciz "int" # External Name
565 .long 100 # DIE offset
566 .byte 144 # Attributes: TYPE, STATIC
567 .asciz "char" # External Name
568 .long 104 # DIE offset
569 .byte 16 # Attributes: TYPE, EXTERNAL
570 .asciz "Foo" # External Name
571 .long 113 # DIE offset
572 .byte 16 # Attributes: TYPE, EXTERNAL
573 .asciz "Foo2" # External Name
576 .ident "clang version 15.0.0"
577 .section ".note.GNU-stack","",@progbits
579 .section .debug_line,"",@progbits