xref: /llvm-project/bolt/test/X86/Inputs/dwarf5-df-inlined-subroutine-range-0-main.s (revision 9eb0df3aa98eeaf100f31eccf34963cdf1fbb8cd)
1# __attribute__((always_inline))
2# int doStuff(int val) {
3#   if (val)
4#     ++val;
5#   return val;
6# }
7# __attribute__((always_inline))
8# int doStuffSame(int val) {
9#       if (val)
10#             ++val;
11#         return val;
12# }
13#
14#
15# int main(int argc, const char** argv) {
16#     return  doStuff(argc) + doStuffSame(argc);
17# }
18# Manually modified to set range to 0.
19
20	.text
21	.file	"main.cpp"
22	.section	.text._Z7doStuffi,"ax",@progbits
23	.globl	_Z7doStuffi                     # -- Begin function _Z7doStuffi
24	.p2align	4, 0x90
25	.type	_Z7doStuffi,@function
26_Z7doStuffi:                            # @_Z7doStuffi
27.Lfunc_begin0:
28	.file	0 "." "main.cpp" md5 0x5391f0751c21da59df94bf9d3771518e
29	.loc	0 2 0                           # main.cpp:2:0
30	.cfi_startproc
31# %bb.0:                                # %entry
32	pushq	%rbp
33	.cfi_def_cfa_offset 16
34	.cfi_offset %rbp, -16
35	movq	%rsp, %rbp
36	.cfi_def_cfa_register %rbp
37	movl	%edi, -4(%rbp)
38.Ltmp0:
39	.loc	0 3 7 prologue_end              # main.cpp:3:7
40	cmpl	$0, -4(%rbp)
41.Ltmp1:
42	.loc	0 3 7 is_stmt 0                 # main.cpp:3:7
43	je	.LBB0_2
44# %bb.1:                                # %if.then
45.Ltmp2:
46	.loc	0 4 5 is_stmt 1                 # main.cpp:4:5
47	movl	-4(%rbp), %eax
48	addl	$1, %eax
49	movl	%eax, -4(%rbp)
50.Ltmp3:
51.LBB0_2:                                # %if.end
52	.loc	0 5 10                          # main.cpp:5:10
53	movl	-4(%rbp), %eax
54	.loc	0 5 3 epilogue_begin is_stmt 0  # main.cpp:5:3
55	popq	%rbp
56	.cfi_def_cfa %rsp, 8
57	retq
58.Ltmp4:
59.Lfunc_end0:
60	.size	_Z7doStuffi, .Lfunc_end0-_Z7doStuffi
61	.cfi_endproc
62                                        # -- End function
63	.section	.text._Z11doStuffSamei,"ax",@progbits
64	.globl	_Z11doStuffSamei                # -- Begin function _Z11doStuffSamei
65	.p2align	4, 0x90
66	.type	_Z11doStuffSamei,@function
67_Z11doStuffSamei:                       # @_Z11doStuffSamei
68.Lfunc_begin1:
69	.loc	0 8 0 is_stmt 1                 # main.cpp:8:0
70	.cfi_startproc
71# %bb.0:                                # %entry
72	pushq	%rbp
73	.cfi_def_cfa_offset 16
74	.cfi_offset %rbp, -16
75	movq	%rsp, %rbp
76	.cfi_def_cfa_register %rbp
77	movl	%edi, -4(%rbp)
78.Ltmp5:
79	.loc	0 9 11 prologue_end             # main.cpp:9:11
80	cmpl	$0, -4(%rbp)
81.Ltmp6:
82	.loc	0 9 11 is_stmt 0                # main.cpp:9:11
83	je	.LBB1_2
84# %bb.1:                                # %if.then
85.Ltmp7:
86	.loc	0 10 13 is_stmt 1               # main.cpp:10:13
87	movl	-4(%rbp), %eax
88	addl	$1, %eax
89	movl	%eax, -4(%rbp)
90.Ltmp8:
91.LBB1_2:                                # %if.end
92	.loc	0 11 16                         # main.cpp:11:16
93	movl	-4(%rbp), %eax
94	.loc	0 11 9 epilogue_begin is_stmt 0 # main.cpp:11:9
95	popq	%rbp
96	.cfi_def_cfa %rsp, 8
97	retq
98.Ltmp9:
99.Lfunc_end1:
100	.size	_Z11doStuffSamei, .Lfunc_end1-_Z11doStuffSamei
101	.cfi_endproc
102                                        # -- End function
103	.section	.text.main,"ax",@progbits
104	.globl	main                            # -- Begin function main
105	.p2align	4, 0x90
106	.type	main,@function
107main:                                   # @main
108.Lfunc_begin2:
109	.loc	0 15 0 is_stmt 1                # main.cpp:15:0
110	.cfi_startproc
111# %bb.0:                                # %entry
112	pushq	%rbp
113	.cfi_def_cfa_offset 16
114	.cfi_offset %rbp, -16
115	movq	%rsp, %rbp
116	.cfi_def_cfa_register %rbp
117	movl	$0, -12(%rbp)
118	movl	%edi, -16(%rbp)
119	movq	%rsi, -24(%rbp)
120.Ltmp10:
121	.loc	0 16 21 prologue_end            # main.cpp:16:21
122	movl	-16(%rbp), %eax
123	movl	%eax, -8(%rbp)
124.Ltmp11:
125	.loc	0 3 7                           # main.cpp:3:7
126	cmpl	$0, -8(%rbp)
127.Ltmp12:
128	.loc	0 3 7 is_stmt 0                 # main.cpp:3:7
129	je	.LBB2_2
130# %bb.1:                                # %if.then.i
131.Ltmp13:
132	.loc	0 4 5 is_stmt 1                 # main.cpp:4:5
133	movl	-8(%rbp), %eax
134	addl	$1, %eax
135	movl	%eax, -8(%rbp)
136.Ltmp14:
137.LBB2_2:                                # %_Z7doStuffi.exit
138	.loc	0 5 10                          # main.cpp:5:10
139	movl	-8(%rbp), %eax
140	movl	%eax, -28(%rbp)                 # 4-byte Spill
141.Ltmp15:
142	.loc	0 16 41                         # main.cpp:16:41
143	movl	-16(%rbp), %eax
144	movl	%eax, -4(%rbp)
145.Ltmp16:
146	.loc	0 9 11                          # main.cpp:9:11
147	cmpl	$0, -4(%rbp)
148.Ltmp17:
149	.loc	0 9 11 is_stmt 0                # main.cpp:9:11
150	je	.LBB2_4
151# %bb.3:                                # %if.then.i4
152.Ltmp18:
153	.loc	0 10 13 is_stmt 1               # main.cpp:10:13
154	movl	-4(%rbp), %eax
155	addl	$1, %eax
156	movl	%eax, -4(%rbp)
157.Ltmp19:
158.LBB2_4:                                # %_Z11doStuffSamei.exit
159	.loc	0 0 13 is_stmt 0                # main.cpp:0:13
160	movl	-28(%rbp), %eax                 # 4-byte Reload
161	.loc	0 16 27 is_stmt 1               # main.cpp:16:27
162	addl	-4(%rbp), %eax
163	.loc	0 16 5 epilogue_begin is_stmt 0 # main.cpp:16:5
164	popq	%rbp
165	.cfi_def_cfa %rsp, 8
166	retq
167.Ltmp20:
168.Lfunc_end2:
169	.size	main, .Lfunc_end2-main
170	.cfi_endproc
171                                        # -- End function
172	.section	.debug_abbrev,"",@progbits
173	.byte	1                               # Abbreviation Code
174	.byte	74                              # DW_TAG_skeleton_unit
175	.byte	0                               # DW_CHILDREN_no
176	.byte	16                              # DW_AT_stmt_list
177	.byte	23                              # DW_FORM_sec_offset
178	.byte	114                             # DW_AT_str_offsets_base
179	.byte	23                              # DW_FORM_sec_offset
180	.byte	27                              # DW_AT_comp_dir
181	.byte	37                              # DW_FORM_strx1
182	.ascii	"\264B"                         # DW_AT_GNU_pubnames
183	.byte	25                              # DW_FORM_flag_present
184	.byte	118                             # DW_AT_dwo_name
185	.byte	37                              # DW_FORM_strx1
186	.byte	17                              # DW_AT_low_pc
187	.byte	1                               # DW_FORM_addr
188	.byte	85                              # DW_AT_ranges
189	.byte	35                              # DW_FORM_rnglistx
190	.byte	115                             # DW_AT_addr_base
191	.byte	23                              # DW_FORM_sec_offset
192	.byte	116                             # DW_AT_rnglists_base
193	.byte	23                              # DW_FORM_sec_offset
194	.byte	0                               # EOM(1)
195	.byte	0                               # EOM(2)
196	.byte	0                               # EOM(3)
197	.section	.debug_info,"",@progbits
198.Lcu_begin0:
199	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
200.Ldebug_info_start0:
201	.short	5                               # DWARF version number
202	.byte	4                               # DWARF Unit Type
203	.byte	8                               # Address Size (in bytes)
204	.long	.debug_abbrev                   # Offset Into Abbrev. Section
205	.quad	1388808602086005033
206	.byte	1                               # Abbrev [1] 0x14:0x1c DW_TAG_skeleton_unit
207	.long	.Lline_table_start0             # DW_AT_stmt_list
208	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
209	.byte	0                               # DW_AT_comp_dir
210                                        # DW_AT_GNU_pubnames
211	.byte	1                               # DW_AT_dwo_name
212	.quad	0                               # DW_AT_low_pc
213	.byte	0                               # DW_AT_ranges
214	.long	.Laddr_table_base0              # DW_AT_addr_base
215	.long	.Lrnglists_table_base0          # DW_AT_rnglists_base
216.Ldebug_info_end0:
217	.section	.debug_rnglists,"",@progbits
218	.long	.Ldebug_list_header_end0-.Ldebug_list_header_start0 # Length
219.Ldebug_list_header_start0:
220	.short	5                               # Version
221	.byte	8                               # Address size
222	.byte	0                               # Segment selector size
223	.long	1                               # Offset entry count
224.Lrnglists_table_base0:
225	.long	.Ldebug_ranges2-.Lrnglists_table_base0
226.Ldebug_ranges2:
227	.byte	3                               # DW_RLE_startx_length
228	.byte	0                               #   start index
229	.uleb128 .Lfunc_end0-.Lfunc_begin0      #   length
230	.byte	3                               # DW_RLE_startx_length
231	.byte	1                               #   start index
232	.uleb128 .Lfunc_end1-.Lfunc_begin1      #   length
233	.byte	3                               # DW_RLE_startx_length
234	.byte	2                               #   start index
235	.uleb128 .Lfunc_end2-.Lfunc_begin2      #   length
236	.byte	0                               # DW_RLE_end_of_list
237.Ldebug_list_header_end0:
238	.section	.debug_str_offsets,"",@progbits
239	.long	12                              # Length of String Offsets Set
240	.short	5
241	.short	0
242.Lstr_offsets_base0:
243	.section	.debug_str,"MS",@progbits,1
244.Lskel_string0:
245	.asciz	"." # string offset=0
246.Lskel_string1:
247	.asciz	"main.dwo"                      # string offset=38
248	.section	.debug_str_offsets,"",@progbits
249	.long	.Lskel_string0
250	.long	.Lskel_string1
251	.section	.debug_str_offsets.dwo,"e",@progbits
252	.long	56                              # Length of String Offsets Set
253	.short	5
254	.short	0
255	.section	.debug_str.dwo,"eMS",@progbits,1
256.Linfo_string0:
257	.asciz	"_Z7doStuffi"                   # string offset=0
258.Linfo_string1:
259	.asciz	"doStuff"                       # string offset=12
260.Linfo_string2:
261	.asciz	"int"                           # string offset=20
262.Linfo_string3:
263	.asciz	"val"                           # string offset=24
264.Linfo_string4:
265	.asciz	"_Z11doStuffSamei"              # string offset=28
266.Linfo_string5:
267	.asciz	"doStuffSame"                   # string offset=45
268.Linfo_string6:
269	.asciz	"main"                          # string offset=57
270.Linfo_string7:
271	.asciz	"argc"                          # string offset=62
272.Linfo_string8:
273	.asciz	"argv"                          # string offset=67
274.Linfo_string9:
275	.asciz	"char"                          # string offset=72
276.Linfo_string10:
277	.asciz	"clang version 18.0.0 (git@github.com:llvm/llvm-project.git 63dbe7e808d07bdf25bad85301980bc323b0cd64)" # string offset=77
278.Linfo_string11:
279	.asciz	"main.cpp"                      # string offset=178
280.Linfo_string12:
281	.asciz	"main.dwo"                      # string offset=187
282	.section	.debug_str_offsets.dwo,"e",@progbits
283	.long	0
284	.long	12
285	.long	20
286	.long	24
287	.long	28
288	.long	45
289	.long	57
290	.long	62
291	.long	67
292	.long	72
293	.long	77
294	.long	178
295	.long	187
296	.section	.debug_info.dwo,"e",@progbits
297	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
298.Ldebug_info_dwo_start0:
299	.short	5                               # DWARF version number
300	.byte	5                               # DWARF Unit Type
301	.byte	8                               # Address Size (in bytes)
302	.long	0                               # Offset Into Abbrev. Section
303	.quad	1388808602086005033
304	.byte	1                               # Abbrev [1] 0x14:0xb6 DW_TAG_compile_unit
305	.byte	10                              # DW_AT_producer
306	.short	33                              # DW_AT_language
307	.byte	11                              # DW_AT_name
308	.byte	12                              # DW_AT_dwo_name
309	.byte	2                               # Abbrev [2] 0x1a:0x15 DW_TAG_subprogram
310	.byte	0                               # DW_AT_low_pc
311	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
312	.byte	1                               # DW_AT_frame_base
313	.byte	86
314	.long	68                              # DW_AT_abstract_origin
315	.byte	3                               # Abbrev [3] 0x26:0x8 DW_TAG_formal_parameter
316	.byte	2                               # DW_AT_location
317	.byte	145
318	.byte	124
319	.long	77                              # DW_AT_abstract_origin
320	.byte	0                               # End Of Children Mark
321	.byte	2                               # Abbrev [2] 0x2f:0x15 DW_TAG_subprogram
322	.byte	1                               # DW_AT_low_pc
323	.long	.Lfunc_end1-.Lfunc_begin1       # DW_AT_high_pc
324	.byte	1                               # DW_AT_frame_base
325	.byte	86
326	.long	90                              # DW_AT_abstract_origin
327	.byte	3                               # Abbrev [3] 0x3b:0x8 DW_TAG_formal_parameter
328	.byte	2                               # DW_AT_location
329	.byte	145
330	.byte	124
331	.long	99                              # DW_AT_abstract_origin
332	.byte	0                               # End Of Children Mark
333	.byte	4                               # Abbrev [4] 0x44:0x12 DW_TAG_subprogram
334	.byte	0                               # DW_AT_linkage_name
335	.byte	1                               # DW_AT_name
336	.byte	0                               # DW_AT_decl_file
337	.byte	2                               # DW_AT_decl_line
338	.long	86                              # DW_AT_type
339                                        # DW_AT_external
340                                        # DW_AT_inline
341	.byte	5                               # Abbrev [5] 0x4d:0x8 DW_TAG_formal_parameter
342	.byte	3                               # DW_AT_name
343	.byte	0                               # DW_AT_decl_file
344	.byte	2                               # DW_AT_decl_line
345	.long	86                              # DW_AT_type
346	.byte	0                               # End Of Children Mark
347	.byte	6                               # Abbrev [6] 0x56:0x4 DW_TAG_base_type
348	.byte	2                               # DW_AT_name
349	.byte	5                               # DW_AT_encoding
350	.byte	4                               # DW_AT_byte_size
351	.byte	4                               # Abbrev [4] 0x5a:0x12 DW_TAG_subprogram
352	.byte	4                               # DW_AT_linkage_name
353	.byte	5                               # DW_AT_name
354	.byte	0                               # DW_AT_decl_file
355	.byte	8                               # DW_AT_decl_line
356	.long	86                              # DW_AT_type
357                                        # DW_AT_external
358                                        # DW_AT_inline
359	.byte	5                               # Abbrev [5] 0x63:0x8 DW_TAG_formal_parameter
360	.byte	3                               # DW_AT_name
361	.byte	0                               # DW_AT_decl_file
362	.byte	8                               # DW_AT_decl_line
363	.long	86                              # DW_AT_type
364	.byte	0                               # End Of Children Mark
365	.byte	7                               # Abbrev [7] 0x6c:0x4a DW_TAG_subprogram
366	.byte	2                               # DW_AT_low_pc
367	.long	.Lfunc_end2-.Lfunc_begin2       # DW_AT_high_pc
368	.byte	1                               # DW_AT_frame_base
369	.byte	86
370	.byte	6                               # DW_AT_name
371	.byte	0                               # DW_AT_decl_file
372	.byte	15                              # DW_AT_decl_line
373	.long	86                              # DW_AT_type
374                                        # DW_AT_external
375	.byte	8                               # Abbrev [8] 0x7b:0xb DW_TAG_formal_parameter
376	.byte	2                               # DW_AT_location
377	.byte	145
378	.byte	112
379	.byte	7                               # DW_AT_name
380	.byte	0                               # DW_AT_decl_file
381	.byte	15                              # DW_AT_decl_line
382	.long	86                              # DW_AT_type
383	.byte	8                               # Abbrev [8] 0x86:0xb DW_TAG_formal_parameter
384	.byte	2                               # DW_AT_location
385	.byte	145
386	.byte	104
387	.byte	8                               # DW_AT_name
388	.byte	0                               # DW_AT_decl_file
389	.byte	15                              # DW_AT_decl_line
390	.long	182                             # DW_AT_type
391	.byte	9                               # Abbrev [9] 0x91:0x12 DW_TAG_inlined_subroutine
392	.long	68                              # DW_AT_abstract_origin
393	.byte	0                               # DW_AT_ranges
394	.byte	0                               # DW_AT_call_file
395	.byte	16                              # DW_AT_call_line
396	.byte	13                              # DW_AT_call_column
397	.byte	3                               # Abbrev [3] 0x9a:0x8 DW_TAG_formal_parameter
398	.byte	2                               # DW_AT_location
399	.byte	145
400	.byte	120
401	.long	77                              # DW_AT_abstract_origin
402	.byte	0                               # End Of Children Mark
403	.byte	9                               # Abbrev [9] 0xa3:0x12 DW_TAG_inlined_subroutine
404	.long	90                              # DW_AT_abstract_origin
405	.byte	1                               # DW_AT_ranges
406	.byte	0                               # DW_AT_call_file
407	.byte	16                              # DW_AT_call_line
408	.byte	29                              # DW_AT_call_column
409	.byte	3                               # Abbrev [3] 0xac:0x8 DW_TAG_formal_parameter
410	.byte	2                               # DW_AT_location
411	.byte	145
412	.byte	124
413	.long	99                              # DW_AT_abstract_origin
414	.byte	0                               # End Of Children Mark
415	.byte	0                               # End Of Children Mark
416	.byte	10                              # Abbrev [10] 0xb6:0x5 DW_TAG_pointer_type
417	.long	187                             # DW_AT_type
418	.byte	10                              # Abbrev [10] 0xbb:0x5 DW_TAG_pointer_type
419	.long	192                             # DW_AT_type
420	.byte	11                              # Abbrev [11] 0xc0:0x5 DW_TAG_const_type
421	.long	197                             # DW_AT_type
422	.byte	6                               # Abbrev [6] 0xc5:0x4 DW_TAG_base_type
423	.byte	9                               # DW_AT_name
424	.byte	6                               # DW_AT_encoding
425	.byte	1                               # DW_AT_byte_size
426	.byte	0                               # End Of Children Mark
427.Ldebug_info_dwo_end0:
428	.section	.debug_abbrev.dwo,"e",@progbits
429	.byte	1                               # Abbreviation Code
430	.byte	17                              # DW_TAG_compile_unit
431	.byte	1                               # DW_CHILDREN_yes
432	.byte	37                              # DW_AT_producer
433	.byte	37                              # DW_FORM_strx1
434	.byte	19                              # DW_AT_language
435	.byte	5                               # DW_FORM_data2
436	.byte	3                               # DW_AT_name
437	.byte	37                              # DW_FORM_strx1
438	.byte	118                             # DW_AT_dwo_name
439	.byte	37                              # DW_FORM_strx1
440	.byte	0                               # EOM(1)
441	.byte	0                               # EOM(2)
442	.byte	2                               # Abbreviation Code
443	.byte	46                              # DW_TAG_subprogram
444	.byte	1                               # DW_CHILDREN_yes
445	.byte	17                              # DW_AT_low_pc
446	.byte	27                              # DW_FORM_addrx
447	.byte	18                              # DW_AT_high_pc
448	.byte	6                               # DW_FORM_data4
449	.byte	64                              # DW_AT_frame_base
450	.byte	24                              # DW_FORM_exprloc
451	.byte	49                              # DW_AT_abstract_origin
452	.byte	19                              # DW_FORM_ref4
453	.byte	0                               # EOM(1)
454	.byte	0                               # EOM(2)
455	.byte	3                               # Abbreviation Code
456	.byte	5                               # DW_TAG_formal_parameter
457	.byte	0                               # DW_CHILDREN_no
458	.byte	2                               # DW_AT_location
459	.byte	24                              # DW_FORM_exprloc
460	.byte	49                              # DW_AT_abstract_origin
461	.byte	19                              # DW_FORM_ref4
462	.byte	0                               # EOM(1)
463	.byte	0                               # EOM(2)
464	.byte	4                               # Abbreviation Code
465	.byte	46                              # DW_TAG_subprogram
466	.byte	1                               # DW_CHILDREN_yes
467	.byte	110                             # DW_AT_linkage_name
468	.byte	37                              # DW_FORM_strx1
469	.byte	3                               # DW_AT_name
470	.byte	37                              # DW_FORM_strx1
471	.byte	58                              # DW_AT_decl_file
472	.byte	11                              # DW_FORM_data1
473	.byte	59                              # DW_AT_decl_line
474	.byte	11                              # DW_FORM_data1
475	.byte	73                              # DW_AT_type
476	.byte	19                              # DW_FORM_ref4
477	.byte	63                              # DW_AT_external
478	.byte	25                              # DW_FORM_flag_present
479	.byte	32                              # DW_AT_inline
480	.byte	33                              # DW_FORM_implicit_const
481	.byte	1
482	.byte	0                               # EOM(1)
483	.byte	0                               # EOM(2)
484	.byte	5                               # Abbreviation Code
485	.byte	5                               # DW_TAG_formal_parameter
486	.byte	0                               # DW_CHILDREN_no
487	.byte	3                               # DW_AT_name
488	.byte	37                              # DW_FORM_strx1
489	.byte	58                              # DW_AT_decl_file
490	.byte	11                              # DW_FORM_data1
491	.byte	59                              # DW_AT_decl_line
492	.byte	11                              # DW_FORM_data1
493	.byte	73                              # DW_AT_type
494	.byte	19                              # DW_FORM_ref4
495	.byte	0                               # EOM(1)
496	.byte	0                               # EOM(2)
497	.byte	6                               # Abbreviation Code
498	.byte	36                              # DW_TAG_base_type
499	.byte	0                               # DW_CHILDREN_no
500	.byte	3                               # DW_AT_name
501	.byte	37                              # DW_FORM_strx1
502	.byte	62                              # DW_AT_encoding
503	.byte	11                              # DW_FORM_data1
504	.byte	11                              # DW_AT_byte_size
505	.byte	11                              # DW_FORM_data1
506	.byte	0                               # EOM(1)
507	.byte	0                               # EOM(2)
508	.byte	7                               # Abbreviation Code
509	.byte	46                              # DW_TAG_subprogram
510	.byte	1                               # DW_CHILDREN_yes
511	.byte	17                              # DW_AT_low_pc
512	.byte	27                              # DW_FORM_addrx
513	.byte	18                              # DW_AT_high_pc
514	.byte	6                               # DW_FORM_data4
515	.byte	64                              # DW_AT_frame_base
516	.byte	24                              # DW_FORM_exprloc
517	.byte	3                               # DW_AT_name
518	.byte	37                              # DW_FORM_strx1
519	.byte	58                              # DW_AT_decl_file
520	.byte	11                              # DW_FORM_data1
521	.byte	59                              # DW_AT_decl_line
522	.byte	11                              # DW_FORM_data1
523	.byte	73                              # DW_AT_type
524	.byte	19                              # DW_FORM_ref4
525	.byte	63                              # DW_AT_external
526	.byte	25                              # DW_FORM_flag_present
527	.byte	0                               # EOM(1)
528	.byte	0                               # EOM(2)
529	.byte	8                               # Abbreviation Code
530	.byte	5                               # DW_TAG_formal_parameter
531	.byte	0                               # DW_CHILDREN_no
532	.byte	2                               # DW_AT_location
533	.byte	24                              # DW_FORM_exprloc
534	.byte	3                               # DW_AT_name
535	.byte	37                              # DW_FORM_strx1
536	.byte	58                              # DW_AT_decl_file
537	.byte	11                              # DW_FORM_data1
538	.byte	59                              # DW_AT_decl_line
539	.byte	11                              # DW_FORM_data1
540	.byte	73                              # DW_AT_type
541	.byte	19                              # DW_FORM_ref4
542	.byte	0                               # EOM(1)
543	.byte	0                               # EOM(2)
544	.byte	9                               # Abbreviation Code
545	.byte	29                              # DW_TAG_inlined_subroutine
546	.byte	1                               # DW_CHILDREN_yes
547	.byte	49                              # DW_AT_abstract_origin
548	.byte	19                              # DW_FORM_ref4
549	.byte	85                              # DW_AT_ranges
550	.byte	35                              # DW_FORM_rnglistx
551	.byte	88                              # DW_AT_call_file
552	.byte	11                              # DW_FORM_data1
553	.byte	89                              # DW_AT_call_line
554	.byte	11                              # DW_FORM_data1
555	.byte	87                              # DW_AT_call_column
556	.byte	11                              # DW_FORM_data1
557	.byte	0                               # EOM(1)
558	.byte	0                               # EOM(2)
559	.byte	10                              # Abbreviation Code
560	.byte	15                              # DW_TAG_pointer_type
561	.byte	0                               # DW_CHILDREN_no
562	.byte	73                              # DW_AT_type
563	.byte	19                              # DW_FORM_ref4
564	.byte	0                               # EOM(1)
565	.byte	0                               # EOM(2)
566	.byte	11                              # Abbreviation Code
567	.byte	38                              # DW_TAG_const_type
568	.byte	0                               # DW_CHILDREN_no
569	.byte	73                              # DW_AT_type
570	.byte	19                              # DW_FORM_ref4
571	.byte	0                               # EOM(1)
572	.byte	0                               # EOM(2)
573	.byte	0                               # EOM(3)
574	.section	.debug_rnglists.dwo,"e",@progbits
575	.long	.Ldebug_list_header_end1-.Ldebug_list_header_start1 # Length
576.Ldebug_list_header_start1:
577	.short	5                               # Version
578	.byte	8                               # Address size
579	.byte	0                               # Segment selector size
580	.long	2                               # Offset entry count
581.Lrnglists_dwo_table_base0:
582	.long	.Ldebug_ranges0-.Lrnglists_dwo_table_base0
583	.long	.Ldebug_ranges1-.Lrnglists_dwo_table_base0
584.Ldebug_ranges0:
585	.byte	1                               # DW_RLE_base_addressx
586	.byte	2                               #   base address index
587	.byte	4                               # DW_RLE_offset_pair
588	.uleb128 0					            #   starting offset Manually modified
589	.uleb128 .Ltmp15-.Lfunc_begin2          #   ending offset
590	.byte	0                               # DW_RLE_end_of_list
591.Ldebug_ranges1:
592	.byte	1                               # DW_RLE_base_addressx
593	.byte	2                               #   base address index
594	.byte	4                               # DW_RLE_offset_pair
595	.uleb128 0                              #   starting offset Manually modified
596	.uleb128 .Ltmp19-.Lfunc_begin2          #   ending offset
597	.byte	0                               # DW_RLE_end_of_list
598.Ldebug_list_header_end1:
599	.section	.debug_addr,"",@progbits
600	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
601.Ldebug_addr_start0:
602	.short	5                               # DWARF version number
603	.byte	8                               # Address size
604	.byte	0                               # Segment selector size
605.Laddr_table_base0:
606	.quad	.Lfunc_begin0
607	.quad	.Lfunc_begin1
608	.quad	0								# Manually modified
609.Ldebug_addr_end0:
610	.section	.debug_gnu_pubnames,"",@progbits
611	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
612.LpubNames_start0:
613	.short	2                               # DWARF Version
614	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
615	.long	48                              # Compilation Unit Length
616	.long	68                              # DIE offset
617	.byte	48                              # Attributes: FUNCTION, EXTERNAL
618	.asciz	"doStuff"                       # External Name
619	.long	90                              # DIE offset
620	.byte	48                              # Attributes: FUNCTION, EXTERNAL
621	.asciz	"doStuffSame"                   # External Name
622	.long	108                             # DIE offset
623	.byte	48                              # Attributes: FUNCTION, EXTERNAL
624	.asciz	"main"                          # External Name
625	.long	0                               # End Mark
626.LpubNames_end0:
627	.section	.debug_gnu_pubtypes,"",@progbits
628	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
629.LpubTypes_start0:
630	.short	2                               # DWARF Version
631	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
632	.long	48                              # Compilation Unit Length
633	.long	86                              # DIE offset
634	.byte	144                             # Attributes: TYPE, STATIC
635	.asciz	"int"                           # External Name
636	.long	197                             # DIE offset
637	.byte	144                             # Attributes: TYPE, STATIC
638	.asciz	"char"                          # External Name
639	.long	0                               # End Mark
640.LpubTypes_end0:
641	.ident	"clang version 18.0.0 (git@github.com:llvm/llvm-project.git 63dbe7e808d07bdf25bad85301980bc323b0cd64)"
642	.section	".note.GNU-stack","",@progbits
643	.addrsig
644	.section	.debug_line,"",@progbits
645.Lline_table_start0:
646