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