xref: /llvm-project/llvm/test/tools/llvm-symbolizer/frame-types.s (revision 8d6a9c05f6d676c93c84ebf06cf6263657e74c00)
1// REQUIRES: x86-registered-target
2
3// RUN: llvm-mc -filetype=obj -triple=i386-linux-gnu -o %t.o %s
4// RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s
5
6// CHECK: f
7// CHECK-NEXT: a
8// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:11
9// CHECK-NEXT: -5 1 ??
10// CHECK-NEXT: f
11// CHECK-NEXT: b
12// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:12
13// CHECK-NEXT: -12 4 ??
14// CHECK-NEXT: f
15// CHECK-NEXT: c
16// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:13
17// CHECK-NEXT: -16 4 ??
18// CHECK-NEXT: f
19// CHECK-NEXT: d
20// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:14
21// CHECK-NEXT: -20 4 ??
22// CHECK-NEXT: f
23// CHECK-NEXT: e
24// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:15
25// CHECK-NEXT: -32 8 ??
26// CHECK-NEXT: f
27// CHECK-NEXT: f
28// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:16
29// CHECK-NEXT: -36 4 ??
30// CHECK-NEXT: f
31// CHECK-NEXT: g
32// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:17
33// CHECK-NEXT: -37 1 ??
34// CHECK-NEXT: f
35// CHECK-NEXT: h
36// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:18
37// CHECK-NEXT: -38 1 ??
38// CHECK-NEXT: f
39// CHECK-NEXT: i
40// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:19
41// CHECK-NEXT: -44 4 ??
42// CHECK-NEXT: f
43// CHECK-NEXT: j
44// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:21
45// CHECK-NEXT: -45 1 ??
46// CHECK-NEXT: f
47// CHECK-NEXT: k
48// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:22
49// CHECK-NEXT: -57 12 ??
50// CHECK-NEXT: f
51// CHECK-NEXT: l
52// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:23
53// CHECK-NEXT: -345 288 ??
54// CHECK-NEXT: f
55// CHECK-NEXT: m
56// CHECK-NEXT: /tmp{{/|\\}}frame-types.cpp:24
57// CHECK-NEXT: -352 4 ??
58
59// Generated from:
60//
61// struct S;
62//
63// void f() {
64//   char a;
65//   char *b;
66//   char &c = a;
67//   char &&d = 1;
68//   char (S::*e)();
69//   char S::*f;
70//   const char g = 2;
71//   volatile char h;
72//   char *__restrict i;
73//   typedef char char_typedef;
74//   char_typedef j;
75//   char k[12];
76//   char l[12][24];
77// }
78//
79// clang++ --target=i386-linux-gnu frame-types.cpp -g -std=c++11 -S -o frame-types.s
80
81	.text
82	.file	"frame-types.cpp"
83	.globl	_Z1fv                           # -- Begin function _Z1fv
84	.p2align	4, 0x90
85	.type	_Z1fv,@function
86_Z1fv:                                  # @_Z1fv
87.Lfunc_begin0:
88	.file	0 "/tmp" "frame-types.cpp"
89	.loc	0 10 0                          # frame-types.cpp:10:0
90	.cfi_startproc
91# %bb.0:                                # %entry
92	pushl	%ebp
93	.cfi_def_cfa_offset 8
94	.cfi_offset %ebp, -8
95	movl	%esp, %ebp
96	.cfi_def_cfa_register %ebp
97.Ltmp0:
98	pushl	%ebx
99	subl	$372, %esp                      # imm = 0x174
100	.cfi_offset %ebx, -12
101	.loc	0 13 9 prologue_end             # frame-types.cpp:13:9
102	calll	.L0$pb
103.L0$pb:
104	popl	%ebx
105.Ltmp1:
106	addl	$_GLOBAL_OFFSET_TABLE_+(.Ltmp1-.L0$pb), %ebx
107	leal	-5(%ebp), %eax
108	movl	%eax, -16(%ebp)
109	.loc	0 14 14                         # frame-types.cpp:14:14
110	movb	$1, -21(%ebp)
111	.loc	0 14 10 is_stmt 0               # frame-types.cpp:14:10
112	leal	-21(%ebp), %eax
113	movl	%eax, -20(%ebp)
114	.loc	0 17 14 is_stmt 1               # frame-types.cpp:17:14
115	movb	$2, -37(%ebp)
116	.loc	0 24 14                         # frame-types.cpp:24:14
117	leal	-352(%ebp), %eax
118	xorl	%ecx, %ecx
119	movl	%eax, (%esp)
120	movl	$0, 4(%esp)
121	movl	$4, 8(%esp)
122	calll	memset@PLT
123	.loc	0 25 1 epilogue_begin           # frame-types.cpp:25:1
124	addl	$372, %esp                      # imm = 0x174
125	popl	%ebx
126	popl	%ebp
127	.cfi_def_cfa %esp, 4
128	retl
129.Ltmp2:
130.Lfunc_end0:
131	.size	_Z1fv, .Lfunc_end0-_Z1fv
132	.cfi_endproc
133                                        # -- End function
134	.section	.debug_abbrev,"",@progbits
135	.byte	1                               # Abbreviation Code
136	.byte	17                              # DW_TAG_compile_unit
137	.byte	1                               # DW_CHILDREN_yes
138	.byte	37                              # DW_AT_producer
139	.byte	37                              # DW_FORM_strx1
140	.byte	19                              # DW_AT_language
141	.byte	5                               # DW_FORM_data2
142	.byte	3                               # DW_AT_name
143	.byte	37                              # DW_FORM_strx1
144	.byte	114                             # DW_AT_str_offsets_base
145	.byte	23                              # DW_FORM_sec_offset
146	.byte	16                              # DW_AT_stmt_list
147	.byte	23                              # DW_FORM_sec_offset
148	.byte	27                              # DW_AT_comp_dir
149	.byte	37                              # DW_FORM_strx1
150	.byte	17                              # DW_AT_low_pc
151	.byte	27                              # DW_FORM_addrx
152	.byte	18                              # DW_AT_high_pc
153	.byte	6                               # DW_FORM_data4
154	.byte	115                             # DW_AT_addr_base
155	.byte	23                              # DW_FORM_sec_offset
156	.byte	0                               # EOM(1)
157	.byte	0                               # EOM(2)
158	.byte	2                               # Abbreviation Code
159	.byte	46                              # DW_TAG_subprogram
160	.byte	1                               # DW_CHILDREN_yes
161	.byte	17                              # DW_AT_low_pc
162	.byte	27                              # DW_FORM_addrx
163	.byte	18                              # DW_AT_high_pc
164	.byte	6                               # DW_FORM_data4
165	.byte	64                              # DW_AT_frame_base
166	.byte	24                              # DW_FORM_exprloc
167	.byte	110                             # DW_AT_linkage_name
168	.byte	37                              # DW_FORM_strx1
169	.byte	3                               # DW_AT_name
170	.byte	37                              # DW_FORM_strx1
171	.byte	58                              # DW_AT_decl_file
172	.byte	11                              # DW_FORM_data1
173	.byte	59                              # DW_AT_decl_line
174	.byte	11                              # DW_FORM_data1
175	.byte	63                              # DW_AT_external
176	.byte	25                              # DW_FORM_flag_present
177	.byte	0                               # EOM(1)
178	.byte	0                               # EOM(2)
179	.byte	3                               # Abbreviation Code
180	.byte	52                              # DW_TAG_variable
181	.byte	0                               # DW_CHILDREN_no
182	.byte	2                               # DW_AT_location
183	.byte	24                              # DW_FORM_exprloc
184	.byte	3                               # DW_AT_name
185	.byte	37                              # DW_FORM_strx1
186	.byte	58                              # DW_AT_decl_file
187	.byte	11                              # DW_FORM_data1
188	.byte	59                              # DW_AT_decl_line
189	.byte	11                              # DW_FORM_data1
190	.byte	73                              # DW_AT_type
191	.byte	19                              # DW_FORM_ref4
192	.byte	0                               # EOM(1)
193	.byte	0                               # EOM(2)
194	.byte	4                               # Abbreviation Code
195	.byte	22                              # DW_TAG_typedef
196	.byte	0                               # DW_CHILDREN_no
197	.byte	73                              # DW_AT_type
198	.byte	19                              # DW_FORM_ref4
199	.byte	3                               # DW_AT_name
200	.byte	37                              # DW_FORM_strx1
201	.byte	58                              # DW_AT_decl_file
202	.byte	11                              # DW_FORM_data1
203	.byte	59                              # DW_AT_decl_line
204	.byte	11                              # DW_FORM_data1
205	.byte	0                               # EOM(1)
206	.byte	0                               # EOM(2)
207	.byte	5                               # Abbreviation Code
208	.byte	36                              # DW_TAG_base_type
209	.byte	0                               # DW_CHILDREN_no
210	.byte	3                               # DW_AT_name
211	.byte	37                              # DW_FORM_strx1
212	.byte	62                              # DW_AT_encoding
213	.byte	11                              # DW_FORM_data1
214	.byte	11                              # DW_AT_byte_size
215	.byte	11                              # DW_FORM_data1
216	.byte	0                               # EOM(1)
217	.byte	0                               # EOM(2)
218	.byte	6                               # Abbreviation Code
219	.byte	15                              # DW_TAG_pointer_type
220	.byte	0                               # DW_CHILDREN_no
221	.byte	73                              # DW_AT_type
222	.byte	19                              # DW_FORM_ref4
223	.byte	0                               # EOM(1)
224	.byte	0                               # EOM(2)
225	.byte	7                               # Abbreviation Code
226	.byte	16                              # DW_TAG_reference_type
227	.byte	0                               # DW_CHILDREN_no
228	.byte	73                              # DW_AT_type
229	.byte	19                              # DW_FORM_ref4
230	.byte	0                               # EOM(1)
231	.byte	0                               # EOM(2)
232	.byte	8                               # Abbreviation Code
233	.byte	66                              # DW_TAG_rvalue_reference_type
234	.byte	0                               # DW_CHILDREN_no
235	.byte	73                              # DW_AT_type
236	.byte	19                              # DW_FORM_ref4
237	.byte	0                               # EOM(1)
238	.byte	0                               # EOM(2)
239	.byte	9                               # Abbreviation Code
240	.byte	31                              # DW_TAG_ptr_to_member_type
241	.byte	0                               # DW_CHILDREN_no
242	.byte	73                              # DW_AT_type
243	.byte	19                              # DW_FORM_ref4
244	.byte	29                              # DW_AT_containing_type
245	.byte	19                              # DW_FORM_ref4
246	.byte	0                               # EOM(1)
247	.byte	0                               # EOM(2)
248	.byte	10                              # Abbreviation Code
249	.byte	21                              # DW_TAG_subroutine_type
250	.byte	1                               # DW_CHILDREN_yes
251	.byte	73                              # DW_AT_type
252	.byte	19                              # DW_FORM_ref4
253	.byte	0                               # EOM(1)
254	.byte	0                               # EOM(2)
255	.byte	11                              # Abbreviation Code
256	.byte	5                               # DW_TAG_formal_parameter
257	.byte	0                               # DW_CHILDREN_no
258	.byte	73                              # DW_AT_type
259	.byte	19                              # DW_FORM_ref4
260	.byte	52                              # DW_AT_artificial
261	.byte	25                              # DW_FORM_flag_present
262	.byte	0                               # EOM(1)
263	.byte	0                               # EOM(2)
264	.byte	12                              # Abbreviation Code
265	.byte	19                              # DW_TAG_structure_type
266	.byte	0                               # DW_CHILDREN_no
267	.byte	3                               # DW_AT_name
268	.byte	37                              # DW_FORM_strx1
269	.byte	60                              # DW_AT_declaration
270	.byte	25                              # DW_FORM_flag_present
271	.byte	0                               # EOM(1)
272	.byte	0                               # EOM(2)
273	.byte	13                              # Abbreviation Code
274	.byte	38                              # DW_TAG_const_type
275	.byte	0                               # DW_CHILDREN_no
276	.byte	73                              # DW_AT_type
277	.byte	19                              # DW_FORM_ref4
278	.byte	0                               # EOM(1)
279	.byte	0                               # EOM(2)
280	.byte	14                              # Abbreviation Code
281	.byte	53                              # DW_TAG_volatile_type
282	.byte	0                               # DW_CHILDREN_no
283	.byte	73                              # DW_AT_type
284	.byte	19                              # DW_FORM_ref4
285	.byte	0                               # EOM(1)
286	.byte	0                               # EOM(2)
287	.byte	15                              # Abbreviation Code
288	.byte	55                              # DW_TAG_restrict_type
289	.byte	0                               # DW_CHILDREN_no
290	.byte	73                              # DW_AT_type
291	.byte	19                              # DW_FORM_ref4
292	.byte	0                               # EOM(1)
293	.byte	0                               # EOM(2)
294	.byte	16                              # Abbreviation Code
295	.byte	1                               # DW_TAG_array_type
296	.byte	1                               # DW_CHILDREN_yes
297	.byte	73                              # DW_AT_type
298	.byte	19                              # DW_FORM_ref4
299	.byte	0                               # EOM(1)
300	.byte	0                               # EOM(2)
301	.byte	17                              # Abbreviation Code
302	.byte	33                              # DW_TAG_subrange_type
303	.byte	0                               # DW_CHILDREN_no
304	.byte	73                              # DW_AT_type
305	.byte	19                              # DW_FORM_ref4
306	.byte	55                              # DW_AT_count
307	.byte	11                              # DW_FORM_data1
308	.byte	0                               # EOM(1)
309	.byte	0                               # EOM(2)
310	.byte	18                              # Abbreviation Code
311	.byte	36                              # DW_TAG_base_type
312	.byte	0                               # DW_CHILDREN_no
313	.byte	3                               # DW_AT_name
314	.byte	37                              # DW_FORM_strx1
315	.byte	11                              # DW_AT_byte_size
316	.byte	11                              # DW_FORM_data1
317	.byte	62                              # DW_AT_encoding
318	.byte	11                              # DW_FORM_data1
319	.byte	0                               # EOM(1)
320	.byte	0                               # EOM(2)
321	.byte	19                              # Abbreviation Code
322	.byte	19                              # DW_TAG_structure_type
323	.byte	1                               # DW_CHILDREN_yes
324	.byte	54                              # DW_AT_calling_convention
325	.byte	11                              # DW_FORM_data1
326	.byte	3                               # DW_AT_name
327	.byte	37                              # DW_FORM_strx1
328	.byte	11                              # DW_AT_byte_size
329	.byte	11                              # DW_FORM_data1
330	.byte	58                              # DW_AT_decl_file
331	.byte	11                              # DW_FORM_data1
332	.byte	59                              # DW_AT_decl_line
333	.byte	11                              # DW_FORM_data1
334	.byte	0                               # EOM(1)
335	.byte	0                               # EOM(2)
336	.byte	20                              # Abbreviation Code
337	.byte	47                              # DW_TAG_template_type_parameter
338	.byte	0                               # DW_CHILDREN_no
339	.byte	73                              # DW_AT_type
340	.byte	19                              # DW_FORM_ref4
341	.byte	3                               # DW_AT_name
342	.byte	37                              # DW_FORM_strx1
343	.byte	0                               # EOM(1)
344	.byte	0                               # EOM(2)
345	.byte	21                              # Abbreviation Code
346	.byte	13                              # DW_TAG_member
347	.byte	0                               # DW_CHILDREN_no
348	.byte	3                               # DW_AT_name
349	.byte	37                              # DW_FORM_strx1
350	.byte	73                              # DW_AT_type
351	.byte	19                              # DW_FORM_ref4
352	.byte	58                              # DW_AT_decl_file
353	.byte	11                              # DW_FORM_data1
354	.byte	59                              # DW_AT_decl_line
355	.byte	11                              # DW_FORM_data1
356	.byte	56                              # DW_AT_data_member_location
357	.byte	11                              # DW_FORM_data1
358	.byte	0                               # EOM(1)
359	.byte	0                               # EOM(2)
360	.byte	0                               # EOM(3)
361	.section	.debug_info,"",@progbits
362.Lcu_begin0:
363	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
364.Ldebug_info_start0:
365	.short	5                               # DWARF version number
366	.byte	1                               # DWARF Unit Type
367	.byte	4                               # Address Size (in bytes)
368	.long	.debug_abbrev                   # Offset Into Abbrev. Section
369	.byte	1                               # Abbrev [1] 0xc:0x148 DW_TAG_compile_unit
370	.byte	0                               # DW_AT_producer
371	.short	26                              # DW_AT_language
372	.byte	1                               # DW_AT_name
373	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
374	.long	.Lline_table_start0             # DW_AT_stmt_list
375	.byte	2                               # DW_AT_comp_dir
376	.byte	0                               # DW_AT_low_pc
377	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
378	.long	.Laddr_table_base0              # DW_AT_addr_base
379	.byte	2                               # Abbrev [2] 0x23:0xa6 DW_TAG_subprogram
380	.byte	0                               # DW_AT_low_pc
381	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
382	.byte	1                               # DW_AT_frame_base
383	.byte	85
384	.byte	3                               # DW_AT_linkage_name
385	.byte	4                               # DW_AT_name
386	.byte	0                               # DW_AT_decl_file
387	.byte	10                              # DW_AT_decl_line
388                                        # DW_AT_external
389	.byte	3                               # Abbrev [3] 0x2f:0xb DW_TAG_variable
390	.byte	2                               # DW_AT_location
391	.byte	145
392	.byte	123
393	.byte	5                               # DW_AT_name
394	.byte	0                               # DW_AT_decl_file
395	.byte	11                              # DW_AT_decl_line
396	.long	201                             # DW_AT_type
397	.byte	3                               # Abbrev [3] 0x3a:0xb DW_TAG_variable
398	.byte	2                               # DW_AT_location
399	.byte	145
400	.byte	116
401	.byte	7                               # DW_AT_name
402	.byte	0                               # DW_AT_decl_file
403	.byte	12                              # DW_AT_decl_line
404	.long	205                             # DW_AT_type
405	.byte	3                               # Abbrev [3] 0x45:0xb DW_TAG_variable
406	.byte	2                               # DW_AT_location
407	.byte	145
408	.byte	112
409	.byte	8                               # DW_AT_name
410	.byte	0                               # DW_AT_decl_file
411	.byte	13                              # DW_AT_decl_line
412	.long	210                             # DW_AT_type
413	.byte	3                               # Abbrev [3] 0x50:0xb DW_TAG_variable
414	.byte	2                               # DW_AT_location
415	.byte	145
416	.byte	108
417	.byte	9                               # DW_AT_name
418	.byte	0                               # DW_AT_decl_file
419	.byte	14                              # DW_AT_decl_line
420	.long	215                             # DW_AT_type
421	.byte	3                               # Abbrev [3] 0x5b:0xb DW_TAG_variable
422	.byte	2                               # DW_AT_location
423	.byte	145
424	.byte	96
425	.byte	10                              # DW_AT_name
426	.byte	0                               # DW_AT_decl_file
427	.byte	15                              # DW_AT_decl_line
428	.long	220                             # DW_AT_type
429	.byte	3                               # Abbrev [3] 0x66:0xb DW_TAG_variable
430	.byte	2                               # DW_AT_location
431	.byte	145
432	.byte	92
433	.byte	4                               # DW_AT_name
434	.byte	0                               # DW_AT_decl_file
435	.byte	16                              # DW_AT_decl_line
436	.long	247                             # DW_AT_type
437	.byte	3                               # Abbrev [3] 0x71:0xb DW_TAG_variable
438	.byte	2                               # DW_AT_location
439	.byte	145
440	.byte	91
441	.byte	12                              # DW_AT_name
442	.byte	0                               # DW_AT_decl_file
443	.byte	17                              # DW_AT_decl_line
444	.long	256                             # DW_AT_type
445	.byte	3                               # Abbrev [3] 0x7c:0xb DW_TAG_variable
446	.byte	2                               # DW_AT_location
447	.byte	145
448	.byte	90
449	.byte	13                              # DW_AT_name
450	.byte	0                               # DW_AT_decl_file
451	.byte	18                              # DW_AT_decl_line
452	.long	261                             # DW_AT_type
453	.byte	3                               # Abbrev [3] 0x87:0xb DW_TAG_variable
454	.byte	2                               # DW_AT_location
455	.byte	145
456	.byte	84
457	.byte	14                              # DW_AT_name
458	.byte	0                               # DW_AT_decl_file
459	.byte	19                              # DW_AT_decl_line
460	.long	266                             # DW_AT_type
461	.byte	3                               # Abbrev [3] 0x92:0xb DW_TAG_variable
462	.byte	2                               # DW_AT_location
463	.byte	145
464	.byte	83
465	.byte	15                              # DW_AT_name
466	.byte	0                               # DW_AT_decl_file
467	.byte	21                              # DW_AT_decl_line
468	.long	192                             # DW_AT_type
469	.byte	3                               # Abbrev [3] 0x9d:0xb DW_TAG_variable
470	.byte	2                               # DW_AT_location
471	.byte	145
472	.byte	71
473	.byte	17                              # DW_AT_name
474	.byte	0                               # DW_AT_decl_file
475	.byte	22                              # DW_AT_decl_line
476	.long	271                             # DW_AT_type
477	.byte	3                               # Abbrev [3] 0xa8:0xc DW_TAG_variable
478	.byte	3                               # DW_AT_location
479	.byte	145
480	.ascii	"\247}"
481	.byte	19                              # DW_AT_name
482	.byte	0                               # DW_AT_decl_file
483	.byte	23                              # DW_AT_decl_line
484	.long	287                             # DW_AT_type
485	.byte	3                               # Abbrev [3] 0xb4:0xc DW_TAG_variable
486	.byte	3                               # DW_AT_location
487	.byte	145
488	.ascii	"\240}"
489	.byte	20                              # DW_AT_name
490	.byte	0                               # DW_AT_decl_file
491	.byte	24                              # DW_AT_decl_line
492	.long	305                             # DW_AT_type
493	.byte	4                               # Abbrev [4] 0xc0:0x8 DW_TAG_typedef
494	.long	201                             # DW_AT_type
495	.byte	16                              # DW_AT_name
496	.byte	0                               # DW_AT_decl_file
497	.byte	20                              # DW_AT_decl_line
498	.byte	0                               # End Of Children Mark
499	.byte	5                               # Abbrev [5] 0xc9:0x4 DW_TAG_base_type
500	.byte	6                               # DW_AT_name
501	.byte	6                               # DW_AT_encoding
502	.byte	1                               # DW_AT_byte_size
503	.byte	6                               # Abbrev [6] 0xcd:0x5 DW_TAG_pointer_type
504	.long	201                             # DW_AT_type
505	.byte	7                               # Abbrev [7] 0xd2:0x5 DW_TAG_reference_type
506	.long	201                             # DW_AT_type
507	.byte	8                               # Abbrev [8] 0xd7:0x5 DW_TAG_rvalue_reference_type
508	.long	201                             # DW_AT_type
509	.byte	9                               # Abbrev [9] 0xdc:0x9 DW_TAG_ptr_to_member_type
510	.long	229                             # DW_AT_type
511	.long	245                             # DW_AT_containing_type
512	.byte	10                              # Abbrev [10] 0xe5:0xb DW_TAG_subroutine_type
513	.long	201                             # DW_AT_type
514	.byte	11                              # Abbrev [11] 0xea:0x5 DW_TAG_formal_parameter
515	.long	240                             # DW_AT_type
516                                        # DW_AT_artificial
517	.byte	0                               # End Of Children Mark
518	.byte	6                               # Abbrev [6] 0xf0:0x5 DW_TAG_pointer_type
519	.long	245                             # DW_AT_type
520	.byte	12                              # Abbrev [12] 0xf5:0x2 DW_TAG_structure_type
521	.byte	11                              # DW_AT_name
522                                        # DW_AT_declaration
523	.byte	9                               # Abbrev [9] 0xf7:0x9 DW_TAG_ptr_to_member_type
524	.long	201                             # DW_AT_type
525	.long	245                             # DW_AT_containing_type
526	.byte	13                              # Abbrev [13] 0x100:0x5 DW_TAG_const_type
527	.long	201                             # DW_AT_type
528	.byte	14                              # Abbrev [14] 0x105:0x5 DW_TAG_volatile_type
529	.long	201                             # DW_AT_type
530	.byte	15                              # Abbrev [15] 0x10a:0x5 DW_TAG_restrict_type
531	.long	205                             # DW_AT_type
532	.byte	16                              # Abbrev [16] 0x10f:0xc DW_TAG_array_type
533	.long	201                             # DW_AT_type
534	.byte	17                              # Abbrev [17] 0x114:0x6 DW_TAG_subrange_type
535	.long	283                             # DW_AT_type
536	.byte	12                              # DW_AT_count
537	.byte	0                               # End Of Children Mark
538	.byte	18                              # Abbrev [18] 0x11b:0x4 DW_TAG_base_type
539	.byte	18                              # DW_AT_name
540	.byte	8                               # DW_AT_byte_size
541	.byte	7                               # DW_AT_encoding
542	.byte	16                              # Abbrev [16] 0x11f:0x12 DW_TAG_array_type
543	.long	201                             # DW_AT_type
544	.byte	17                              # Abbrev [17] 0x124:0x6 DW_TAG_subrange_type
545	.long	283                             # DW_AT_type
546	.byte	12                              # DW_AT_count
547	.byte	17                              # Abbrev [17] 0x12a:0x6 DW_TAG_subrange_type
548	.long	283                             # DW_AT_type
549	.byte	24                              # DW_AT_count
550	.byte	0                               # End Of Children Mark
551	.byte	4                               # Abbrev [4] 0x131:0x8 DW_TAG_typedef
552	.long	313                             # DW_AT_type
553	.byte	24                              # DW_AT_name
554	.byte	0                               # DW_AT_decl_file
555	.byte	8                               # DW_AT_decl_line
556	.byte	19                              # Abbrev [19] 0x139:0x16 DW_TAG_structure_type
557	.byte	5                               # DW_AT_calling_convention
558	.byte	23                              # DW_AT_name
559	.byte	4                               # DW_AT_byte_size
560	.byte	0                               # DW_AT_decl_file
561	.byte	4                               # DW_AT_decl_line
562	.byte	20                              # Abbrev [20] 0x13f:0x6 DW_TAG_template_type_parameter
563	.long	335                             # DW_AT_type
564	.byte	22                              # DW_AT_name
565	.byte	21                              # Abbrev [21] 0x145:0x9 DW_TAG_member
566	.byte	20                              # DW_AT_name
567	.long	335                             # DW_AT_type
568	.byte	0                               # DW_AT_decl_file
569	.byte	5                               # DW_AT_decl_line
570	.byte	0                               # DW_AT_data_member_location
571	.byte	0                               # End Of Children Mark
572	.byte	5                               # Abbrev [5] 0x14f:0x4 DW_TAG_base_type
573	.byte	21                              # DW_AT_name
574	.byte	5                               # DW_AT_encoding
575	.byte	4                               # DW_AT_byte_size
576	.byte	0                               # End Of Children Mark
577.Ldebug_info_end0:
578	.section	.debug_str_offsets,"",@progbits
579	.long	104                             # Length of String Offsets Set
580	.short	5
581	.short	0
582.Lstr_offsets_base0:
583	.section	.debug_str,"MS",@progbits,1
584.Linfo_string0:
585	.asciz	"clang version 19.0.0git" # string offset=0
586.Linfo_string1:
587	.asciz	"frame-types.cpp"               # string offset=107
588.Linfo_string2:
589	.asciz	"/tmp"                          # string offset=123
590.Linfo_string3:
591	.asciz	"_Z1fv"                         # string offset=128
592.Linfo_string4:
593	.asciz	"f"                             # string offset=134
594.Linfo_string5:
595	.asciz	"a"                             # string offset=136
596.Linfo_string6:
597	.asciz	"char"                          # string offset=138
598.Linfo_string7:
599	.asciz	"b"                             # string offset=143
600.Linfo_string8:
601	.asciz	"c"                             # string offset=145
602.Linfo_string9:
603	.asciz	"d"                             # string offset=147
604.Linfo_string10:
605	.asciz	"e"                             # string offset=149
606.Linfo_string11:
607	.asciz	"S"                             # string offset=151
608.Linfo_string12:
609	.asciz	"g"                             # string offset=153
610.Linfo_string13:
611	.asciz	"h"                             # string offset=155
612.Linfo_string14:
613	.asciz	"i"                             # string offset=157
614.Linfo_string15:
615	.asciz	"j"                             # string offset=159
616.Linfo_string16:
617	.asciz	"char_typedef"                  # string offset=161
618.Linfo_string17:
619	.asciz	"k"                             # string offset=174
620.Linfo_string18:
621	.asciz	"__ARRAY_SIZE_TYPE__"           # string offset=176
622.Linfo_string19:
623	.asciz	"l"                             # string offset=196
624.Linfo_string20:
625	.asciz	"m"                             # string offset=198
626.Linfo_string21:
627	.asciz	"int"                           # string offset=200
628.Linfo_string22:
629	.asciz	"Y"                             # string offset=204
630.Linfo_string23:
631	.asciz	"Base<int>"                     # string offset=206
632.Linfo_string24:
633	.asciz	"Alias<int>"                    # string offset=216
634	.section	.debug_str_offsets,"",@progbits
635	.long	.Linfo_string0
636	.long	.Linfo_string1
637	.long	.Linfo_string2
638	.long	.Linfo_string3
639	.long	.Linfo_string4
640	.long	.Linfo_string5
641	.long	.Linfo_string6
642	.long	.Linfo_string7
643	.long	.Linfo_string8
644	.long	.Linfo_string9
645	.long	.Linfo_string10
646	.long	.Linfo_string11
647	.long	.Linfo_string12
648	.long	.Linfo_string13
649	.long	.Linfo_string14
650	.long	.Linfo_string15
651	.long	.Linfo_string16
652	.long	.Linfo_string17
653	.long	.Linfo_string18
654	.long	.Linfo_string19
655	.long	.Linfo_string20
656	.long	.Linfo_string21
657	.long	.Linfo_string22
658	.long	.Linfo_string23
659	.long	.Linfo_string24
660	.section	.debug_addr,"",@progbits
661	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
662.Ldebug_addr_start0:
663	.short	5                               # DWARF version number
664	.byte	4                               # Address size
665	.byte	0                               # Segment selector size
666.Laddr_table_base0:
667	.long	.Lfunc_begin0
668.Ldebug_addr_end0:
669	.ident	"clang version 19.0.0git"
670	.section	".note.GNU-stack","",@progbits
671	.addrsig
672	.section	.debug_line,"",@progbits
673.Lline_table_start0:
674