1# clang++ main.cpp -g2 -gsplit-dwarf=split -gdwarf-4 -fdebug-types-section
2# struct Foo {
3#   char *c1;
4#   char *c2;
5#   char *c3;
6# };
7#
8# struct Foo2 {
9#   char *c1;
10#   char *c2;
11# };
12#
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# }
23
24	.text
25	.file	"main.cpp"
26	.globl	main                            # -- Begin function main
27	.p2align	4, 0x90
28	.type	main,@function
29main:                                   # @main
30.Lfunc_begin0:
31	.file	1 "." "main.cpp"
32	.loc	1 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	1 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	1 14 8 is_stmt 0                # main.cpp:14:8
49	movq	%rax, -40(%rbp)
50	.loc	1 15 10 is_stmt 1               # main.cpp:15:10
51	movq	-16(%rbp), %rax
52	.loc	1 15 15 is_stmt 0               # main.cpp:15:15
53	movl	-8(%rbp), %ecx
54	.loc	1 15 20                         # main.cpp:15:20
55	addl	$1, %ecx
56	.loc	1 15 10                         # main.cpp:15:10
57	movslq	%ecx, %rcx
58	movq	(%rax,%rcx,8), %rax
59	.loc	1 15 8                          # main.cpp:15:8
60	movq	%rax, -32(%rbp)
61	.loc	1 16 10 is_stmt 1               # main.cpp:16:10
62	movq	-16(%rbp), %rax
63	.loc	1 16 15 is_stmt 0               # main.cpp:16:15
64	movl	-8(%rbp), %ecx
65	.loc	1 16 20                         # main.cpp:16:20
66	addl	$2, %ecx
67	.loc	1 16 10                         # main.cpp:16:10
68	movslq	%ecx, %rcx
69	movq	(%rax,%rcx,8), %rax
70	.loc	1 16 8                          # main.cpp:16:8
71	movq	%rax, -24(%rbp)
72	.loc	1 18 10 is_stmt 1               # main.cpp:18:10
73	movq	-16(%rbp), %rax
74	.loc	1 18 15 is_stmt 0               # main.cpp:18:15
75	movl	-8(%rbp), %ecx
76	.loc	1 18 20                         # main.cpp:18:20
77	addl	$3, %ecx
78	.loc	1 18 10                         # main.cpp:18:10
79	movslq	%ecx, %rcx
80	movq	(%rax,%rcx,8), %rax
81	.loc	1 18 8                          # main.cpp:18:8
82	movq	%rax, -40(%rbp)
83	.loc	1 19 10 is_stmt 1               # main.cpp:19:10
84	movq	-16(%rbp), %rax
85	.loc	1 19 15 is_stmt 0               # main.cpp:19:15
86	movl	-8(%rbp), %ecx
87	.loc	1 19 20                         # main.cpp:19:20
88	addl	$4, %ecx
89	.loc	1 19 10                         # main.cpp:19:10
90	movslq	%ecx, %rcx
91	movq	(%rax,%rcx,8), %rax
92	.loc	1 19 8                          # main.cpp:19:8
93	movq	%rax, -32(%rbp)
94	.loc	1 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_types.dwo,"e",@progbits
105	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
106.Ldebug_info_dwo_start0:
107	.short	4                               # DWARF version number
108	.long	0                               # Offset Into Abbrev. Section
109	.byte	8                               # Address Size (in bytes)
110	.quad	7448148824980338162             # Type Signature
111	.long	30                              # Type DIE Offset
112	.byte	1                               # Abbrev [1] 0x17:0x33 DW_TAG_type_unit
113	.short	33                              # DW_AT_language
114	.long	0                               # DW_AT_stmt_list
115	.byte	2                               # Abbrev [2] 0x1e:0x22 DW_TAG_structure_type
116	.byte	5                               # DW_AT_calling_convention
117	.byte	9                               # DW_AT_name
118	.byte	24                              # DW_AT_byte_size
119	.byte	1                               # DW_AT_decl_file
120	.byte	1                               # DW_AT_decl_line
121	.byte	3                               # Abbrev [3] 0x24:0x9 DW_TAG_member
122	.byte	6                               # DW_AT_name
123	.long	64                              # DW_AT_type
124	.byte	1                               # DW_AT_decl_file
125	.byte	2                               # DW_AT_decl_line
126	.byte	0                               # DW_AT_data_member_location
127	.byte	3                               # Abbrev [3] 0x2d:0x9 DW_TAG_member
128	.byte	7                               # DW_AT_name
129	.long	64                              # DW_AT_type
130	.byte	1                               # DW_AT_decl_file
131	.byte	3                               # DW_AT_decl_line
132	.byte	8                               # DW_AT_data_member_location
133	.byte	3                               # Abbrev [3] 0x36:0x9 DW_TAG_member
134	.byte	8                               # DW_AT_name
135	.long	64                              # DW_AT_type
136	.byte	1                               # DW_AT_decl_file
137	.byte	4                               # DW_AT_decl_line
138	.byte	16                              # DW_AT_data_member_location
139	.byte	0                               # End Of Children Mark
140	.byte	4                               # Abbrev [4] 0x40:0x5 DW_TAG_pointer_type
141	.long	69                              # DW_AT_type
142	.byte	5                               # Abbrev [5] 0x45:0x4 DW_TAG_base_type
143	.byte	4                               # DW_AT_name
144	.byte	6                               # DW_AT_encoding
145	.byte	1                               # DW_AT_byte_size
146	.byte	0                               # End Of Children Mark
147.Ldebug_info_dwo_end0:
148	.long	.Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
149.Ldebug_info_dwo_start1:
150	.short	4                               # DWARF version number
151	.long	0                               # Offset Into Abbrev. Section
152	.byte	8                               # Address Size (in bytes)
153	.quad	5322170643381124694             # Type Signature
154	.long	30                              # Type DIE Offset
155	.byte	1                               # Abbrev [1] 0x17:0x2a DW_TAG_type_unit
156	.short	33                              # DW_AT_language
157	.long	0                               # DW_AT_stmt_list
158	.byte	2                               # Abbrev [2] 0x1e:0x19 DW_TAG_structure_type
159	.byte	5                               # DW_AT_calling_convention
160	.byte	11                              # DW_AT_name
161	.byte	16                              # DW_AT_byte_size
162	.byte	1                               # DW_AT_decl_file
163	.byte	7                               # DW_AT_decl_line
164	.byte	3                               # Abbrev [3] 0x24:0x9 DW_TAG_member
165	.byte	6                               # DW_AT_name
166	.long	55                              # DW_AT_type
167	.byte	1                               # DW_AT_decl_file
168	.byte	8                               # DW_AT_decl_line
169	.byte	0                               # DW_AT_data_member_location
170	.byte	3                               # Abbrev [3] 0x2d:0x9 DW_TAG_member
171	.byte	7                               # DW_AT_name
172	.long	55                              # DW_AT_type
173	.byte	1                               # DW_AT_decl_file
174	.byte	9                               # DW_AT_decl_line
175	.byte	8                               # DW_AT_data_member_location
176	.byte	0                               # End Of Children Mark
177	.byte	4                               # Abbrev [4] 0x37:0x5 DW_TAG_pointer_type
178	.long	60                              # DW_AT_type
179	.byte	5                               # Abbrev [5] 0x3c:0x4 DW_TAG_base_type
180	.byte	4                               # DW_AT_name
181	.byte	6                               # DW_AT_encoding
182	.byte	1                               # DW_AT_byte_size
183	.byte	0                               # End Of Children Mark
184.Ldebug_info_dwo_end1:
185	.section	.debug_abbrev,"",@progbits
186	.byte	1                               # Abbreviation Code
187	.byte	17                              # DW_TAG_compile_unit
188	.byte	0                               # DW_CHILDREN_no
189	.byte	16                              # DW_AT_stmt_list
190	.byte	23                              # DW_FORM_sec_offset
191	.byte	27                              # DW_AT_comp_dir
192	.byte	14                              # DW_FORM_strp
193	.ascii	"\264B"                         # DW_AT_GNU_pubnames
194	.byte	25                              # DW_FORM_flag_present
195	.ascii	"\260B"                         # DW_AT_GNU_dwo_name
196	.byte	14                              # DW_FORM_strp
197	.ascii	"\261B"                         # DW_AT_GNU_dwo_id
198	.byte	7                               # DW_FORM_data8
199	.byte	17                              # DW_AT_low_pc
200	.byte	1                               # DW_FORM_addr
201	.byte	18                              # DW_AT_high_pc
202	.byte	6                               # DW_FORM_data4
203	.ascii	"\263B"                         # DW_AT_GNU_addr_base
204	.byte	23                              # DW_FORM_sec_offset
205	.byte	0                               # EOM(1)
206	.byte	0                               # EOM(2)
207	.byte	0                               # EOM(3)
208	.section	.debug_info,"",@progbits
209.Lcu_begin0:
210	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
211.Ldebug_info_start0:
212	.short	4                               # DWARF version number
213	.long	.debug_abbrev                   # Offset Into Abbrev. Section
214	.byte	8                               # Address Size (in bytes)
215	.byte	1                               # Abbrev [1] 0xb:0x25 DW_TAG_compile_unit
216	.long	.Lline_table_start0             # DW_AT_stmt_list
217	.long	.Lskel_string0                  # DW_AT_comp_dir
218                                        # DW_AT_GNU_pubnames
219	.long	.Lskel_string1                  # DW_AT_GNU_dwo_name
220	.quad	4780348136649610820             # DW_AT_GNU_dwo_id
221	.quad	.Lfunc_begin0                   # DW_AT_low_pc
222	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
223	.long	.Laddr_table_base0              # DW_AT_GNU_addr_base
224.Ldebug_info_end0:
225	.section	.debug_str,"MS",@progbits,1
226.Lskel_string0:
227	.asciz	"." # string offset=0
228.Lskel_string1:
229	.asciz	"main.dwo"                      # string offset=38
230	.section	.debug_str.dwo,"eMS",@progbits,1
231.Linfo_string0:
232	.asciz	"main"                          # string offset=0
233.Linfo_string1:
234	.asciz	"int"                           # string offset=5
235.Linfo_string2:
236	.asciz	"argc"                          # string offset=9
237.Linfo_string3:
238	.asciz	"argv"                          # string offset=14
239.Linfo_string4:
240	.asciz	"char"                          # string offset=19
241.Linfo_string5:
242	.asciz	"f"                             # string offset=24
243.Linfo_string6:
244	.asciz	"c1"                            # string offset=26
245.Linfo_string7:
246	.asciz	"c2"                            # string offset=29
247.Linfo_string8:
248	.asciz	"c3"                            # string offset=32
249.Linfo_string9:
250	.asciz	"Foo"                           # string offset=35
251.Linfo_string10:
252	.asciz	"f2"                            # string offset=39
253.Linfo_string11:
254	.asciz	"Foo2"                          # string offset=42
255.Linfo_string12:
256	.asciz	"clang version 15.0.0" 			# string offset=47
257.Linfo_string13:
258	.asciz	"main.cpp"                      # string offset=68
259.Linfo_string14:
260	.asciz	"main.dwo"                      # string offset=77
261	.section	.debug_str_offsets.dwo,"e",@progbits
262	.long	0
263	.long	5
264	.long	9
265	.long	14
266	.long	19
267	.long	24
268	.long	26
269	.long	29
270	.long	32
271	.long	35
272	.long	39
273	.long	42
274	.long	47
275	.long	68
276	.long	77
277	.section	.debug_info.dwo,"e",@progbits
278	.long	.Ldebug_info_dwo_end2-.Ldebug_info_dwo_start2 # Length of Unit
279.Ldebug_info_dwo_start2:
280	.short	4                               # DWARF version number
281	.long	0                               # Offset Into Abbrev. Section
282	.byte	8                               # Address Size (in bytes)
283	.byte	6                               # Abbrev [6] 0xb:0x6f DW_TAG_compile_unit
284	.byte	12                              # DW_AT_producer
285	.short	33                              # DW_AT_language
286	.byte	13                              # DW_AT_name
287	.byte	14                              # DW_AT_GNU_dwo_name
288	.quad	4780348136649610820             # DW_AT_GNU_dwo_id
289	.byte	7                               # Abbrev [7] 0x19:0x3c DW_TAG_subprogram
290	.byte	0                               # DW_AT_low_pc
291	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
292	.byte	1                               # DW_AT_frame_base
293	.byte	86
294	.byte	0                               # DW_AT_name
295	.byte	1                               # DW_AT_decl_file
296	.byte	12                              # DW_AT_decl_line
297	.long	85                              # DW_AT_type
298                                        # DW_AT_external
299	.byte	8                               # Abbrev [8] 0x28:0xb DW_TAG_formal_parameter
300	.byte	2                               # DW_AT_location
301	.byte	145
302	.byte	120
303	.byte	2                               # DW_AT_name
304	.byte	1                               # DW_AT_decl_file
305	.byte	12                              # DW_AT_decl_line
306	.long	85                              # DW_AT_type
307	.byte	8                               # Abbrev [8] 0x33:0xb DW_TAG_formal_parameter
308	.byte	2                               # DW_AT_location
309	.byte	145
310	.byte	112
311	.byte	3                               # DW_AT_name
312	.byte	1                               # DW_AT_decl_file
313	.byte	12                              # DW_AT_decl_line
314	.long	89                              # DW_AT_type
315	.byte	9                               # Abbrev [9] 0x3e:0xb DW_TAG_variable
316	.byte	2                               # DW_AT_location
317	.byte	145
318	.byte	88
319	.byte	5                               # DW_AT_name
320	.byte	1                               # DW_AT_decl_file
321	.byte	13                              # DW_AT_decl_line
322	.long	103                             # DW_AT_type
323	.byte	9                               # Abbrev [9] 0x49:0xb DW_TAG_variable
324	.byte	2                               # DW_AT_location
325	.byte	145
326	.byte	72
327	.byte	10                              # DW_AT_name
328	.byte	1                               # DW_AT_decl_file
329	.byte	17                              # DW_AT_decl_line
330	.long	112                             # DW_AT_type
331	.byte	0                               # End Of Children Mark
332	.byte	5                               # Abbrev [5] 0x55:0x4 DW_TAG_base_type
333	.byte	1                               # DW_AT_name
334	.byte	5                               # DW_AT_encoding
335	.byte	4                               # DW_AT_byte_size
336	.byte	4                               # Abbrev [4] 0x59:0x5 DW_TAG_pointer_type
337	.long	94                              # DW_AT_type
338	.byte	4                               # Abbrev [4] 0x5e:0x5 DW_TAG_pointer_type
339	.long	99                              # DW_AT_type
340	.byte	5                               # Abbrev [5] 0x63:0x4 DW_TAG_base_type
341	.byte	4                               # DW_AT_name
342	.byte	6                               # DW_AT_encoding
343	.byte	1                               # DW_AT_byte_size
344	.byte	10                              # Abbrev [10] 0x67:0x9 DW_TAG_structure_type
345                                        # DW_AT_declaration
346	.quad	7448148824980338162             # DW_AT_signature
347	.byte	10                              # Abbrev [10] 0x70:0x9 DW_TAG_structure_type
348                                        # DW_AT_declaration
349	.quad	5322170643381124694             # DW_AT_signature
350	.byte	0                               # End Of Children Mark
351.Ldebug_info_dwo_end2:
352	.section	.debug_abbrev.dwo,"e",@progbits
353	.byte	1                               # Abbreviation Code
354	.byte	65                              # DW_TAG_type_unit
355	.byte	1                               # DW_CHILDREN_yes
356	.byte	19                              # DW_AT_language
357	.byte	5                               # DW_FORM_data2
358	.byte	16                              # DW_AT_stmt_list
359	.byte	23                              # DW_FORM_sec_offset
360	.byte	0                               # EOM(1)
361	.byte	0                               # EOM(2)
362	.byte	2                               # Abbreviation Code
363	.byte	19                              # DW_TAG_structure_type
364	.byte	1                               # DW_CHILDREN_yes
365	.byte	54                              # DW_AT_calling_convention
366	.byte	11                              # DW_FORM_data1
367	.byte	3                               # DW_AT_name
368	.ascii	"\202>"                         # DW_FORM_GNU_str_index
369	.byte	11                              # DW_AT_byte_size
370	.byte	11                              # DW_FORM_data1
371	.byte	58                              # DW_AT_decl_file
372	.byte	11                              # DW_FORM_data1
373	.byte	59                              # DW_AT_decl_line
374	.byte	11                              # DW_FORM_data1
375	.byte	0                               # EOM(1)
376	.byte	0                               # EOM(2)
377	.byte	3                               # Abbreviation Code
378	.byte	13                              # DW_TAG_member
379	.byte	0                               # DW_CHILDREN_no
380	.byte	3                               # DW_AT_name
381	.ascii	"\202>"                         # DW_FORM_GNU_str_index
382	.byte	73                              # DW_AT_type
383	.byte	19                              # DW_FORM_ref4
384	.byte	58                              # DW_AT_decl_file
385	.byte	11                              # DW_FORM_data1
386	.byte	59                              # DW_AT_decl_line
387	.byte	11                              # DW_FORM_data1
388	.byte	56                              # DW_AT_data_member_location
389	.byte	11                              # DW_FORM_data1
390	.byte	0                               # EOM(1)
391	.byte	0                               # EOM(2)
392	.byte	4                               # Abbreviation Code
393	.byte	15                              # DW_TAG_pointer_type
394	.byte	0                               # DW_CHILDREN_no
395	.byte	73                              # DW_AT_type
396	.byte	19                              # DW_FORM_ref4
397	.byte	0                               # EOM(1)
398	.byte	0                               # EOM(2)
399	.byte	5                               # Abbreviation Code
400	.byte	36                              # DW_TAG_base_type
401	.byte	0                               # DW_CHILDREN_no
402	.byte	3                               # DW_AT_name
403	.ascii	"\202>"                         # DW_FORM_GNU_str_index
404	.byte	62                              # DW_AT_encoding
405	.byte	11                              # DW_FORM_data1
406	.byte	11                              # DW_AT_byte_size
407	.byte	11                              # DW_FORM_data1
408	.byte	0                               # EOM(1)
409	.byte	0                               # EOM(2)
410	.byte	6                               # Abbreviation Code
411	.byte	17                              # DW_TAG_compile_unit
412	.byte	1                               # DW_CHILDREN_yes
413	.byte	37                              # DW_AT_producer
414	.ascii	"\202>"                         # DW_FORM_GNU_str_index
415	.byte	19                              # DW_AT_language
416	.byte	5                               # DW_FORM_data2
417	.byte	3                               # DW_AT_name
418	.ascii	"\202>"                         # DW_FORM_GNU_str_index
419	.ascii	"\260B"                         # DW_AT_GNU_dwo_name
420	.ascii	"\202>"                         # DW_FORM_GNU_str_index
421	.ascii	"\261B"                         # DW_AT_GNU_dwo_id
422	.byte	7                               # DW_FORM_data8
423	.byte	0                               # EOM(1)
424	.byte	0                               # EOM(2)
425	.byte	7                               # Abbreviation Code
426	.byte	46                              # DW_TAG_subprogram
427	.byte	1                               # DW_CHILDREN_yes
428	.byte	17                              # DW_AT_low_pc
429	.ascii	"\201>"                         # DW_FORM_GNU_addr_index
430	.byte	18                              # DW_AT_high_pc
431	.byte	6                               # DW_FORM_data4
432	.byte	64                              # DW_AT_frame_base
433	.byte	24                              # DW_FORM_exprloc
434	.byte	3                               # DW_AT_name
435	.ascii	"\202>"                         # DW_FORM_GNU_str_index
436	.byte	58                              # DW_AT_decl_file
437	.byte	11                              # DW_FORM_data1
438	.byte	59                              # DW_AT_decl_line
439	.byte	11                              # DW_FORM_data1
440	.byte	73                              # DW_AT_type
441	.byte	19                              # DW_FORM_ref4
442	.byte	63                              # DW_AT_external
443	.byte	25                              # DW_FORM_flag_present
444	.byte	0                               # EOM(1)
445	.byte	0                               # EOM(2)
446	.byte	8                               # Abbreviation Code
447	.byte	5                               # DW_TAG_formal_parameter
448	.byte	0                               # DW_CHILDREN_no
449	.byte	2                               # DW_AT_location
450	.byte	24                              # DW_FORM_exprloc
451	.byte	3                               # DW_AT_name
452	.ascii	"\202>"                         # DW_FORM_GNU_str_index
453	.byte	58                              # DW_AT_decl_file
454	.byte	11                              # DW_FORM_data1
455	.byte	59                              # DW_AT_decl_line
456	.byte	11                              # DW_FORM_data1
457	.byte	73                              # DW_AT_type
458	.byte	19                              # DW_FORM_ref4
459	.byte	0                               # EOM(1)
460	.byte	0                               # EOM(2)
461	.byte	9                               # Abbreviation Code
462	.byte	52                              # DW_TAG_variable
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	.ascii	"\202>"                         # DW_FORM_GNU_str_index
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	10                              # Abbreviation Code
477	.byte	19                              # DW_TAG_structure_type
478	.byte	0                               # DW_CHILDREN_no
479	.byte	60                              # DW_AT_declaration
480	.byte	25                              # DW_FORM_flag_present
481	.byte	105                             # DW_AT_signature
482	.byte	32                              # DW_FORM_ref_sig8
483	.byte	0                               # EOM(1)
484	.byte	0                               # EOM(2)
485	.byte	0                               # EOM(3)
486	.section	.debug_line.dwo,"e",@progbits
487.Ltmp2:
488	.long	.Ldebug_line_end0-.Ldebug_line_start0 # unit length
489.Ldebug_line_start0:
490	.short	4
491	.long	.Lprologue_end0-.Lprologue_start0
492.Lprologue_start0:
493	.byte	1
494	.byte	1
495	.byte	1
496	.byte	-5
497	.byte	14
498	.byte	1
499	.byte	0
500	.ascii	"main.cpp"
501	.byte	0
502	.byte	0
503	.byte	0
504	.byte	0
505	.byte	0
506.Lprologue_end0:
507.Ldebug_line_end0:
508	.section	.debug_addr,"",@progbits
509.Laddr_table_base0:
510	.quad	.Lfunc_begin0
511	.section	.debug_gnu_pubnames,"",@progbits
512	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
513.LpubNames_start0:
514	.short	2                               # DWARF Version
515	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
516	.long	48                              # Compilation Unit Length
517	.long	25                              # DIE offset
518	.byte	48                              # Attributes: FUNCTION, EXTERNAL
519	.asciz	"main"                          # External Name
520	.long	0                               # End Mark
521.LpubNames_end0:
522	.section	.debug_gnu_pubtypes,"",@progbits
523	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
524.LpubTypes_start0:
525	.short	2                               # DWARF Version
526	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
527	.long	48                              # Compilation Unit Length
528	.long	103                             # DIE offset
529	.byte	16                              # Attributes: TYPE, EXTERNAL
530	.asciz	"Foo"                           # External Name
531	.long	112                             # DIE offset
532	.byte	16                              # Attributes: TYPE, EXTERNAL
533	.asciz	"Foo2"                          # External Name
534	.long	85                              # DIE offset
535	.byte	144                             # Attributes: TYPE, STATIC
536	.asciz	"int"                           # External Name
537	.long	99                              # DIE offset
538	.byte	144                             # Attributes: TYPE, STATIC
539	.asciz	"char"                          # External Name
540	.long	0                               # End Mark
541.LpubTypes_end0:
542	.ident	"clang version 15.0.0"
543	.section	".note.GNU-stack","",@progbits
544	.addrsig
545	.section	.debug_line,"",@progbits
546.Lline_table_start0:
547