xref: /llvm-project/bolt/test/X86/Inputs/dwarf5-df-debug-names-helper.s (revision 6de5fcc74637116581d7b9b39c16fc252a5a54ef)
1# clang++ -gsplit-dwarf -g2 -gdwarf-5 -gpubnames -fdebug-compilation-dir='.'
2# header.h
3# struct Foo2a {
4#   char *c1;
5#   char *c2;
6#   char *c3;
7# };
8# helper.cpp
9# #include "header.h"
10# struct Foo2Int {
11#    int *c1;
12#    int *c2;
13# };
14# Foo2Int fint;
15# const Foo2a f{nullptr, nullptr};
16
17	.text
18	.file	"helper.cpp"
19	.file	0 "." "helper.cpp" md5 0x2804efac708fd4180d403e6d5dbcc54a
20	.type	fint,@object                    # @fint
21	.bss
22	.globl	fint
23	.p2align	3, 0x0
24fint:
25	.zero	16
26	.size	fint, 16
27
28	.section	.debug_abbrev,"",@progbits
29	.byte	1                               # Abbreviation Code
30	.byte	74                              # DW_TAG_skeleton_unit
31	.byte	0                               # DW_CHILDREN_no
32	.byte	16                              # DW_AT_stmt_list
33	.byte	23                              # DW_FORM_sec_offset
34	.byte	114                             # DW_AT_str_offsets_base
35	.byte	23                              # DW_FORM_sec_offset
36	.byte	27                              # DW_AT_comp_dir
37	.byte	37                              # DW_FORM_strx1
38	.byte	118                             # DW_AT_dwo_name
39	.byte	37                              # DW_FORM_strx1
40	.byte	115                             # DW_AT_addr_base
41	.byte	23                              # DW_FORM_sec_offset
42	.byte	0                               # EOM(1)
43	.byte	0                               # EOM(2)
44	.byte	0                               # EOM(3)
45	.section	.debug_info,"",@progbits
46.Lcu_begin0:
47	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
48.Ldebug_info_start0:
49	.short	5                               # DWARF version number
50	.byte	4                               # DWARF Unit Type
51	.byte	8                               # Address Size (in bytes)
52	.long	.debug_abbrev                   # Offset Into Abbrev. Section
53	.quad	3223434782003797151
54	.byte	1                               # Abbrev [1] 0x14:0xf DW_TAG_skeleton_unit
55	.long	.Lline_table_start0             # DW_AT_stmt_list
56	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
57	.byte	0                               # DW_AT_comp_dir
58	.byte	1                               # DW_AT_dwo_name
59	.long	.Laddr_table_base0              # DW_AT_addr_base
60.Ldebug_info_end0:
61	.section	.debug_str_offsets,"",@progbits
62	.long	12                              # Length of String Offsets Set
63	.short	5
64	.short	0
65.Lstr_offsets_base0:
66	.section	.debug_str,"MS",@progbits,1
67.Lskel_string0:
68	.asciz	"."                             # string offset=0
69.Lskel_string1:
70	.asciz	"Foo2Int"                       # string offset=2
71.Lskel_string2:
72	.asciz	"int"                           # string offset=10
73.Lskel_string3:
74	.asciz	"fint"                          # string offset=14
75.Lskel_string4:
76	.asciz	"helper.dwo"                    # string offset=19
77	.section	.debug_str_offsets,"",@progbits
78	.long	.Lskel_string0
79	.long	.Lskel_string4
80	.section	.debug_str_offsets.dwo,"e",@progbits
81	.long	36                              # Length of String Offsets Set
82	.short	5
83	.short	0
84	.section	.debug_str.dwo,"eMS",@progbits,1
85.Linfo_string0:
86	.asciz	"fint"                          # string offset=0
87.Linfo_string1:
88	.asciz	"c1"                            # string offset=5
89.Linfo_string2:
90	.asciz	"int"                           # string offset=8
91.Linfo_string3:
92	.asciz	"c2"                            # string offset=12
93.Linfo_string4:
94	.asciz	"Foo2Int"                       # string offset=15
95.Linfo_string5:
96	.asciz	"clang version 19.0.0git (git@github.com:ayermolo/llvm-project.git da9e9277be64deca73370a90d22af33e5b37cc52)" # string offset=23
97.Linfo_string6:
98	.asciz	"helper.cpp"                    # string offset=131
99.Linfo_string7:
100	.asciz	"helper.dwo"                    # string offset=142
101	.section	.debug_str_offsets.dwo,"e",@progbits
102	.long	0
103	.long	5
104	.long	8
105	.long	12
106	.long	15
107	.long	23
108	.long	131
109	.long	142
110	.section	.debug_info.dwo,"e",@progbits
111	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
112.Ldebug_info_dwo_start0:
113	.short	5                               # DWARF version number
114	.byte	5                               # DWARF Unit Type
115	.byte	8                               # Address Size (in bytes)
116	.long	0                               # Offset Into Abbrev. Section
117	.quad	3223434782003797151
118	.byte	1                               # Abbrev [1] 0x14:0x34 DW_TAG_compile_unit
119	.byte	5                               # DW_AT_producer
120	.short	33                              # DW_AT_language
121	.byte	6                               # DW_AT_name
122	.byte	7                               # DW_AT_dwo_name
123	.byte	2                               # Abbrev [2] 0x1a:0xb DW_TAG_variable
124	.byte	0                               # DW_AT_name
125	.long	37                              # DW_AT_type
126                                        # DW_AT_external
127	.byte	0                               # DW_AT_decl_file
128	.byte	7                               # DW_AT_decl_line
129	.byte	2                               # DW_AT_location
130	.byte	161
131	.byte	0
132	.byte	3                               # Abbrev [3] 0x25:0x19 DW_TAG_structure_type
133	.byte	5                               # DW_AT_calling_convention
134	.byte	4                               # DW_AT_name
135	.byte	16                              # DW_AT_byte_size
136	.byte	0                               # DW_AT_decl_file
137	.byte	2                               # DW_AT_decl_line
138	.byte	4                               # Abbrev [4] 0x2b:0x9 DW_TAG_member
139	.byte	1                               # DW_AT_name
140	.long	62                              # DW_AT_type
141	.byte	0                               # DW_AT_decl_file
142	.byte	3                               # DW_AT_decl_line
143	.byte	0                               # DW_AT_data_member_location
144	.byte	4                               # Abbrev [4] 0x34:0x9 DW_TAG_member
145	.byte	3                               # DW_AT_name
146	.long	62                              # DW_AT_type
147	.byte	0                               # DW_AT_decl_file
148	.byte	4                               # DW_AT_decl_line
149	.byte	8                               # DW_AT_data_member_location
150	.byte	0                               # End Of Children Mark
151	.byte	5                               # Abbrev [5] 0x3e:0x5 DW_TAG_pointer_type
152	.long	67                              # DW_AT_type
153	.byte	6                               # Abbrev [6] 0x43:0x4 DW_TAG_base_type
154	.byte	2                               # DW_AT_name
155	.byte	5                               # DW_AT_encoding
156	.byte	4                               # DW_AT_byte_size
157	.byte	0                               # End Of Children Mark
158.Ldebug_info_dwo_end0:
159	.section	.debug_abbrev.dwo,"e",@progbits
160	.byte	1                               # Abbreviation Code
161	.byte	17                              # DW_TAG_compile_unit
162	.byte	1                               # DW_CHILDREN_yes
163	.byte	37                              # DW_AT_producer
164	.byte	37                              # DW_FORM_strx1
165	.byte	19                              # DW_AT_language
166	.byte	5                               # DW_FORM_data2
167	.byte	3                               # DW_AT_name
168	.byte	37                              # DW_FORM_strx1
169	.byte	118                             # DW_AT_dwo_name
170	.byte	37                              # DW_FORM_strx1
171	.byte	0                               # EOM(1)
172	.byte	0                               # EOM(2)
173	.byte	2                               # Abbreviation Code
174	.byte	52                              # DW_TAG_variable
175	.byte	0                               # DW_CHILDREN_no
176	.byte	3                               # DW_AT_name
177	.byte	37                              # DW_FORM_strx1
178	.byte	73                              # DW_AT_type
179	.byte	19                              # DW_FORM_ref4
180	.byte	63                              # DW_AT_external
181	.byte	25                              # DW_FORM_flag_present
182	.byte	58                              # DW_AT_decl_file
183	.byte	11                              # DW_FORM_data1
184	.byte	59                              # DW_AT_decl_line
185	.byte	11                              # DW_FORM_data1
186	.byte	2                               # DW_AT_location
187	.byte	24                              # DW_FORM_exprloc
188	.byte	0                               # EOM(1)
189	.byte	0                               # EOM(2)
190	.byte	3                               # Abbreviation Code
191	.byte	19                              # DW_TAG_structure_type
192	.byte	1                               # DW_CHILDREN_yes
193	.byte	54                              # DW_AT_calling_convention
194	.byte	11                              # DW_FORM_data1
195	.byte	3                               # DW_AT_name
196	.byte	37                              # DW_FORM_strx1
197	.byte	11                              # DW_AT_byte_size
198	.byte	11                              # DW_FORM_data1
199	.byte	58                              # DW_AT_decl_file
200	.byte	11                              # DW_FORM_data1
201	.byte	59                              # DW_AT_decl_line
202	.byte	11                              # DW_FORM_data1
203	.byte	0                               # EOM(1)
204	.byte	0                               # EOM(2)
205	.byte	4                               # Abbreviation Code
206	.byte	13                              # DW_TAG_member
207	.byte	0                               # DW_CHILDREN_no
208	.byte	3                               # DW_AT_name
209	.byte	37                              # DW_FORM_strx1
210	.byte	73                              # DW_AT_type
211	.byte	19                              # DW_FORM_ref4
212	.byte	58                              # DW_AT_decl_file
213	.byte	11                              # DW_FORM_data1
214	.byte	59                              # DW_AT_decl_line
215	.byte	11                              # DW_FORM_data1
216	.byte	56                              # DW_AT_data_member_location
217	.byte	11                              # DW_FORM_data1
218	.byte	0                               # EOM(1)
219	.byte	0                               # EOM(2)
220	.byte	5                               # Abbreviation Code
221	.byte	15                              # DW_TAG_pointer_type
222	.byte	0                               # DW_CHILDREN_no
223	.byte	73                              # DW_AT_type
224	.byte	19                              # DW_FORM_ref4
225	.byte	0                               # EOM(1)
226	.byte	0                               # EOM(2)
227	.byte	6                               # Abbreviation Code
228	.byte	36                              # DW_TAG_base_type
229	.byte	0                               # DW_CHILDREN_no
230	.byte	3                               # DW_AT_name
231	.byte	37                              # DW_FORM_strx1
232	.byte	62                              # DW_AT_encoding
233	.byte	11                              # DW_FORM_data1
234	.byte	11                              # DW_AT_byte_size
235	.byte	11                              # DW_FORM_data1
236	.byte	0                               # EOM(1)
237	.byte	0                               # EOM(2)
238	.byte	0                               # EOM(3)
239	.section	.debug_addr,"",@progbits
240	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
241.Ldebug_addr_start0:
242	.short	5                               # DWARF version number
243	.byte	8                               # Address size
244	.byte	0                               # Segment selector size
245.Laddr_table_base0:
246	.quad	fint
247.Ldebug_addr_end0:
248	.section	.debug_names,"",@progbits
249	.long	.Lnames_end0-.Lnames_start0     # Header: unit length
250.Lnames_start0:
251	.short	5                               # Header: version
252	.short	0                               # Header: padding
253	.long	1                               # Header: compilation unit count
254	.long	0                               # Header: local type unit count
255	.long	0                               # Header: foreign type unit count
256	.long	3                               # Header: bucket count
257	.long	3                               # Header: name count
258	.long	.Lnames_abbrev_end0-.Lnames_abbrev_start0 # Header: abbreviation table size
259	.long	8                               # Header: augmentation string size
260	.ascii	"LLVM0700"                      # Header: augmentation string
261	.long	.Lcu_begin0                     # Compilation unit 0
262	.long	1                               # Bucket 0
263	.long	2                               # Bucket 1
264	.long	3                               # Bucket 2
265	.long	-1168750522                     # Hash in Bucket 0
266	.long	2090257270                      # Hash in Bucket 1
267	.long	193495088                       # Hash in Bucket 2
268	.long	.Lskel_string1                  # String in Bucket 0: Foo2Int
269	.long	.Lskel_string3                  # String in Bucket 1: fint
270	.long	.Lskel_string2                  # String in Bucket 2: int
271	.long	.Lnames0-.Lnames_entries0       # Offset in Bucket 0
272	.long	.Lnames2-.Lnames_entries0       # Offset in Bucket 1
273	.long	.Lnames1-.Lnames_entries0       # Offset in Bucket 2
274.Lnames_abbrev_start0:
275	.ascii	"\230\023"                      # Abbrev code
276	.byte	19                              # DW_TAG_structure_type
277	.byte	3                               # DW_IDX_die_offset
278	.byte	19                              # DW_FORM_ref4
279	.byte	4                               # DW_IDX_parent
280	.byte	25                              # DW_FORM_flag_present
281	.byte	0                               # End of abbrev
282	.byte	0                               # End of abbrev
283	.ascii	"\2304"                         # Abbrev code
284	.byte	52                              # DW_TAG_variable
285	.byte	3                               # DW_IDX_die_offset
286	.byte	19                              # DW_FORM_ref4
287	.byte	4                               # DW_IDX_parent
288	.byte	25                              # DW_FORM_flag_present
289	.byte	0                               # End of abbrev
290	.byte	0                               # End of abbrev
291	.ascii	"\230$"                         # Abbrev code
292	.byte	36                              # DW_TAG_base_type
293	.byte	3                               # DW_IDX_die_offset
294	.byte	19                              # DW_FORM_ref4
295	.byte	4                               # DW_IDX_parent
296	.byte	25                              # DW_FORM_flag_present
297	.byte	0                               # End of abbrev
298	.byte	0                               # End of abbrev
299	.byte	0                               # End of abbrev list
300.Lnames_abbrev_end0:
301.Lnames_entries0:
302.Lnames0:
303.L1:
304	.ascii	"\230\023"                      # Abbreviation code
305	.long	37                              # DW_IDX_die_offset
306	.byte	0                               # DW_IDX_parent
307                                        # End of list: Foo2Int
308.Lnames2:
309.L0:
310	.ascii	"\2304"                         # Abbreviation code
311	.long	26                              # DW_IDX_die_offset
312	.byte	0                               # DW_IDX_parent
313                                        # End of list: fint
314.Lnames1:
315.L2:
316	.ascii	"\230$"                         # Abbreviation code
317	.long	67                              # DW_IDX_die_offset
318	.byte	0                               # DW_IDX_parent
319                                        # End of list: int
320	.p2align	2, 0x0
321.Lnames_end0:
322	.ident	"clang version 19.0.0git (git@github.com:ayermolo/llvm-project.git da9e9277be64deca73370a90d22af33e5b37cc52)"
323	.section	".note.GNU-stack","",@progbits
324	.addrsig
325	.section	.debug_line,"",@progbits
326.Lline_table_start0:
327