Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / bolt / test / X86 / Inputs / dwarf5-ftypes-split-dwarf.s
blob08c26ae52e8ec03c9b5837406a7a5364f6b16222
1 # clang++ main.cpp -g2 -gsplit-dwarf=split -gdwarf-5 -fdebug-types-section -S
2 # struct Foo {
3 # char *c1;
4 # char *c2;
5 # char *c3;
6 # };
8 # struct Foo2 {
9 # char *c1;
10 # char *c2;
11 # };
13 # int main(int argc, char *argv[]) {
14 # Foo f;
15 # f.c1 = argv[argc];
16 # f.c2 = argv[argc + 1];
17 # f.c3 = argv[argc + 2];
18 # Foo2 f2;
19 # f.c1 = argv[argc + 3];
20 # f.c2 = argv[argc + 4];
21 # return 0;
22 # }
24 .text
25 .file "main.cpp"
26 .globl main # -- Begin function main
27 .p2align 4, 0x90
28 .type main,@function
29 main: # @main
30 .Lfunc_begin0:
31 .file 0 "." "main.cpp" md5 0xa832f464c853be0f9c52da29cd913807
32 .loc 0 12 0 # main.cpp:12:0
33 .cfi_startproc
34 # %bb.0: # %entry
35 pushq %rbp
36 .cfi_def_cfa_offset 16
37 .cfi_offset %rbp, -16
38 movq %rsp, %rbp
39 .cfi_def_cfa_register %rbp
40 movl $0, -4(%rbp)
41 movl %edi, -8(%rbp)
42 movq %rsi, -16(%rbp)
43 .Ltmp0:
44 .loc 0 14 10 prologue_end # main.cpp:14:10
45 movq -16(%rbp), %rax
46 movslq -8(%rbp), %rcx
47 movq (%rax,%rcx,8), %rax
48 .loc 0 14 8 is_stmt 0 # main.cpp:14:8
49 movq %rax, -40(%rbp)
50 .loc 0 15 10 is_stmt 1 # main.cpp:15:10
51 movq -16(%rbp), %rax
52 .loc 0 15 15 is_stmt 0 # main.cpp:15:15
53 movl -8(%rbp), %ecx
54 .loc 0 15 20 # main.cpp:15:20
55 addl $1, %ecx
56 .loc 0 15 10 # main.cpp:15:10
57 movslq %ecx, %rcx
58 movq (%rax,%rcx,8), %rax
59 .loc 0 15 8 # main.cpp:15:8
60 movq %rax, -32(%rbp)
61 .loc 0 16 10 is_stmt 1 # main.cpp:16:10
62 movq -16(%rbp), %rax
63 .loc 0 16 15 is_stmt 0 # main.cpp:16:15
64 movl -8(%rbp), %ecx
65 .loc 0 16 20 # main.cpp:16:20
66 addl $2, %ecx
67 .loc 0 16 10 # main.cpp:16:10
68 movslq %ecx, %rcx
69 movq (%rax,%rcx,8), %rax
70 .loc 0 16 8 # main.cpp:16:8
71 movq %rax, -24(%rbp)
72 .loc 0 18 10 is_stmt 1 # main.cpp:18:10
73 movq -16(%rbp), %rax
74 .loc 0 18 15 is_stmt 0 # main.cpp:18:15
75 movl -8(%rbp), %ecx
76 .loc 0 18 20 # main.cpp:18:20
77 addl $3, %ecx
78 .loc 0 18 10 # main.cpp:18:10
79 movslq %ecx, %rcx
80 movq (%rax,%rcx,8), %rax
81 .loc 0 18 8 # main.cpp:18:8
82 movq %rax, -40(%rbp)
83 .loc 0 19 10 is_stmt 1 # main.cpp:19:10
84 movq -16(%rbp), %rax
85 .loc 0 19 15 is_stmt 0 # main.cpp:19:15
86 movl -8(%rbp), %ecx
87 .loc 0 19 20 # main.cpp:19:20
88 addl $4, %ecx
89 .loc 0 19 10 # main.cpp:19:10
90 movslq %ecx, %rcx
91 movq (%rax,%rcx,8), %rax
92 .loc 0 19 8 # main.cpp:19:8
93 movq %rax, -32(%rbp)
94 .loc 0 20 3 is_stmt 1 # main.cpp:20:3
95 xorl %eax, %eax
96 popq %rbp
97 .cfi_def_cfa %rsp, 8
98 retq
99 .Ltmp1:
100 .Lfunc_end0:
101 .size main, .Lfunc_end0-main
102 .cfi_endproc
103 # -- End function
104 .section .debug_info.dwo,"e",@progbits
105 .long .Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
106 .Ldebug_info_dwo_start0:
107 .short 5 # DWARF version number
108 .byte 6 # DWARF Unit Type
109 .byte 8 # Address Size (in bytes)
110 .long 0 # Offset Into Abbrev. Section
111 .quad 7448148824980338162 # Type Signature
112 .long 31 # Type DIE Offset
113 .byte 1 # Abbrev [1] 0x18:0x33 DW_TAG_type_unit
114 .short 33 # DW_AT_language
115 .long 0 # DW_AT_stmt_list
116 .byte 2 # Abbrev [2] 0x1f:0x22 DW_TAG_structure_type
117 .byte 5 # DW_AT_calling_convention
118 .byte 9 # DW_AT_name
119 .byte 24 # DW_AT_byte_size
120 .byte 0 # DW_AT_decl_file
121 .byte 1 # DW_AT_decl_line
122 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
123 .byte 6 # DW_AT_name
124 .long 65 # DW_AT_type
125 .byte 0 # DW_AT_decl_file
126 .byte 2 # DW_AT_decl_line
127 .byte 0 # DW_AT_data_member_location
128 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
129 .byte 7 # DW_AT_name
130 .long 65 # DW_AT_type
131 .byte 0 # DW_AT_decl_file
132 .byte 3 # DW_AT_decl_line
133 .byte 8 # DW_AT_data_member_location
134 .byte 3 # Abbrev [3] 0x37:0x9 DW_TAG_member
135 .byte 8 # DW_AT_name
136 .long 65 # DW_AT_type
137 .byte 0 # DW_AT_decl_file
138 .byte 4 # DW_AT_decl_line
139 .byte 16 # DW_AT_data_member_location
140 .byte 0 # End Of Children Mark
141 .byte 4 # Abbrev [4] 0x41:0x5 DW_TAG_pointer_type
142 .long 70 # DW_AT_type
143 .byte 5 # Abbrev [5] 0x46:0x4 DW_TAG_base_type
144 .byte 4 # DW_AT_name
145 .byte 6 # DW_AT_encoding
146 .byte 1 # DW_AT_byte_size
147 .byte 0 # End Of Children Mark
148 .Ldebug_info_dwo_end0:
149 .long .Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
150 .Ldebug_info_dwo_start1:
151 .short 5 # DWARF version number
152 .byte 6 # DWARF Unit Type
153 .byte 8 # Address Size (in bytes)
154 .long 0 # Offset Into Abbrev. Section
155 .quad 5322170643381124694 # Type Signature
156 .long 31 # Type DIE Offset
157 .byte 1 # Abbrev [1] 0x18:0x2a DW_TAG_type_unit
158 .short 33 # DW_AT_language
159 .long 0 # DW_AT_stmt_list
160 .byte 2 # Abbrev [2] 0x1f:0x19 DW_TAG_structure_type
161 .byte 5 # DW_AT_calling_convention
162 .byte 11 # DW_AT_name
163 .byte 16 # DW_AT_byte_size
164 .byte 0 # DW_AT_decl_file
165 .byte 7 # DW_AT_decl_line
166 .byte 3 # Abbrev [3] 0x25:0x9 DW_TAG_member
167 .byte 6 # DW_AT_name
168 .long 56 # DW_AT_type
169 .byte 0 # DW_AT_decl_file
170 .byte 8 # DW_AT_decl_line
171 .byte 0 # DW_AT_data_member_location
172 .byte 3 # Abbrev [3] 0x2e:0x9 DW_TAG_member
173 .byte 7 # DW_AT_name
174 .long 56 # DW_AT_type
175 .byte 0 # DW_AT_decl_file
176 .byte 9 # DW_AT_decl_line
177 .byte 8 # DW_AT_data_member_location
178 .byte 0 # End Of Children Mark
179 .byte 4 # Abbrev [4] 0x38:0x5 DW_TAG_pointer_type
180 .long 61 # DW_AT_type
181 .byte 5 # Abbrev [5] 0x3d:0x4 DW_TAG_base_type
182 .byte 4 # DW_AT_name
183 .byte 6 # DW_AT_encoding
184 .byte 1 # DW_AT_byte_size
185 .byte 0 # End Of Children Mark
186 .Ldebug_info_dwo_end1:
187 .section .debug_abbrev,"",@progbits
188 .byte 1 # Abbreviation Code
189 .byte 74 # DW_TAG_skeleton_unit
190 .byte 0 # DW_CHILDREN_no
191 .byte 16 # DW_AT_stmt_list
192 .byte 23 # DW_FORM_sec_offset
193 .byte 114 # DW_AT_str_offsets_base
194 .byte 23 # DW_FORM_sec_offset
195 .byte 27 # DW_AT_comp_dir
196 .byte 37 # DW_FORM_strx1
197 .ascii "\264B" # DW_AT_GNU_pubnames
198 .byte 25 # DW_FORM_flag_present
199 .byte 118 # DW_AT_dwo_name
200 .byte 37 # DW_FORM_strx1
201 .byte 17 # DW_AT_low_pc
202 .byte 27 # DW_FORM_addrx
203 .byte 18 # DW_AT_high_pc
204 .byte 6 # DW_FORM_data4
205 .byte 115 # DW_AT_addr_base
206 .byte 23 # DW_FORM_sec_offset
207 .byte 0 # EOM(1)
208 .byte 0 # EOM(2)
209 .byte 0 # EOM(3)
210 .section .debug_info,"",@progbits
211 .Lcu_begin0:
212 .long .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
213 .Ldebug_info_start0:
214 .short 5 # DWARF version number
215 .byte 4 # DWARF Unit Type
216 .byte 8 # Address Size (in bytes)
217 .long .debug_abbrev # Offset Into Abbrev. Section
218 .quad 4780348136649610820
219 .byte 1 # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
220 .long .Lline_table_start0 # DW_AT_stmt_list
221 .long .Lstr_offsets_base0 # DW_AT_str_offsets_base
222 .byte 0 # DW_AT_comp_dir
223 # DW_AT_GNU_pubnames
224 .byte 1 # DW_AT_dwo_name
225 .byte 0 # DW_AT_low_pc
226 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
227 .long .Laddr_table_base0 # DW_AT_addr_base
228 .Ldebug_info_end0:
229 .section .debug_str_offsets,"",@progbits
230 .long 12 # Length of String Offsets Set
231 .short 5
232 .short 0
233 .Lstr_offsets_base0:
234 .section .debug_str,"MS",@progbits,1
235 .Lskel_string0:
236 .asciz "." # string offset=0
237 .Lskel_string1:
238 .asciz "main.dwo" # string offset=38
239 .section .debug_str_offsets,"",@progbits
240 .long .Lskel_string0
241 .long .Lskel_string1
242 .section .debug_str_offsets.dwo,"e",@progbits
243 .long 64 # Length of String Offsets Set
244 .short 5
245 .short 0
246 .section .debug_str.dwo,"eMS",@progbits,1
247 .Linfo_string0:
248 .asciz "main" # string offset=0
249 .Linfo_string1:
250 .asciz "int" # string offset=5
251 .Linfo_string2:
252 .asciz "argc" # string offset=9
253 .Linfo_string3:
254 .asciz "argv" # string offset=14
255 .Linfo_string4:
256 .asciz "char" # string offset=19
257 .Linfo_string5:
258 .asciz "f" # string offset=24
259 .Linfo_string6:
260 .asciz "c1" # string offset=26
261 .Linfo_string7:
262 .asciz "c2" # string offset=29
263 .Linfo_string8:
264 .asciz "c3" # string offset=32
265 .Linfo_string9:
266 .asciz "Foo" # string offset=35
267 .Linfo_string10:
268 .asciz "f2" # string offset=39
269 .Linfo_string11:
270 .asciz "Foo2" # string offset=42
271 .Linfo_string12:
272 .asciz "clang version 15.0.0" # string offset=47
273 .Linfo_string13:
274 .asciz "main.cpp" # string offset=68
275 .Linfo_string14:
276 .asciz "main.dwo" # string offset=77
277 .section .debug_str_offsets.dwo,"e",@progbits
278 .long 0
279 .long 5
280 .long 9
281 .long 14
282 .long 19
283 .long 24
284 .long 26
285 .long 29
286 .long 32
287 .long 35
288 .long 39
289 .long 42
290 .long 47
291 .long 68
292 .long 77
293 .section .debug_info.dwo,"e",@progbits
294 .long .Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
295 .Ldebug_info_dwo_start2:
296 .short 5 # DWARF version number
297 .byte 5 # DWARF Unit Type
298 .byte 8 # Address Size (in bytes)
299 .long 0 # Offset Into Abbrev. Section
300 .quad 4780348136649610820
301 .byte 6 # Abbrev [6] 0x14:0x67 DW_TAG_compile_unit
302 .byte 12 # DW_AT_producer
303 .short 33 # DW_AT_language
304 .byte 13 # DW_AT_name
305 .byte 14 # DW_AT_dwo_name
306 .byte 7 # Abbrev [7] 0x1a:0x3c DW_TAG_subprogram
307 .byte 0 # DW_AT_low_pc
308 .long .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
309 .byte 1 # DW_AT_frame_base
310 .byte 86
311 .byte 0 # DW_AT_name
312 .byte 0 # DW_AT_decl_file
313 .byte 12 # DW_AT_decl_line
314 .long 86 # DW_AT_type
315 # DW_AT_external
316 .byte 8 # Abbrev [8] 0x29:0xb DW_TAG_formal_parameter
317 .byte 2 # DW_AT_location
318 .byte 145
319 .byte 120
320 .byte 2 # DW_AT_name
321 .byte 0 # DW_AT_decl_file
322 .byte 12 # DW_AT_decl_line
323 .long 86 # DW_AT_type
324 .byte 8 # Abbrev [8] 0x34:0xb DW_TAG_formal_parameter
325 .byte 2 # DW_AT_location
326 .byte 145
327 .byte 112
328 .byte 3 # DW_AT_name
329 .byte 0 # DW_AT_decl_file
330 .byte 12 # DW_AT_decl_line
331 .long 90 # DW_AT_type
332 .byte 9 # Abbrev [9] 0x3f:0xb DW_TAG_variable
333 .byte 2 # DW_AT_location
334 .byte 145
335 .byte 88
336 .byte 5 # DW_AT_name
337 .byte 0 # DW_AT_decl_file
338 .byte 13 # DW_AT_decl_line
339 .long 104 # DW_AT_type
340 .byte 9 # Abbrev [9] 0x4a:0xb DW_TAG_variable
341 .byte 2 # DW_AT_location
342 .byte 145
343 .byte 72
344 .byte 10 # DW_AT_name
345 .byte 0 # DW_AT_decl_file
346 .byte 17 # DW_AT_decl_line
347 .long 113 # DW_AT_type
348 .byte 0 # End Of Children Mark
349 .byte 5 # Abbrev [5] 0x56:0x4 DW_TAG_base_type
350 .byte 1 # DW_AT_name
351 .byte 5 # DW_AT_encoding
352 .byte 4 # DW_AT_byte_size
353 .byte 4 # Abbrev [4] 0x5a:0x5 DW_TAG_pointer_type
354 .long 95 # DW_AT_type
355 .byte 4 # Abbrev [4] 0x5f:0x5 DW_TAG_pointer_type
356 .long 100 # DW_AT_type
357 .byte 5 # Abbrev [5] 0x64:0x4 DW_TAG_base_type
358 .byte 4 # DW_AT_name
359 .byte 6 # DW_AT_encoding
360 .byte 1 # DW_AT_byte_size
361 .byte 10 # Abbrev [10] 0x68:0x9 DW_TAG_structure_type
362 # DW_AT_declaration
363 .quad 7448148824980338162 # DW_AT_signature
364 .byte 10 # Abbrev [10] 0x71:0x9 DW_TAG_structure_type
365 # DW_AT_declaration
366 .quad 5322170643381124694 # DW_AT_signature
367 .byte 0 # End Of Children Mark
368 .Ldebug_info_dwo_end2:
369 .section .debug_abbrev.dwo,"e",@progbits
370 .byte 1 # Abbreviation Code
371 .byte 65 # DW_TAG_type_unit
372 .byte 1 # DW_CHILDREN_yes
373 .byte 19 # DW_AT_language
374 .byte 5 # DW_FORM_data2
375 .byte 16 # DW_AT_stmt_list
376 .byte 23 # DW_FORM_sec_offset
377 .byte 0 # EOM(1)
378 .byte 0 # EOM(2)
379 .byte 2 # Abbreviation Code
380 .byte 19 # DW_TAG_structure_type
381 .byte 1 # DW_CHILDREN_yes
382 .byte 54 # DW_AT_calling_convention
383 .byte 11 # DW_FORM_data1
384 .byte 3 # DW_AT_name
385 .byte 37 # DW_FORM_strx1
386 .byte 11 # DW_AT_byte_size
387 .byte 11 # DW_FORM_data1
388 .byte 58 # DW_AT_decl_file
389 .byte 11 # DW_FORM_data1
390 .byte 59 # DW_AT_decl_line
391 .byte 11 # DW_FORM_data1
392 .byte 0 # EOM(1)
393 .byte 0 # EOM(2)
394 .byte 3 # Abbreviation Code
395 .byte 13 # DW_TAG_member
396 .byte 0 # DW_CHILDREN_no
397 .byte 3 # DW_AT_name
398 .byte 37 # DW_FORM_strx1
399 .byte 73 # DW_AT_type
400 .byte 19 # DW_FORM_ref4
401 .byte 58 # DW_AT_decl_file
402 .byte 11 # DW_FORM_data1
403 .byte 59 # DW_AT_decl_line
404 .byte 11 # DW_FORM_data1
405 .byte 56 # DW_AT_data_member_location
406 .byte 11 # DW_FORM_data1
407 .byte 0 # EOM(1)
408 .byte 0 # EOM(2)
409 .byte 4 # Abbreviation Code
410 .byte 15 # DW_TAG_pointer_type
411 .byte 0 # DW_CHILDREN_no
412 .byte 73 # DW_AT_type
413 .byte 19 # DW_FORM_ref4
414 .byte 0 # EOM(1)
415 .byte 0 # EOM(2)
416 .byte 5 # Abbreviation Code
417 .byte 36 # DW_TAG_base_type
418 .byte 0 # DW_CHILDREN_no
419 .byte 3 # DW_AT_name
420 .byte 37 # DW_FORM_strx1
421 .byte 62 # DW_AT_encoding
422 .byte 11 # DW_FORM_data1
423 .byte 11 # DW_AT_byte_size
424 .byte 11 # DW_FORM_data1
425 .byte 0 # EOM(1)
426 .byte 0 # EOM(2)
427 .byte 6 # Abbreviation Code
428 .byte 17 # DW_TAG_compile_unit
429 .byte 1 # DW_CHILDREN_yes
430 .byte 37 # DW_AT_producer
431 .byte 37 # DW_FORM_strx1
432 .byte 19 # DW_AT_language
433 .byte 5 # DW_FORM_data2
434 .byte 3 # DW_AT_name
435 .byte 37 # DW_FORM_strx1
436 .byte 118 # DW_AT_dwo_name
437 .byte 37 # DW_FORM_strx1
438 .byte 0 # EOM(1)
439 .byte 0 # EOM(2)
440 .byte 7 # Abbreviation Code
441 .byte 46 # DW_TAG_subprogram
442 .byte 1 # DW_CHILDREN_yes
443 .byte 17 # DW_AT_low_pc
444 .byte 27 # DW_FORM_addrx
445 .byte 18 # DW_AT_high_pc
446 .byte 6 # DW_FORM_data4
447 .byte 64 # DW_AT_frame_base
448 .byte 24 # DW_FORM_exprloc
449 .byte 3 # DW_AT_name
450 .byte 37 # DW_FORM_strx1
451 .byte 58 # DW_AT_decl_file
452 .byte 11 # DW_FORM_data1
453 .byte 59 # DW_AT_decl_line
454 .byte 11 # DW_FORM_data1
455 .byte 73 # DW_AT_type
456 .byte 19 # DW_FORM_ref4
457 .byte 63 # DW_AT_external
458 .byte 25 # DW_FORM_flag_present
459 .byte 0 # EOM(1)
460 .byte 0 # EOM(2)
461 .byte 8 # Abbreviation Code
462 .byte 5 # DW_TAG_formal_parameter
463 .byte 0 # DW_CHILDREN_no
464 .byte 2 # DW_AT_location
465 .byte 24 # DW_FORM_exprloc
466 .byte 3 # DW_AT_name
467 .byte 37 # DW_FORM_strx1
468 .byte 58 # DW_AT_decl_file
469 .byte 11 # DW_FORM_data1
470 .byte 59 # DW_AT_decl_line
471 .byte 11 # DW_FORM_data1
472 .byte 73 # DW_AT_type
473 .byte 19 # DW_FORM_ref4
474 .byte 0 # EOM(1)
475 .byte 0 # EOM(2)
476 .byte 9 # Abbreviation Code
477 .byte 52 # DW_TAG_variable
478 .byte 0 # DW_CHILDREN_no
479 .byte 2 # DW_AT_location
480 .byte 24 # DW_FORM_exprloc
481 .byte 3 # DW_AT_name
482 .byte 37 # DW_FORM_strx1
483 .byte 58 # DW_AT_decl_file
484 .byte 11 # DW_FORM_data1
485 .byte 59 # DW_AT_decl_line
486 .byte 11 # DW_FORM_data1
487 .byte 73 # DW_AT_type
488 .byte 19 # DW_FORM_ref4
489 .byte 0 # EOM(1)
490 .byte 0 # EOM(2)
491 .byte 10 # Abbreviation Code
492 .byte 19 # DW_TAG_structure_type
493 .byte 0 # DW_CHILDREN_no
494 .byte 60 # DW_AT_declaration
495 .byte 25 # DW_FORM_flag_present
496 .byte 105 # DW_AT_signature
497 .byte 32 # DW_FORM_ref_sig8
498 .byte 0 # EOM(1)
499 .byte 0 # EOM(2)
500 .byte 0 # EOM(3)
501 .section .debug_line.dwo,"e",@progbits
502 .Ltmp2:
503 .long .Ldebug_line_end0-.Ldebug_line_start0 # unit length
504 .Ldebug_line_start0:
505 .short 5
506 .byte 8
507 .byte 0
508 .long .Lprologue_end0-.Lprologue_start0
509 .Lprologue_start0:
510 .byte 1
511 .byte 1
512 .byte 1
513 .byte -5
514 .byte 14
515 .byte 1
516 .byte 1
517 .byte 1
518 .byte 8
519 .byte 1
520 .ascii "/home/ayermolo/local/tasks/T104766233"
521 .byte 0
522 .byte 3
523 .byte 1
524 .byte 8
525 .byte 2
526 .byte 15
527 .byte 5
528 .byte 30
529 .byte 1
530 .ascii "main.cpp"
531 .byte 0
532 .byte 0
533 .byte 0xa8, 0x32, 0xf4, 0x64
534 .byte 0xc8, 0x53, 0xbe, 0x0f
535 .byte 0x9c, 0x52, 0xda, 0x29
536 .byte 0xcd, 0x91, 0x38, 0x07
537 .Lprologue_end0:
538 .Ldebug_line_end0:
539 .section .debug_addr,"",@progbits
540 .long .Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
541 .Ldebug_addr_start0:
542 .short 5 # DWARF version number
543 .byte 8 # Address size
544 .byte 0 # Segment selector size
545 .Laddr_table_base0:
546 .quad .Lfunc_begin0
547 .Ldebug_addr_end0:
548 .section .debug_gnu_pubnames,"",@progbits
549 .long .LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
550 .LpubNames_start0:
551 .short 2 # DWARF Version
552 .long .Lcu_begin0 # Offset of Compilation Unit Info
553 .long 40 # Compilation Unit Length
554 .long 26 # DIE offset
555 .byte 48 # Attributes: FUNCTION, EXTERNAL
556 .asciz "main" # External Name
557 .long 0 # End Mark
558 .LpubNames_end0:
559 .section .debug_gnu_pubtypes,"",@progbits
560 .long .LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
561 .LpubTypes_start0:
562 .short 2 # DWARF Version
563 .long .Lcu_begin0 # Offset of Compilation Unit Info
564 .long 40 # Compilation Unit Length
565 .long 104 # DIE offset
566 .byte 16 # Attributes: TYPE, EXTERNAL
567 .asciz "Foo" # External Name
568 .long 113 # DIE offset
569 .byte 16 # Attributes: TYPE, EXTERNAL
570 .asciz "Foo2" # External Name
571 .long 86 # DIE offset
572 .byte 144 # Attributes: TYPE, STATIC
573 .asciz "int" # External Name
574 .long 100 # DIE offset
575 .byte 144 # Attributes: TYPE, STATIC
576 .asciz "char" # External Name
577 .long 0 # End Mark
578 .LpubTypes_end0:
579 .ident "clang version 15.0.0"
580 .section ".note.GNU-stack","",@progbits
581 .addrsig
582 .section .debug_line,"",@progbits
583 .Lline_table_start0: