xref: /llvm-project/bolt/test/X86/Inputs/dwarf4-df-input-lowpc-ranges-main.s (revision e1ceae4b6039869f738436e09fe072779a61aadb)
1# clang++ -fbasic-block-sections=all -ffunction-sections -g2 -gdwarf-4 -gsplit-dwarf
2# __attribute__((always_inline))
3# int doStuff(int val) {
4#   if (val)
5#     ++val;
6#   return val;
7# }
8# __attribute__((always_inline))
9# int doStuff2(int val) {
10#   int foo = 3;
11#   return val + foo;
12# }
13#
14#
15# int main(int argc, const char** argv) {
16#     return  doStuff(argc) + doStuff2(argc);;
17# }
18
19	.text
20	.file	"main.cpp"
21	.section	.text._Z7doStuffi,"ax",@progbits
22	.globl	_Z7doStuffi                     # -- Begin function _Z7doStuffi
23	.p2align	4, 0x90
24	.type	_Z7doStuffi,@function
25_Z7doStuffi:                            # @_Z7doStuffi
26.Lfunc_begin0:
27	.file	1 "." "main.cpp"
28	.loc	1 2 0                           # main.cpp:2:0
29	.cfi_startproc
30# %bb.0:                                # %entry
31	pushq	%rbp
32	.cfi_def_cfa_offset 16
33	.cfi_offset %rbp, -16
34	movq	%rsp, %rbp
35	.cfi_def_cfa_register %rbp
36	movl	%edi, -4(%rbp)
37.Ltmp0:
38	.loc	1 3 7 prologue_end              # main.cpp:3:7
39	cmpl	$0, -4(%rbp)
40.Ltmp1:
41	.loc	1 3 7 is_stmt 0                 # main.cpp:3:7
42	je	_Z7doStuffi.__part.2
43	jmp	_Z7doStuffi.__part.1
44.LBB_END0_0:
45	.cfi_endproc
46	.section	.text._Z7doStuffi,"ax",@progbits,unique,1
47_Z7doStuffi.__part.1:                   # %if.then
48	.cfi_startproc
49	.cfi_def_cfa %rbp, 16
50	.cfi_offset %rbp, -16
51	.loc	1 4 5 is_stmt 1                 # main.cpp:4:5
52	movl	-4(%rbp), %eax
53	addl	$1, %eax
54	movl	%eax, -4(%rbp)
55	jmp	_Z7doStuffi.__part.2
56.LBB_END0_1:
57	.size	_Z7doStuffi.__part.1, .LBB_END0_1-_Z7doStuffi.__part.1
58	.cfi_endproc
59	.section	.text._Z7doStuffi,"ax",@progbits,unique,2
60_Z7doStuffi.__part.2:                   # %if.end
61	.cfi_startproc
62	.cfi_def_cfa %rbp, 16
63	.cfi_offset %rbp, -16
64	.loc	1 5 10                          # main.cpp:5:10
65	movl	-4(%rbp), %eax
66	.loc	1 5 3 epilogue_begin is_stmt 0  # main.cpp:5:3
67	popq	%rbp
68	.cfi_def_cfa %rsp, 8
69	retq
70.LBB_END0_2:
71	.size	_Z7doStuffi.__part.2, .LBB_END0_2-_Z7doStuffi.__part.2
72	.cfi_endproc
73	.section	.text._Z7doStuffi,"ax",@progbits
74.Lfunc_end0:
75	.size	_Z7doStuffi, .Lfunc_end0-_Z7doStuffi
76                                        # -- End function
77	.section	.text._Z8doStuff2i,"ax",@progbits
78	.globl	_Z8doStuff2i                    # -- Begin function _Z8doStuff2i
79	.p2align	4, 0x90
80	.type	_Z8doStuff2i,@function
81_Z8doStuff2i:                           # @_Z8doStuff2i
82.Lfunc_begin1:
83	.loc	1 8 0 is_stmt 1                 # main.cpp:8:0
84	.cfi_startproc
85# %bb.0:                                # %entry
86	pushq	%rbp
87	.cfi_def_cfa_offset 16
88	.cfi_offset %rbp, -16
89	movq	%rsp, %rbp
90	.cfi_def_cfa_register %rbp
91	movl	%edi, -4(%rbp)
92.Ltmp2:
93	.loc	1 9 7 prologue_end              # main.cpp:9:7
94	movl	$3, -8(%rbp)
95	.loc	1 10 10                         # main.cpp:10:10
96	movl	-4(%rbp), %eax
97	.loc	1 10 14 is_stmt 0               # main.cpp:10:14
98	addl	-8(%rbp), %eax
99	.loc	1 10 3 epilogue_begin           # main.cpp:10:3
100	popq	%rbp
101	.cfi_def_cfa %rsp, 8
102	retq
103.LBB_END1_0:
104	.cfi_endproc
105.Lfunc_end1:
106	.size	_Z8doStuff2i, .Lfunc_end1-_Z8doStuff2i
107                                        # -- End function
108	.section	.text.main,"ax",@progbits
109	.globl	main                            # -- Begin function main
110	.p2align	4, 0x90
111	.type	main,@function
112main:                                   # @main
113.Lfunc_begin2:
114	.loc	1 14 0 is_stmt 1                # main.cpp:14:0
115	.cfi_startproc
116# %bb.0:                                # %entry
117	pushq	%rbp
118	.cfi_def_cfa_offset 16
119	.cfi_offset %rbp, -16
120	movq	%rsp, %rbp
121	.cfi_def_cfa_register %rbp
122	movl	$0, -16(%rbp)
123	movl	%edi, -20(%rbp)
124	movq	%rsi, -32(%rbp)
125.Ltmp3:
126	.loc	1 15 21 prologue_end            # main.cpp:15:21
127	movl	-20(%rbp), %eax
128	movl	%eax, -12(%rbp)
129.Ltmp4:
130	.loc	1 3 7                           # main.cpp:3:7
131	cmpl	$0, -12(%rbp)
132.Ltmp5:
133	.loc	1 3 7 is_stmt 0                 # main.cpp:3:7
134	je	main.__part.2
135	jmp	main.__part.1
136.LBB_END2_0:
137	.cfi_endproc
138	.section	.text.main,"ax",@progbits,unique,3
139main.__part.1:                          # %if.then.i
140	.cfi_startproc
141	.cfi_def_cfa %rbp, 16
142	.cfi_offset %rbp, -16
143	.loc	1 4 5 is_stmt 1                 # main.cpp:4:5
144	movl	-12(%rbp), %eax
145	addl	$1, %eax
146	movl	%eax, -12(%rbp)
147	jmp	main.__part.2
148.LBB_END2_1:
149	.size	main.__part.1, .LBB_END2_1-main.__part.1
150	.cfi_endproc
151	.section	.text.main,"ax",@progbits,unique,4
152main.__part.2:                          # %_Z7doStuffi.exit
153	.cfi_startproc
154	.cfi_def_cfa %rbp, 16
155	.cfi_offset %rbp, -16
156	.loc	1 5 10                          # main.cpp:5:10
157	movl	-12(%rbp), %eax
158.Ltmp6:
159	.loc	1 15 38                         # main.cpp:15:38
160	movl	-20(%rbp), %ecx
161	movl	%ecx, -4(%rbp)
162.Ltmp7:
163	.loc	1 9 7                           # main.cpp:9:7
164	movl	$3, -8(%rbp)
165	.loc	1 10 10                         # main.cpp:10:10
166	movl	-4(%rbp), %ecx
167	.loc	1 10 14 is_stmt 0               # main.cpp:10:14
168	addl	-8(%rbp), %ecx
169.Ltmp8:
170	.loc	1 15 27 is_stmt 1               # main.cpp:15:27
171	addl	%ecx, %eax
172	.loc	1 15 5 epilogue_begin is_stmt 0 # main.cpp:15:5
173	popq	%rbp
174	.cfi_def_cfa %rsp, 8
175	retq
176.LBB_END2_2:
177	.size	main.__part.2, .LBB_END2_2-main.__part.2
178	.cfi_endproc
179	.section	.text.main,"ax",@progbits
180.Lfunc_end2:
181	.size	main, .Lfunc_end2-main
182                                        # -- End function
183	.section	.debug_abbrev,"",@progbits
184	.byte	1                               # Abbreviation Code
185	.byte	17                              # DW_TAG_compile_unit
186	.byte	0                               # DW_CHILDREN_no
187	.byte	16                              # DW_AT_stmt_list
188	.byte	23                              # DW_FORM_sec_offset
189	.byte	27                              # DW_AT_comp_dir
190	.byte	14                              # DW_FORM_strp
191	.ascii	"\264B"                         # DW_AT_GNU_pubnames
192	.byte	25                              # DW_FORM_flag_present
193	.ascii	"\260B"                         # DW_AT_GNU_dwo_name
194	.byte	14                              # DW_FORM_strp
195	.ascii	"\261B"                         # DW_AT_GNU_dwo_id
196	.byte	7                               # DW_FORM_data8
197	.ascii	"\262B"                         # DW_AT_GNU_ranges_base
198	.byte	23                              # DW_FORM_sec_offset
199	.byte	17                              # DW_AT_low_pc
200	.byte	1                               # DW_FORM_addr
201	.byte	85                              # DW_AT_ranges
202	.byte	23                              # DW_FORM_sec_offset
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:0x29 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	1354107878901449185             # DW_AT_GNU_dwo_id
221	.long	.debug_ranges                   # DW_AT_GNU_ranges_base
222	.quad	0                               # DW_AT_low_pc
223	.long	.Ldebug_ranges3                 # DW_AT_ranges
224	.long	.Laddr_table_base0              # DW_AT_GNU_addr_base
225.Ldebug_info_end0:
226	.section	.debug_ranges,"",@progbits
227.Ldebug_ranges0:
228	.quad	_Z7doStuffi.__part.1
229	.quad	.LBB_END0_1
230	.quad	_Z7doStuffi.__part.2
231	.quad	.LBB_END0_2
232	.quad	.Lfunc_begin0
233	.quad	.Lfunc_end0
234	.quad	0
235	.quad	0
236.Ldebug_ranges1:
237	.quad	main.__part.1
238	.quad	.LBB_END2_1
239	.quad	main.__part.2
240	.quad	.LBB_END2_2
241	.quad	.Lfunc_begin2
242	.quad	.Lfunc_end2
243	.quad	0
244	.quad	0
245.Ldebug_ranges2:
246	.quad	.Ltmp4
247	.quad	.Lfunc_end2
248	.quad	main.__part.1
249	.quad	.LBB_END2_1
250	.quad	main.__part.2
251	.quad	.Ltmp6
252	.quad	0
253	.quad	0
254.Ldebug_ranges3:
255	.quad	_Z7doStuffi.__part.1
256	.quad	.LBB_END0_1
257	.quad	_Z7doStuffi.__part.2
258	.quad	.LBB_END0_2
259	.quad	.Lfunc_begin0
260	.quad	.Lfunc_end0
261	.quad	.Lfunc_begin1
262	.quad	.Lfunc_end1
263	.quad	main.__part.1
264	.quad	.LBB_END2_1
265	.quad	main.__part.2
266	.quad	.LBB_END2_2
267	.quad	.Lfunc_begin2
268	.quad	.Lfunc_end2
269	.quad	0
270	.quad	0
271	.section	.debug_str,"MS",@progbits,1
272.Lskel_string0:
273	.asciz	"." # string offset=0
274.Lskel_string1:
275	.asciz	"main.dwo"                      # string offset=38
276	.section	.debug_str.dwo,"eMS",@progbits,1
277.Linfo_string0:
278	.asciz	"_Z7doStuffi"                   # string offset=0
279.Linfo_string1:
280	.asciz	"doStuff"                       # string offset=12
281.Linfo_string2:
282	.asciz	"int"                           # string offset=20
283.Linfo_string3:
284	.asciz	"val"                           # string offset=24
285.Linfo_string4:
286	.asciz	"_Z8doStuff2i"                  # string offset=28
287.Linfo_string5:
288	.asciz	"doStuff2"                      # string offset=41
289.Linfo_string6:
290	.asciz	"foo"                           # string offset=50
291.Linfo_string7:
292	.asciz	"main"                          # string offset=54
293.Linfo_string8:
294	.asciz	"argc"                          # string offset=59
295.Linfo_string9:
296	.asciz	"argv"                          # string offset=64
297.Linfo_string10:
298	.asciz	"char"                          # string offset=69
299.Linfo_string11:
300	.asciz	"clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)" # string offset=74
301.Linfo_string12:
302	.asciz	"main.cpp"                      # string offset=175
303.Linfo_string13:
304	.asciz	"main.dwo"                      # string offset=184
305	.section	.debug_str_offsets.dwo,"e",@progbits
306	.long	0
307	.long	12
308	.long	20
309	.long	24
310	.long	28
311	.long	41
312	.long	50
313	.long	54
314	.long	59
315	.long	64
316	.long	69
317	.long	74
318	.long	175
319	.long	184
320	.section	.debug_info.dwo,"e",@progbits
321	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
322.Ldebug_info_dwo_start0:
323	.short	4                               # DWARF version number
324	.long	0                               # Offset Into Abbrev. Section
325	.byte	8                               # Address Size (in bytes)
326	.byte	1                               # Abbrev [1] 0xb:0xdd DW_TAG_compile_unit
327	.byte	11                              # DW_AT_producer
328	.short	33                              # DW_AT_language
329	.byte	12                              # DW_AT_name
330	.byte	13                              # DW_AT_GNU_dwo_name
331	.quad	1354107878901449185             # DW_AT_GNU_dwo_id
332	.byte	2                               # Abbrev [2] 0x19:0x14 DW_TAG_subprogram
333	.long	.Ldebug_ranges0-.debug_ranges   # DW_AT_ranges
334	.byte	1                               # DW_AT_frame_base
335	.byte	86
336	.long	74                              # DW_AT_abstract_origin
337	.byte	3                               # Abbrev [3] 0x24:0x8 DW_TAG_formal_parameter
338	.byte	2                               # DW_AT_location
339	.byte	145
340	.byte	124
341	.long	84                              # DW_AT_abstract_origin
342	.byte	0                               # End Of Children Mark
343	.byte	4                               # Abbrev [4] 0x2d:0x1d DW_TAG_subprogram
344	.byte	3                               # DW_AT_low_pc
345	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc
346	.byte	1                               # DW_AT_frame_base
347	.byte	86
348	.long	97                              # DW_AT_abstract_origin
349	.byte	3                               # Abbrev [3] 0x39:0x8 DW_TAG_formal_parameter
350	.byte	2                               # DW_AT_location
351	.byte	145
352	.byte	124
353	.long	107                             # DW_AT_abstract_origin
354	.byte	5                               # Abbrev [5] 0x41:0x8 DW_TAG_variable
355	.byte	2                               # DW_AT_location
356	.byte	145
357	.byte	120
358	.long	115                             # DW_AT_abstract_origin
359	.byte	0                               # End Of Children Mark
360	.byte	6                               # Abbrev [6] 0x4a:0x13 DW_TAG_subprogram
361	.byte	0                               # DW_AT_linkage_name
362	.byte	1                               # DW_AT_name
363	.byte	1                               # DW_AT_decl_file
364	.byte	2                               # DW_AT_decl_line
365	.long	93                              # DW_AT_type
366                                        # DW_AT_external
367	.byte	1                               # DW_AT_inline
368	.byte	7                               # Abbrev [7] 0x54:0x8 DW_TAG_formal_parameter
369	.byte	3                               # DW_AT_name
370	.byte	1                               # DW_AT_decl_file
371	.byte	2                               # DW_AT_decl_line
372	.long	93                              # DW_AT_type
373	.byte	0                               # End Of Children Mark
374	.byte	8                               # Abbrev [8] 0x5d:0x4 DW_TAG_base_type
375	.byte	2                               # DW_AT_name
376	.byte	5                               # DW_AT_encoding
377	.byte	4                               # DW_AT_byte_size
378	.byte	6                               # Abbrev [6] 0x61:0x1b DW_TAG_subprogram
379	.byte	4                               # DW_AT_linkage_name
380	.byte	5                               # DW_AT_name
381	.byte	1                               # DW_AT_decl_file
382	.byte	8                               # DW_AT_decl_line
383	.long	93                              # DW_AT_type
384                                        # DW_AT_external
385	.byte	1                               # DW_AT_inline
386	.byte	7                               # Abbrev [7] 0x6b:0x8 DW_TAG_formal_parameter
387	.byte	3                               # DW_AT_name
388	.byte	1                               # DW_AT_decl_file
389	.byte	8                               # DW_AT_decl_line
390	.long	93                              # DW_AT_type
391	.byte	9                               # Abbrev [9] 0x73:0x8 DW_TAG_variable
392	.byte	6                               # DW_AT_name
393	.byte	1                               # DW_AT_decl_file
394	.byte	9                               # DW_AT_decl_line
395	.long	93                              # DW_AT_type
396	.byte	0                               # End Of Children Mark
397	.byte	10                              # Abbrev [10] 0x7c:0x58 DW_TAG_subprogram
398	.long	.Ldebug_ranges1-.debug_ranges   # DW_AT_ranges
399	.byte	1                               # DW_AT_frame_base
400	.byte	86
401	.byte	7                               # DW_AT_name
402	.byte	1                               # DW_AT_decl_file
403	.byte	14                              # DW_AT_decl_line
404	.long	93                              # DW_AT_type
405                                        # DW_AT_external
406	.byte	11                              # Abbrev [11] 0x8a:0xb DW_TAG_formal_parameter
407	.byte	2                               # DW_AT_location
408	.byte	145
409	.byte	108
410	.byte	8                               # DW_AT_name
411	.byte	1                               # DW_AT_decl_file
412	.byte	14                              # DW_AT_decl_line
413	.long	93                              # DW_AT_type
414	.byte	11                              # Abbrev [11] 0x95:0xb DW_TAG_formal_parameter
415	.byte	2                               # DW_AT_location
416	.byte	145
417	.byte	96
418	.byte	9                               # DW_AT_name
419	.byte	1                               # DW_AT_decl_file
420	.byte	14                              # DW_AT_decl_line
421	.long	212                             # DW_AT_type
422	.byte	12                              # Abbrev [12] 0xa0:0x15 DW_TAG_inlined_subroutine
423	.long	74                              # DW_AT_abstract_origin
424	.long	.Ldebug_ranges2-.debug_ranges   # DW_AT_ranges
425	.byte	1                               # DW_AT_call_file
426	.byte	15                              # DW_AT_call_line
427	.byte	13                              # DW_AT_call_column
428	.byte	3                               # Abbrev [3] 0xac:0x8 DW_TAG_formal_parameter
429	.byte	2                               # DW_AT_location
430	.byte	145
431	.byte	116
432	.long	84                              # DW_AT_abstract_origin
433	.byte	0                               # End Of Children Mark
434	.byte	13                              # Abbrev [13] 0xb5:0x1e DW_TAG_inlined_subroutine
435	.long	97                              # DW_AT_abstract_origin
436	.byte	7                               # DW_AT_low_pc
437	.long	.Ltmp8-.Ltmp7                   # DW_AT_high_pc
438	.byte	1                               # DW_AT_call_file
439	.byte	15                              # DW_AT_call_line
440	.byte	29                              # DW_AT_call_column
441	.byte	3                               # Abbrev [3] 0xc2:0x8 DW_TAG_formal_parameter
442	.byte	2                               # DW_AT_location
443	.byte	145
444	.byte	124
445	.long	107                             # DW_AT_abstract_origin
446	.byte	5                               # Abbrev [5] 0xca:0x8 DW_TAG_variable
447	.byte	2                               # DW_AT_location
448	.byte	145
449	.byte	120
450	.long	115                             # DW_AT_abstract_origin
451	.byte	0                               # End Of Children Mark
452	.byte	0                               # End Of Children Mark
453	.byte	14                              # Abbrev [14] 0xd4:0x5 DW_TAG_pointer_type
454	.long	217                             # DW_AT_type
455	.byte	14                              # Abbrev [14] 0xd9:0x5 DW_TAG_pointer_type
456	.long	222                             # DW_AT_type
457	.byte	15                              # Abbrev [15] 0xde:0x5 DW_TAG_const_type
458	.long	227                             # DW_AT_type
459	.byte	8                               # Abbrev [8] 0xe3:0x4 DW_TAG_base_type
460	.byte	10                              # DW_AT_name
461	.byte	6                               # DW_AT_encoding
462	.byte	1                               # DW_AT_byte_size
463	.byte	0                               # End Of Children Mark
464.Ldebug_info_dwo_end0:
465	.section	.debug_abbrev.dwo,"e",@progbits
466	.byte	1                               # Abbreviation Code
467	.byte	17                              # DW_TAG_compile_unit
468	.byte	1                               # DW_CHILDREN_yes
469	.byte	37                              # DW_AT_producer
470	.ascii	"\202>"                         # DW_FORM_GNU_str_index
471	.byte	19                              # DW_AT_language
472	.byte	5                               # DW_FORM_data2
473	.byte	3                               # DW_AT_name
474	.ascii	"\202>"                         # DW_FORM_GNU_str_index
475	.ascii	"\260B"                         # DW_AT_GNU_dwo_name
476	.ascii	"\202>"                         # DW_FORM_GNU_str_index
477	.ascii	"\261B"                         # DW_AT_GNU_dwo_id
478	.byte	7                               # DW_FORM_data8
479	.byte	0                               # EOM(1)
480	.byte	0                               # EOM(2)
481	.byte	2                               # Abbreviation Code
482	.byte	46                              # DW_TAG_subprogram
483	.byte	1                               # DW_CHILDREN_yes
484	.byte	85                              # DW_AT_ranges
485	.byte	23                              # DW_FORM_sec_offset
486	.byte	64                              # DW_AT_frame_base
487	.byte	24                              # DW_FORM_exprloc
488	.byte	49                              # DW_AT_abstract_origin
489	.byte	19                              # DW_FORM_ref4
490	.byte	0                               # EOM(1)
491	.byte	0                               # EOM(2)
492	.byte	3                               # Abbreviation Code
493	.byte	5                               # DW_TAG_formal_parameter
494	.byte	0                               # DW_CHILDREN_no
495	.byte	2                               # DW_AT_location
496	.byte	24                              # DW_FORM_exprloc
497	.byte	49                              # DW_AT_abstract_origin
498	.byte	19                              # DW_FORM_ref4
499	.byte	0                               # EOM(1)
500	.byte	0                               # EOM(2)
501	.byte	4                               # Abbreviation Code
502	.byte	46                              # DW_TAG_subprogram
503	.byte	1                               # DW_CHILDREN_yes
504	.byte	17                              # DW_AT_low_pc
505	.ascii	"\201>"                         # DW_FORM_GNU_addr_index
506	.byte	18                              # DW_AT_high_pc
507	.byte	6                               # DW_FORM_data4
508	.byte	64                              # DW_AT_frame_base
509	.byte	24                              # DW_FORM_exprloc
510	.byte	49                              # DW_AT_abstract_origin
511	.byte	19                              # DW_FORM_ref4
512	.byte	0                               # EOM(1)
513	.byte	0                               # EOM(2)
514	.byte	5                               # Abbreviation Code
515	.byte	52                              # DW_TAG_variable
516	.byte	0                               # DW_CHILDREN_no
517	.byte	2                               # DW_AT_location
518	.byte	24                              # DW_FORM_exprloc
519	.byte	49                              # DW_AT_abstract_origin
520	.byte	19                              # DW_FORM_ref4
521	.byte	0                               # EOM(1)
522	.byte	0                               # EOM(2)
523	.byte	6                               # Abbreviation Code
524	.byte	46                              # DW_TAG_subprogram
525	.byte	1                               # DW_CHILDREN_yes
526	.byte	110                             # DW_AT_linkage_name
527	.ascii	"\202>"                         # DW_FORM_GNU_str_index
528	.byte	3                               # DW_AT_name
529	.ascii	"\202>"                         # DW_FORM_GNU_str_index
530	.byte	58                              # DW_AT_decl_file
531	.byte	11                              # DW_FORM_data1
532	.byte	59                              # DW_AT_decl_line
533	.byte	11                              # DW_FORM_data1
534	.byte	73                              # DW_AT_type
535	.byte	19                              # DW_FORM_ref4
536	.byte	63                              # DW_AT_external
537	.byte	25                              # DW_FORM_flag_present
538	.byte	32                              # DW_AT_inline
539	.byte	11                              # DW_FORM_data1
540	.byte	0                               # EOM(1)
541	.byte	0                               # EOM(2)
542	.byte	7                               # Abbreviation Code
543	.byte	5                               # DW_TAG_formal_parameter
544	.byte	0                               # DW_CHILDREN_no
545	.byte	3                               # DW_AT_name
546	.ascii	"\202>"                         # DW_FORM_GNU_str_index
547	.byte	58                              # DW_AT_decl_file
548	.byte	11                              # DW_FORM_data1
549	.byte	59                              # DW_AT_decl_line
550	.byte	11                              # DW_FORM_data1
551	.byte	73                              # DW_AT_type
552	.byte	19                              # DW_FORM_ref4
553	.byte	0                               # EOM(1)
554	.byte	0                               # EOM(2)
555	.byte	8                               # Abbreviation Code
556	.byte	36                              # DW_TAG_base_type
557	.byte	0                               # DW_CHILDREN_no
558	.byte	3                               # DW_AT_name
559	.ascii	"\202>"                         # DW_FORM_GNU_str_index
560	.byte	62                              # DW_AT_encoding
561	.byte	11                              # DW_FORM_data1
562	.byte	11                              # DW_AT_byte_size
563	.byte	11                              # DW_FORM_data1
564	.byte	0                               # EOM(1)
565	.byte	0                               # EOM(2)
566	.byte	9                               # Abbreviation Code
567	.byte	52                              # DW_TAG_variable
568	.byte	0                               # DW_CHILDREN_no
569	.byte	3                               # DW_AT_name
570	.ascii	"\202>"                         # DW_FORM_GNU_str_index
571	.byte	58                              # DW_AT_decl_file
572	.byte	11                              # DW_FORM_data1
573	.byte	59                              # DW_AT_decl_line
574	.byte	11                              # DW_FORM_data1
575	.byte	73                              # DW_AT_type
576	.byte	19                              # DW_FORM_ref4
577	.byte	0                               # EOM(1)
578	.byte	0                               # EOM(2)
579	.byte	10                              # Abbreviation Code
580	.byte	46                              # DW_TAG_subprogram
581	.byte	1                               # DW_CHILDREN_yes
582	.byte	85                              # DW_AT_ranges
583	.byte	23                              # DW_FORM_sec_offset
584	.byte	64                              # DW_AT_frame_base
585	.byte	24                              # DW_FORM_exprloc
586	.byte	3                               # DW_AT_name
587	.ascii	"\202>"                         # DW_FORM_GNU_str_index
588	.byte	58                              # DW_AT_decl_file
589	.byte	11                              # DW_FORM_data1
590	.byte	59                              # DW_AT_decl_line
591	.byte	11                              # DW_FORM_data1
592	.byte	73                              # DW_AT_type
593	.byte	19                              # DW_FORM_ref4
594	.byte	63                              # DW_AT_external
595	.byte	25                              # DW_FORM_flag_present
596	.byte	0                               # EOM(1)
597	.byte	0                               # EOM(2)
598	.byte	11                              # Abbreviation Code
599	.byte	5                               # DW_TAG_formal_parameter
600	.byte	0                               # DW_CHILDREN_no
601	.byte	2                               # DW_AT_location
602	.byte	24                              # DW_FORM_exprloc
603	.byte	3                               # DW_AT_name
604	.ascii	"\202>"                         # DW_FORM_GNU_str_index
605	.byte	58                              # DW_AT_decl_file
606	.byte	11                              # DW_FORM_data1
607	.byte	59                              # DW_AT_decl_line
608	.byte	11                              # DW_FORM_data1
609	.byte	73                              # DW_AT_type
610	.byte	19                              # DW_FORM_ref4
611	.byte	0                               # EOM(1)
612	.byte	0                               # EOM(2)
613	.byte	12                              # Abbreviation Code
614	.byte	29                              # DW_TAG_inlined_subroutine
615	.byte	1                               # DW_CHILDREN_yes
616	.byte	49                              # DW_AT_abstract_origin
617	.byte	19                              # DW_FORM_ref4
618	.byte	85                              # DW_AT_ranges
619	.byte	23                              # DW_FORM_sec_offset
620	.byte	88                              # DW_AT_call_file
621	.byte	11                              # DW_FORM_data1
622	.byte	89                              # DW_AT_call_line
623	.byte	11                              # DW_FORM_data1
624	.byte	87                              # DW_AT_call_column
625	.byte	11                              # DW_FORM_data1
626	.byte	0                               # EOM(1)
627	.byte	0                               # EOM(2)
628	.byte	13                              # Abbreviation Code
629	.byte	29                              # DW_TAG_inlined_subroutine
630	.byte	1                               # DW_CHILDREN_yes
631	.byte	49                              # DW_AT_abstract_origin
632	.byte	19                              # DW_FORM_ref4
633	.byte	17                              # DW_AT_low_pc
634	.ascii	"\201>"                         # DW_FORM_GNU_addr_index
635	.byte	18                              # DW_AT_high_pc
636	.byte	6                               # DW_FORM_data4
637	.byte	88                              # DW_AT_call_file
638	.byte	11                              # DW_FORM_data1
639	.byte	89                              # DW_AT_call_line
640	.byte	11                              # DW_FORM_data1
641	.byte	87                              # DW_AT_call_column
642	.byte	11                              # DW_FORM_data1
643	.byte	0                               # EOM(1)
644	.byte	0                               # EOM(2)
645	.byte	14                              # Abbreviation Code
646	.byte	15                              # DW_TAG_pointer_type
647	.byte	0                               # DW_CHILDREN_no
648	.byte	73                              # DW_AT_type
649	.byte	19                              # DW_FORM_ref4
650	.byte	0                               # EOM(1)
651	.byte	0                               # EOM(2)
652	.byte	15                              # Abbreviation Code
653	.byte	38                              # DW_TAG_const_type
654	.byte	0                               # DW_CHILDREN_no
655	.byte	73                              # DW_AT_type
656	.byte	19                              # DW_FORM_ref4
657	.byte	0                               # EOM(1)
658	.byte	0                               # EOM(2)
659	.byte	0                               # EOM(3)
660	.section	.debug_addr,"",@progbits
661.Laddr_table_base0:
662	.quad	_Z7doStuffi.__part.1
663	.quad	_Z7doStuffi.__part.2
664	.quad	.Lfunc_begin0
665	.quad	.Lfunc_begin1
666	.quad	main.__part.1
667	.quad	main.__part.2
668	.quad	.Lfunc_begin2
669	.quad	.Ltmp7
670	.section	.debug_gnu_pubnames,"",@progbits
671	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
672.LpubNames_start0:
673	.short	2                               # DWARF Version
674	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
675	.long	52                              # Compilation Unit Length
676	.long	74                              # DIE offset
677	.byte	48                              # Attributes: FUNCTION, EXTERNAL
678	.asciz	"doStuff"                       # External Name
679	.long	97                              # DIE offset
680	.byte	48                              # Attributes: FUNCTION, EXTERNAL
681	.asciz	"doStuff2"                      # External Name
682	.long	124                             # DIE offset
683	.byte	48                              # Attributes: FUNCTION, EXTERNAL
684	.asciz	"main"                          # External Name
685	.long	0                               # End Mark
686.LpubNames_end0:
687	.section	.debug_gnu_pubtypes,"",@progbits
688	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
689.LpubTypes_start0:
690	.short	2                               # DWARF Version
691	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
692	.long	52                              # Compilation Unit Length
693	.long	93                              # DIE offset
694	.byte	144                             # Attributes: TYPE, STATIC
695	.asciz	"int"                           # External Name
696	.long	227                             # DIE offset
697	.byte	144                             # Attributes: TYPE, STATIC
698	.asciz	"char"                          # External Name
699	.long	0                               # End Mark
700.LpubTypes_end0:
701	.ident	"clang version 18.0.0 (git@github.com:llvm/llvm-project.git 3a8db0f4bfb57348f49d9603119fa157114bbf8e)"
702	.section	".note.GNU-stack","",@progbits
703	.addrsig
704	.section	.debug_line,"",@progbits
705.Lline_table_start0:
706