xref: /llvm-project/bolt/test/X86/Inputs/dwarf5-df-debug-names-ftu-ltu-mix-main.s (revision 6d4aa9d70e4808498584cc61a295c0b93310196d)
1# struct ASplit {
2#   int x;
3# };
4#
5# ASplit globalSplit;
6# int main() {
7#   return 0;
8# }
9# clang++ -g2 -gdwarf-5 -gpubnames -S -fdebug-types-section -gsplit-dwarf -fdebug-compilation-dir='.'
10
11	.text
12	.file	"main.cpp"
13	.file	0 "." "main.cpp" md5 0xbb74a3c2960dafa324547ebbd87d13ea
14	.section	.debug_info.dwo,"e",@progbits
15	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
16.Ldebug_info_dwo_start0:
17	.short	5                               # DWARF version number
18	.byte	6                               # DWARF Unit Type
19	.byte	8                               # Address Size (in bytes)
20	.long	0                               # Offset Into Abbrev. Section
21	.quad	-8602855756067469281            # Type Signature
22	.long	33                              # Type DIE Offset
23	.byte	1                               # Abbrev [1] 0x18:0x1e DW_TAG_type_unit
24	.short	33                              # DW_AT_language
25	.byte	1                               # DW_AT_comp_dir
26	.byte	2                               # DW_AT_dwo_name
27	.long	0                               # DW_AT_stmt_list
28	.byte	2                               # Abbrev [2] 0x21:0x10 DW_TAG_structure_type
29	.byte	5                               # DW_AT_calling_convention
30	.byte	5                               # DW_AT_name
31	.byte	4                               # DW_AT_byte_size
32	.byte	0                               # DW_AT_decl_file
33	.byte	1                               # DW_AT_decl_line
34	.byte	3                               # Abbrev [3] 0x27:0x9 DW_TAG_member
35	.byte	3                               # DW_AT_name
36	.long	49                              # DW_AT_type
37	.byte	0                               # DW_AT_decl_file
38	.byte	2                               # DW_AT_decl_line
39	.byte	0                               # DW_AT_data_member_location
40	.byte	0                               # End Of Children Mark
41	.byte	4                               # Abbrev [4] 0x31:0x4 DW_TAG_base_type
42	.byte	4                               # DW_AT_name
43	.byte	5                               # DW_AT_encoding
44	.byte	4                               # DW_AT_byte_size
45	.byte	0                               # End Of Children Mark
46.Ldebug_info_dwo_end0:
47	.text
48	.globl	main                            # -- Begin function main
49	.p2align	4, 0x90
50	.type	main,@function
51main:                                   # @main
52.Lfunc_begin0:
53	.loc	0 6 0                           # main.cpp:6:0
54	.cfi_startproc
55# %bb.0:                                # %entry
56	pushq	%rbp
57	.cfi_def_cfa_offset 16
58	.cfi_offset %rbp, -16
59	movq	%rsp, %rbp
60	.cfi_def_cfa_register %rbp
61	movl	$0, -4(%rbp)
62.Ltmp0:
63	.loc	0 7 3 prologue_end              # main.cpp:7:3
64	xorl	%eax, %eax
65	.loc	0 7 3 epilogue_begin is_stmt 0  # main.cpp:7:3
66	popq	%rbp
67	.cfi_def_cfa %rsp, 8
68	retq
69.Ltmp1:
70.Lfunc_end0:
71	.size	main, .Lfunc_end0-main
72	.cfi_endproc
73                                        # -- End function
74	.type	globalSplit,@object             # @globalSplit
75	.bss
76	.globl	globalSplit
77	.p2align	2, 0x0
78globalSplit:
79	.zero	4
80	.size	globalSplit, 4
81
82	.section	.debug_abbrev,"",@progbits
83	.byte	1                               # Abbreviation Code
84	.byte	74                              # DW_TAG_skeleton_unit
85	.byte	0                               # DW_CHILDREN_no
86	.byte	16                              # DW_AT_stmt_list
87	.byte	23                              # DW_FORM_sec_offset
88	.byte	114                             # DW_AT_str_offsets_base
89	.byte	23                              # DW_FORM_sec_offset
90	.byte	27                              # DW_AT_comp_dir
91	.byte	37                              # DW_FORM_strx1
92	.byte	118                             # DW_AT_dwo_name
93	.byte	37                              # DW_FORM_strx1
94	.byte	17                              # DW_AT_low_pc
95	.byte	27                              # DW_FORM_addrx
96	.byte	18                              # DW_AT_high_pc
97	.byte	6                               # DW_FORM_data4
98	.byte	115                             # DW_AT_addr_base
99	.byte	23                              # DW_FORM_sec_offset
100	.byte	0                               # EOM(1)
101	.byte	0                               # EOM(2)
102	.byte	0                               # EOM(3)
103	.section	.debug_info,"",@progbits
104.Lcu_begin0:
105	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
106.Ldebug_info_start0:
107	.short	5                               # DWARF version number
108	.byte	4                               # DWARF Unit Type
109	.byte	8                               # Address Size (in bytes)
110	.long	.debug_abbrev                   # Offset Into Abbrev. Section
111	.quad	5806847994123082226
112	.byte	1                               # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
113	.long	.Lline_table_start0             # DW_AT_stmt_list
114	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
115	.byte	0                               # DW_AT_comp_dir
116	.byte	1                               # DW_AT_dwo_name
117	.byte	1                               # DW_AT_low_pc
118	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
119	.long	.Laddr_table_base0              # DW_AT_addr_base
120.Ldebug_info_end0:
121	.section	.debug_str_offsets,"",@progbits
122	.long	12                              # Length of String Offsets Set
123	.short	5
124	.short	0
125.Lstr_offsets_base0:
126	.section	.debug_str,"MS",@progbits,1
127.Lskel_string0:
128	.asciz	"."                             # string offset=0
129.Lskel_string1:
130	.asciz	"ASplit"                        # string offset=2
131.Lskel_string2:
132	.asciz	"int"                           # string offset=9
133.Lskel_string3:
134	.asciz	"globalSplit"                   # string offset=13
135.Lskel_string4:
136	.asciz	"main"                          # string offset=25
137.Lskel_string5:
138	.asciz	"main.dwo"                      # string offset=30
139	.section	.debug_str_offsets,"",@progbits
140	.long	.Lskel_string0
141	.long	.Lskel_string5
142	.section	.debug_str_offsets.dwo,"e",@progbits
143	.long	40                              # Length of String Offsets Set
144	.short	5
145	.short	0
146	.section	.debug_str.dwo,"eMS",@progbits,1
147.Linfo_string0:
148	.asciz	"globalSplit"                   # string offset=0
149.Linfo_string1:
150	.asciz	"."                             # string offset=12
151.Linfo_string2:
152	.asciz	"main.dwo"                      # string offset=14
153.Linfo_string3:
154	.asciz	"x"                             # string offset=23
155.Linfo_string4:
156	.asciz	"int"                           # string offset=25
157.Linfo_string5:
158	.asciz	"ASplit"                        # string offset=29
159.Linfo_string6:
160	.asciz	"main"                          # string offset=36
161.Linfo_string7:
162	.asciz	"clang version 19.0.0git (git@github.com:llvm/llvm-project.git ced1fac8a32e35b63733bda27c7f5b9a2b635403)" # string offset=41
163.Linfo_string8:
164	.asciz	"main.cpp"                      # string offset=145
165	.section	.debug_str_offsets.dwo,"e",@progbits
166	.long	0
167	.long	12
168	.long	14
169	.long	23
170	.long	25
171	.long	29
172	.long	36
173	.long	41
174	.long	145
175	.section	.debug_info.dwo,"e",@progbits
176	.long	.Ldebug_info_dwo_end1-.Ldebug_info_dwo_start1 # Length of Unit
177.Ldebug_info_dwo_start1:
178	.short	5                               # DWARF version number
179	.byte	5                               # DWARF Unit Type
180	.byte	8                               # Address Size (in bytes)
181	.long	0                               # Offset Into Abbrev. Section
182	.quad	5806847994123082226
183	.byte	5                               # Abbrev [5] 0x14:0x2e DW_TAG_compile_unit
184	.byte	7                               # DW_AT_producer
185	.short	33                              # DW_AT_language
186	.byte	8                               # DW_AT_name
187	.byte	2                               # DW_AT_dwo_name
188	.byte	6                               # Abbrev [6] 0x1a:0xb DW_TAG_variable
189	.byte	0                               # DW_AT_name
190	.long	37                              # DW_AT_type
191                                        # DW_AT_external
192	.byte	0                               # DW_AT_decl_file
193	.byte	5                               # DW_AT_decl_line
194	.byte	2                               # DW_AT_location
195	.byte	161
196	.byte	0
197	.byte	7                               # Abbrev [7] 0x25:0x9 DW_TAG_structure_type
198                                        # DW_AT_declaration
199	.quad	-8602855756067469281            # DW_AT_signature
200	.byte	8                               # Abbrev [8] 0x2e:0xf DW_TAG_subprogram
201	.byte	1                               # DW_AT_low_pc
202	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
203	.byte	1                               # DW_AT_frame_base
204	.byte	86
205	.byte	6                               # DW_AT_name
206	.byte	0                               # DW_AT_decl_file
207	.byte	6                               # DW_AT_decl_line
208	.long	61                              # DW_AT_type
209                                        # DW_AT_external
210	.byte	4                               # Abbrev [4] 0x3d:0x4 DW_TAG_base_type
211	.byte	4                               # DW_AT_name
212	.byte	5                               # DW_AT_encoding
213	.byte	4                               # DW_AT_byte_size
214	.byte	0                               # End Of Children Mark
215.Ldebug_info_dwo_end1:
216	.section	.debug_abbrev.dwo,"e",@progbits
217	.byte	1                               # Abbreviation Code
218	.byte	65                              # DW_TAG_type_unit
219	.byte	1                               # DW_CHILDREN_yes
220	.byte	19                              # DW_AT_language
221	.byte	5                               # DW_FORM_data2
222	.byte	27                              # DW_AT_comp_dir
223	.byte	37                              # DW_FORM_strx1
224	.byte	118                             # DW_AT_dwo_name
225	.byte	37                              # DW_FORM_strx1
226	.byte	16                              # DW_AT_stmt_list
227	.byte	23                              # DW_FORM_sec_offset
228	.byte	0                               # EOM(1)
229	.byte	0                               # EOM(2)
230	.byte	2                               # Abbreviation Code
231	.byte	19                              # DW_TAG_structure_type
232	.byte	1                               # DW_CHILDREN_yes
233	.byte	54                              # DW_AT_calling_convention
234	.byte	11                              # DW_FORM_data1
235	.byte	3                               # DW_AT_name
236	.byte	37                              # DW_FORM_strx1
237	.byte	11                              # DW_AT_byte_size
238	.byte	11                              # DW_FORM_data1
239	.byte	58                              # DW_AT_decl_file
240	.byte	11                              # DW_FORM_data1
241	.byte	59                              # DW_AT_decl_line
242	.byte	11                              # DW_FORM_data1
243	.byte	0                               # EOM(1)
244	.byte	0                               # EOM(2)
245	.byte	3                               # Abbreviation Code
246	.byte	13                              # DW_TAG_member
247	.byte	0                               # DW_CHILDREN_no
248	.byte	3                               # DW_AT_name
249	.byte	37                              # DW_FORM_strx1
250	.byte	73                              # DW_AT_type
251	.byte	19                              # DW_FORM_ref4
252	.byte	58                              # DW_AT_decl_file
253	.byte	11                              # DW_FORM_data1
254	.byte	59                              # DW_AT_decl_line
255	.byte	11                              # DW_FORM_data1
256	.byte	56                              # DW_AT_data_member_location
257	.byte	11                              # DW_FORM_data1
258	.byte	0                               # EOM(1)
259	.byte	0                               # EOM(2)
260	.byte	4                               # Abbreviation Code
261	.byte	36                              # DW_TAG_base_type
262	.byte	0                               # DW_CHILDREN_no
263	.byte	3                               # DW_AT_name
264	.byte	37                              # DW_FORM_strx1
265	.byte	62                              # DW_AT_encoding
266	.byte	11                              # DW_FORM_data1
267	.byte	11                              # DW_AT_byte_size
268	.byte	11                              # DW_FORM_data1
269	.byte	0                               # EOM(1)
270	.byte	0                               # EOM(2)
271	.byte	5                               # Abbreviation Code
272	.byte	17                              # DW_TAG_compile_unit
273	.byte	1                               # DW_CHILDREN_yes
274	.byte	37                              # DW_AT_producer
275	.byte	37                              # DW_FORM_strx1
276	.byte	19                              # DW_AT_language
277	.byte	5                               # DW_FORM_data2
278	.byte	3                               # DW_AT_name
279	.byte	37                              # DW_FORM_strx1
280	.byte	118                             # DW_AT_dwo_name
281	.byte	37                              # DW_FORM_strx1
282	.byte	0                               # EOM(1)
283	.byte	0                               # EOM(2)
284	.byte	6                               # Abbreviation Code
285	.byte	52                              # DW_TAG_variable
286	.byte	0                               # DW_CHILDREN_no
287	.byte	3                               # DW_AT_name
288	.byte	37                              # DW_FORM_strx1
289	.byte	73                              # DW_AT_type
290	.byte	19                              # DW_FORM_ref4
291	.byte	63                              # DW_AT_external
292	.byte	25                              # DW_FORM_flag_present
293	.byte	58                              # DW_AT_decl_file
294	.byte	11                              # DW_FORM_data1
295	.byte	59                              # DW_AT_decl_line
296	.byte	11                              # DW_FORM_data1
297	.byte	2                               # DW_AT_location
298	.byte	24                              # DW_FORM_exprloc
299	.byte	0                               # EOM(1)
300	.byte	0                               # EOM(2)
301	.byte	7                               # Abbreviation Code
302	.byte	19                              # DW_TAG_structure_type
303	.byte	0                               # DW_CHILDREN_no
304	.byte	60                              # DW_AT_declaration
305	.byte	25                              # DW_FORM_flag_present
306	.byte	105                             # DW_AT_signature
307	.byte	32                              # DW_FORM_ref_sig8
308	.byte	0                               # EOM(1)
309	.byte	0                               # EOM(2)
310	.byte	8                               # Abbreviation Code
311	.byte	46                              # DW_TAG_subprogram
312	.byte	0                               # DW_CHILDREN_no
313	.byte	17                              # DW_AT_low_pc
314	.byte	27                              # DW_FORM_addrx
315	.byte	18                              # DW_AT_high_pc
316	.byte	6                               # DW_FORM_data4
317	.byte	64                              # DW_AT_frame_base
318	.byte	24                              # DW_FORM_exprloc
319	.byte	3                               # DW_AT_name
320	.byte	37                              # DW_FORM_strx1
321	.byte	58                              # DW_AT_decl_file
322	.byte	11                              # DW_FORM_data1
323	.byte	59                              # DW_AT_decl_line
324	.byte	11                              # DW_FORM_data1
325	.byte	73                              # DW_AT_type
326	.byte	19                              # DW_FORM_ref4
327	.byte	63                              # DW_AT_external
328	.byte	25                              # DW_FORM_flag_present
329	.byte	0                               # EOM(1)
330	.byte	0                               # EOM(2)
331	.byte	0                               # EOM(3)
332	.section	.debug_line.dwo,"e",@progbits
333.Ltmp2:
334	.long	.Ldebug_line_end0-.Ldebug_line_start0 # unit length
335.Ldebug_line_start0:
336	.short	5
337	.byte	8
338	.byte	0
339	.long	.Lprologue_end0-.Lprologue_start0
340.Lprologue_start0:
341	.byte	1
342	.byte	1
343	.byte	1
344	.byte	-5
345	.byte	14
346	.byte	1
347	.byte	1
348	.byte	1
349	.byte	8
350	.byte	1
351	.byte	46
352	.byte	0
353	.byte	3
354	.byte	1
355	.byte	8
356	.byte	2
357	.byte	15
358	.byte	5
359	.byte	30
360	.byte	1
361	.ascii	"main.cpp"
362	.byte	0
363	.byte	0
364	.byte	0xbb, 0x74, 0xa3, 0xc2
365	.byte	0x96, 0x0d, 0xaf, 0xa3
366	.byte	0x24, 0x54, 0x7e, 0xbb
367	.byte	0xd8, 0x7d, 0x13, 0xea
368.Lprologue_end0:
369.Ldebug_line_end0:
370	.section	.debug_addr,"",@progbits
371	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
372.Ldebug_addr_start0:
373	.short	5                               # DWARF version number
374	.byte	8                               # Address size
375	.byte	0                               # Segment selector size
376.Laddr_table_base0:
377	.quad	globalSplit
378	.quad	.Lfunc_begin0
379.Ldebug_addr_end0:
380	.section	.debug_names,"",@progbits
381	.long	.Lnames_end0-.Lnames_start0     # Header: unit length
382.Lnames_start0:
383	.short	5                               # Header: version
384	.short	0                               # Header: padding
385	.long	1                               # Header: compilation unit count
386	.long	0                               # Header: local type unit count
387	.long	1                               # Header: foreign type unit count
388	.long	4                               # Header: bucket count
389	.long	4                               # Header: name count
390	.long	.Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size
391	.long	8                               # Header: augmentation string size
392	.ascii	"LLVM0700"                      # Header: augmentation string
393	.long	.Lcu_begin0                     # Compilation unit 0
394	.quad	-8602855756067469281            # Type unit 0
395	.long	1                               # Bucket 0
396	.long	0                               # Bucket 1
397	.long	2                               # Bucket 2
398	.long	0                               # Bucket 3
399	.long	193495088                       # Hash in Bucket 0
400	.long	1785912162                      # Hash in Bucket 2
401	.long	2090499946                      # Hash in Bucket 2
402	.long	-226250862                      # Hash in Bucket 2
403	.long	.Lskel_string2                  # String in Bucket 0: int
404	.long	.Lskel_string3                  # String in Bucket 2: globalSplit
405	.long	.Lskel_string4                  # String in Bucket 2: main
406	.long	.Lskel_string1                  # String in Bucket 2: ASplit
407	.long	.Lnames1-.Lnames_entries0       # Offset in Bucket 0
408	.long	.Lnames2-.Lnames_entries0       # Offset in Bucket 2
409	.long	.Lnames3-.Lnames_entries0       # Offset in Bucket 2
410	.long	.Lnames0-.Lnames_entries0       # Offset in Bucket 2
411.Lnames_abbrev_start0:
412	.byte	1                               # Abbrev code
413	.byte	36                              # DW_TAG_base_type
414	.byte	2                               # DW_IDX_type_unit
415	.byte	11                              # DW_FORM_data1
416	.byte	3                               # DW_IDX_die_offset
417	.byte	19                              # DW_FORM_ref4
418	.byte	4                               # DW_IDX_parent
419	.byte	25                              # DW_FORM_flag_present
420	.byte	0                               # End of abbrev
421	.byte	0                               # End of abbrev
422	.byte	2                               # Abbrev code
423	.byte	36                              # DW_TAG_base_type
424	.byte	3                               # DW_IDX_die_offset
425	.byte	19                              # DW_FORM_ref4
426	.byte	4                               # DW_IDX_parent
427	.byte	25                              # DW_FORM_flag_present
428	.byte	0                               # End of abbrev
429	.byte	0                               # End of abbrev
430	.byte	3                               # Abbrev code
431	.byte	52                              # DW_TAG_variable
432	.byte	3                               # DW_IDX_die_offset
433	.byte	19                              # DW_FORM_ref4
434	.byte	4                               # DW_IDX_parent
435	.byte	25                              # DW_FORM_flag_present
436	.byte	0                               # End of abbrev
437	.byte	0                               # End of abbrev
438	.byte	4                               # Abbrev code
439	.byte	46                              # DW_TAG_subprogram
440	.byte	3                               # DW_IDX_die_offset
441	.byte	19                              # DW_FORM_ref4
442	.byte	4                               # DW_IDX_parent
443	.byte	25                              # DW_FORM_flag_present
444	.byte	0                               # End of abbrev
445	.byte	0                               # End of abbrev
446	.byte	5                               # Abbrev code
447	.byte	19                              # DW_TAG_structure_type
448	.byte	2                               # DW_IDX_type_unit
449	.byte	11                              # DW_FORM_data1
450	.byte	3                               # DW_IDX_die_offset
451	.byte	19                              # DW_FORM_ref4
452	.byte	4                               # DW_IDX_parent
453	.byte	25                              # DW_FORM_flag_present
454	.byte	0                               # End of abbrev
455	.byte	0                               # End of abbrev
456	.byte	6                               # Abbrev code
457	.byte	19                              # DW_TAG_structure_type
458	.byte	3                               # DW_IDX_die_offset
459	.byte	19                              # DW_FORM_ref4
460	.byte	4                               # DW_IDX_parent
461	.byte	25                              # DW_FORM_flag_present
462	.byte	0                               # End of abbrev
463	.byte	0                               # End of abbrev
464	.byte	0                               # End of abbrev list
465.Lnames_abbrev_end0:
466.Lnames_entries0:
467.Lnames1:
468.L5:
469	.byte	1                               # Abbreviation code
470	.byte	0                               # DW_IDX_type_unit
471	.long	49                              # DW_IDX_die_offset
472.L1:                                    # DW_IDX_parent
473	.byte	2                               # Abbreviation code
474	.long	61                              # DW_IDX_die_offset
475	.byte	0                               # DW_IDX_parent
476                                        # End of list: int
477.Lnames2:
478.L0:
479	.byte	3                               # Abbreviation code
480	.long	26                              # DW_IDX_die_offset
481	.byte	0                               # DW_IDX_parent
482                                        # End of list: globalSplit
483.Lnames3:
484.L2:
485	.byte	4                               # Abbreviation code
486	.long	46                              # DW_IDX_die_offset
487	.byte	0                               # DW_IDX_parent
488                                        # End of list: main
489.Lnames0:
490.L4:
491	.byte	5                               # Abbreviation code
492	.byte	0                               # DW_IDX_type_unit
493	.long	33                              # DW_IDX_die_offset
494.L3:                                    # DW_IDX_parent
495	.byte	6                               # Abbreviation code
496	.long	37                              # DW_IDX_die_offset
497	.byte	0                               # DW_IDX_parent
498                                        # End of list: ASplit
499	.p2align	2, 0x0
500.Lnames_end0:
501	.ident	"clang version 19.0.0git (git@github.com:llvm/llvm-project.git ced1fac8a32e35b63733bda27c7f5b9a2b635403)"
502	.section	".note.GNU-stack","",@progbits
503	.addrsig
504	.section	.debug_line,"",@progbits
505.Lline_table_start0:
506