xref: /llvm-project/bolt/test/X86/dwarf5-shared-str-offset-base.s (revision 6aad62cf5b7f91f4b02266cf72469e2c8e28dbef)
1f7a21317SAlexander Yermolovich# REQUIRES: system-linux
2f7a21317SAlexander Yermolovich
3f7a21317SAlexander Yermolovich# RUN: llvm-mc --filetype=obj --triple x86_64 %s -o %tmain.o --defsym MAIN=0
4f7a21317SAlexander Yermolovich# RUN: llvm-mc --filetype=obj --triple x86_64 %s -o %thelper.o
5f7a21317SAlexander Yermolovich# RUN: %clang %cflags %tmain.o %thelper.o -o %tmain.exe
6*6aad62cfSSayhaan Siddiqui# RUN: llvm-bolt %tmain.exe -o %tmain.exe.bolt --update-debug-sections --debug-thread-count=4 --cu-processing-batch-size=4
7f7a21317SAlexander Yermolovich# RUN: llvm-dwarfdump --debug-info %tmain.exe.bolt > %tout.text
8f7a21317SAlexander Yermolovich# RUN: llvm-dwarfdump --show-section-sizes %tmain.exe >> %tout.text
9f7a21317SAlexander Yermolovich# RUN: llvm-dwarfdump --show-section-sizes %tmain.exe.bolt >> %tout.text
10f7a21317SAlexander Yermolovich# RUN: cat %tout.text | FileCheck %s
11f7a21317SAlexander Yermolovich
1211791ae7SSayhaan Siddiqui## This test checks that with DWARF5 when two CUs share the same .debug_str_offsets
1311791ae7SSayhaan Siddiqui## entry BOLT does not create a duplicate.
14f7a21317SAlexander Yermolovich
15f7a21317SAlexander Yermolovich# CHECK: DW_AT_str_offsets_base (0x[[#%.8x,ADDR:]]
16f7a21317SAlexander Yermolovich# CHECK: DW_AT_str_offsets_base (0x[[#ADDR]]
17f7a21317SAlexander Yermolovich
18f7a21317SAlexander Yermolovich# CHECK: .debug_str_offsets [[#ADDR2:]]
19f7a21317SAlexander Yermolovich# CHECK: .debug_str_offsets [[#ADDR2]]
20f7a21317SAlexander Yermolovich
21f7a21317SAlexander Yermolovich# main.cpp
22f7a21317SAlexander Yermolovich# int main(){
23f7a21317SAlexander Yermolovich# 	return 0;
24f7a21317SAlexander Yermolovich# }
25f7a21317SAlexander Yermolovich
26f7a21317SAlexander Yermolovich# helper.cpp
27f7a21317SAlexander Yermolovich# void foo(){}
28f7a21317SAlexander Yermolovich
29f7a21317SAlexander Yermolovich## Create two CUs, with dwo_ids 0 and 1 respectively.
30f7a21317SAlexander Yermolovich.ifdef MAIN
31f7a21317SAlexander Yermolovich.text
32f7a21317SAlexander Yermolovich	.file	"main.cpp"
33f7a21317SAlexander Yermolovich	.globl	main                            # -- Begin function main
34f7a21317SAlexander Yermolovich	.p2align	4, 0x90
35f7a21317SAlexander Yermolovich	.type	main,@function
36f7a21317SAlexander Yermolovichmain:                                   # @main
37f7a21317SAlexander Yermolovich.Lfunc_begin0:
38f7a21317SAlexander Yermolovich	.file	0 "." "main.cpp" md5 0x32c197b0a8b855eb3d7573c993ada862
39f7a21317SAlexander Yermolovich	.loc	0 1 0                           # main.cpp:1:0
40f7a21317SAlexander Yermolovich	.cfi_startproc
41f7a21317SAlexander Yermolovich# %bb.0:
42f7a21317SAlexander Yermolovich	pushq	%rbp
43f7a21317SAlexander Yermolovich	.cfi_def_cfa_offset 16
44f7a21317SAlexander Yermolovich	.cfi_offset %rbp, -16
45f7a21317SAlexander Yermolovich	movq	%rsp, %rbp
46f7a21317SAlexander Yermolovich	.cfi_def_cfa_register %rbp
47f7a21317SAlexander Yermolovich	movl	$0, -4(%rbp)
48f7a21317SAlexander Yermolovich.Ltmp0:
49f7a21317SAlexander Yermolovich	.loc	0 2 1 prologue_end              # main.cpp:2:1
50f7a21317SAlexander Yermolovich	xorl	%eax, %eax
51f7a21317SAlexander Yermolovich	popq	%rbp
52f7a21317SAlexander Yermolovich	.cfi_def_cfa %rsp, 8
53f7a21317SAlexander Yermolovich	retq
54f7a21317SAlexander Yermolovich.Ltmp1:
55f7a21317SAlexander Yermolovich.Lfunc_end0:
56f7a21317SAlexander Yermolovich	.size	main, .Lfunc_end0-main
57f7a21317SAlexander Yermolovich	.cfi_endproc
58f7a21317SAlexander Yermolovich                                        # -- End function
59f7a21317SAlexander Yermolovich	.section	.debug_abbrev,"",@progbits
60f7a21317SAlexander Yermolovich	.byte	1                               # Abbreviation Code
61f7a21317SAlexander Yermolovich	.byte	17                              # DW_TAG_compile_unit
62f7a21317SAlexander Yermolovich	.byte	1                               # DW_CHILDREN_yes
63f7a21317SAlexander Yermolovich	.byte	37                              # DW_AT_producer
64f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
65f7a21317SAlexander Yermolovich	.byte	19                              # DW_AT_language
66f7a21317SAlexander Yermolovich	.byte	5                               # DW_FORM_data2
67f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_name
68f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
69f7a21317SAlexander Yermolovich	.byte	114                             # DW_AT_str_offsets_base
70f7a21317SAlexander Yermolovich	.byte	23                              # DW_FORM_sec_offset
71f7a21317SAlexander Yermolovich	.byte	16                              # DW_AT_stmt_list
72f7a21317SAlexander Yermolovich	.byte	23                              # DW_FORM_sec_offset
73f7a21317SAlexander Yermolovich	.byte	27                              # DW_AT_comp_dir
74f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
75f7a21317SAlexander Yermolovich	.byte	17                              # DW_AT_low_pc
76f7a21317SAlexander Yermolovich	.byte	27                              # DW_FORM_addrx
77f7a21317SAlexander Yermolovich	.byte	18                              # DW_AT_high_pc
78f7a21317SAlexander Yermolovich	.byte	6                               # DW_FORM_data4
79f7a21317SAlexander Yermolovich	.byte	115                             # DW_AT_addr_base
80f7a21317SAlexander Yermolovich	.byte	23                              # DW_FORM_sec_offset
81f7a21317SAlexander Yermolovich	.byte	0                               # EOM(1)
82f7a21317SAlexander Yermolovich	.byte	0                               # EOM(2)
83f7a21317SAlexander Yermolovich	.byte	2                               # Abbreviation Code
84f7a21317SAlexander Yermolovich	.byte	46                              # DW_TAG_subprogram
85f7a21317SAlexander Yermolovich	.byte	0                               # DW_CHILDREN_no
86f7a21317SAlexander Yermolovich	.byte	17                              # DW_AT_low_pc
87f7a21317SAlexander Yermolovich	.byte	27                              # DW_FORM_addrx
88f7a21317SAlexander Yermolovich	.byte	18                              # DW_AT_high_pc
89f7a21317SAlexander Yermolovich	.byte	6                               # DW_FORM_data4
90f7a21317SAlexander Yermolovich	.byte	64                              # DW_AT_frame_base
91f7a21317SAlexander Yermolovich	.byte	24                              # DW_FORM_exprloc
92f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_name
93f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
94f7a21317SAlexander Yermolovich	.byte	58                              # DW_AT_decl_file
95f7a21317SAlexander Yermolovich	.byte	11                              # DW_FORM_data1
96f7a21317SAlexander Yermolovich	.byte	59                              # DW_AT_decl_line
97f7a21317SAlexander Yermolovich	.byte	11                              # DW_FORM_data1
98f7a21317SAlexander Yermolovich	.byte	73                              # DW_AT_type
99f7a21317SAlexander Yermolovich	.byte	19                              # DW_FORM_ref4
100f7a21317SAlexander Yermolovich	.byte	63                              # DW_AT_external
101f7a21317SAlexander Yermolovich	.byte	25                              # DW_FORM_flag_present
102f7a21317SAlexander Yermolovich	.byte	0                               # EOM(1)
103f7a21317SAlexander Yermolovich	.byte	0                               # EOM(2)
104f7a21317SAlexander Yermolovich	.byte	3                               # Abbreviation Code
105f7a21317SAlexander Yermolovich	.byte	36                              # DW_TAG_base_type
106f7a21317SAlexander Yermolovich	.byte	0                               # DW_CHILDREN_no
107f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_name
108f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
109f7a21317SAlexander Yermolovich	.byte	62                              # DW_AT_encoding
110f7a21317SAlexander Yermolovich	.byte	11                              # DW_FORM_data1
111f7a21317SAlexander Yermolovich	.byte	11                              # DW_AT_byte_size
112f7a21317SAlexander Yermolovich	.byte	11                              # DW_FORM_data1
113f7a21317SAlexander Yermolovich	.byte	0                               # EOM(1)
114f7a21317SAlexander Yermolovich	.byte	0                               # EOM(2)
115f7a21317SAlexander Yermolovich	.byte	0                               # EOM(3)
116f7a21317SAlexander Yermolovich	.section	.debug_info,"",@progbits
117f7a21317SAlexander Yermolovich.Lcu_begin0:
118f7a21317SAlexander Yermolovich	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
119f7a21317SAlexander Yermolovich.Ldebug_info_start0:
120f7a21317SAlexander Yermolovich	.short	5                               # DWARF version number
121f7a21317SAlexander Yermolovich	.byte	1                               # DWARF Unit Type
122f7a21317SAlexander Yermolovich	.byte	8                               # Address Size (in bytes)
123f7a21317SAlexander Yermolovich	.long	.debug_abbrev                   # Offset Into Abbrev. Section
124f7a21317SAlexander Yermolovich	.byte	1                               # Abbrev [1] 0xc:0x2b DW_TAG_compile_unit
125f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_producer
126f7a21317SAlexander Yermolovich	.short	33                              # DW_AT_language
127f7a21317SAlexander Yermolovich	.byte	1                               # DW_AT_name
128f7a21317SAlexander Yermolovich	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
129f7a21317SAlexander Yermolovich	.long	.Lline_table_start0             # DW_AT_stmt_list
130f7a21317SAlexander Yermolovich	.byte	2                               # DW_AT_comp_dir
131f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_low_pc
132f7a21317SAlexander Yermolovich	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
133f7a21317SAlexander Yermolovich	.long	.Laddr_table_base0              # DW_AT_addr_base
134f7a21317SAlexander Yermolovich	.byte	2                               # Abbrev [2] 0x23:0xf DW_TAG_subprogram
135f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_low_pc
136f7a21317SAlexander Yermolovich	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
137f7a21317SAlexander Yermolovich	.byte	1                               # DW_AT_frame_base
138f7a21317SAlexander Yermolovich	.byte	86
139f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_name
140f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_decl_file
141f7a21317SAlexander Yermolovich	.byte	1                               # DW_AT_decl_line
142f7a21317SAlexander Yermolovich	.long	50                              # DW_AT_type
143f7a21317SAlexander Yermolovich                                        # DW_AT_external
144f7a21317SAlexander Yermolovich	.byte	3                               # Abbrev [3] 0x32:0x4 DW_TAG_base_type
145f7a21317SAlexander Yermolovich	.byte	4                               # DW_AT_name
146f7a21317SAlexander Yermolovich	.byte	5                               # DW_AT_encoding
147f7a21317SAlexander Yermolovich	.byte	4                               # DW_AT_byte_size
148f7a21317SAlexander Yermolovich	.byte	0                               # End Of Children Mark
149f7a21317SAlexander Yermolovich.Ldebug_info_end0:
150f7a21317SAlexander Yermolovich	.section	.debug_str_offsets,"",@progbits
151f7a21317SAlexander Yermolovich	.long	24                              # Length of String Offsets Set
152f7a21317SAlexander Yermolovich	.short	5
153f7a21317SAlexander Yermolovich	.short	0
154f7a21317SAlexander Yermolovich.Lstr_offsets_base0:
155f7a21317SAlexander Yermolovich	.section	.debug_str,"MS",@progbits,1
156f7a21317SAlexander Yermolovich.Linfo_string0:
157f7a21317SAlexander Yermolovich	.asciz	"clang version 15.0.0" # string offset=0
158f7a21317SAlexander Yermolovich.Linfo_string1:
159f7a21317SAlexander Yermolovich	.asciz	"main.cpp"                      # string offset=146
160f7a21317SAlexander Yermolovich.Linfo_string2:
161f7a21317SAlexander Yermolovich	.asciz	"." # string offset=155
162f7a21317SAlexander Yermolovich.Linfo_string3:
163f7a21317SAlexander Yermolovich	.asciz	"main"                          # string offset=198
164f7a21317SAlexander Yermolovich.Linfo_string4:
165f7a21317SAlexander Yermolovich	.asciz	"int"                           # string offset=203
166f7a21317SAlexander Yermolovich	.section	.debug_str_offsets,"",@progbits
167f7a21317SAlexander Yermolovich	.long	.Linfo_string0
168f7a21317SAlexander Yermolovich	.long	.Linfo_string1
169f7a21317SAlexander Yermolovich	.long	.Linfo_string2
170f7a21317SAlexander Yermolovich	.long	.Linfo_string3
171f7a21317SAlexander Yermolovich	.long	.Linfo_string4
172f7a21317SAlexander Yermolovich	.section	.debug_addr,"",@progbits
173f7a21317SAlexander Yermolovich	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
174f7a21317SAlexander Yermolovich.Ldebug_addr_start0:
175f7a21317SAlexander Yermolovich	.short	5                               # DWARF version number
176f7a21317SAlexander Yermolovich	.byte	8                               # Address size
177f7a21317SAlexander Yermolovich	.byte	0                               # Segment selector size
178f7a21317SAlexander Yermolovich.Laddr_table_base0:
179f7a21317SAlexander Yermolovich	.quad	.Lfunc_begin0
180f7a21317SAlexander Yermolovich.Ldebug_addr_end0:
181f7a21317SAlexander Yermolovich	.ident	"clang version 15.0.0"
182f7a21317SAlexander Yermolovich	.section	".note.GNU-stack","",@progbits
183f7a21317SAlexander Yermolovich	.addrsig
184f7a21317SAlexander Yermolovich	.section	.debug_line,"",@progbits
185f7a21317SAlexander Yermolovich.Lline_table_start0:
186f7a21317SAlexander Yermolovich.else
187f7a21317SAlexander Yermolovich.text
188f7a21317SAlexander Yermolovich	.file	"helper.cpp"
189f7a21317SAlexander Yermolovich	.globl	_Z3foov                         # -- Begin function _Z3foov
190f7a21317SAlexander Yermolovich	.p2align	4, 0x90
191f7a21317SAlexander Yermolovich	.type	_Z3foov,@function
192f7a21317SAlexander Yermolovich_Z3foov:                                # @_Z3foov
193f7a21317SAlexander Yermolovich.Lfunc_begin0:
194f7a21317SAlexander Yermolovich	.file	0 "." "helper.cpp" md5 0x5f98e4807e4f8781c26a82faf819f8a7
195f7a21317SAlexander Yermolovich	.loc	0 1 0                           # helper.cpp:1:0
196f7a21317SAlexander Yermolovich	.cfi_startproc
197f7a21317SAlexander Yermolovich# %bb.0:
198f7a21317SAlexander Yermolovich	pushq	%rbp
199f7a21317SAlexander Yermolovich	.cfi_def_cfa_offset 16
200f7a21317SAlexander Yermolovich	.cfi_offset %rbp, -16
201f7a21317SAlexander Yermolovich	movq	%rsp, %rbp
202f7a21317SAlexander Yermolovich	.cfi_def_cfa_register %rbp
203f7a21317SAlexander Yermolovich.Ltmp0:
204f7a21317SAlexander Yermolovich	.loc	0 1 12 prologue_end             # helper.cpp:1:12
205f7a21317SAlexander Yermolovich	popq	%rbp
206f7a21317SAlexander Yermolovich	.cfi_def_cfa %rsp, 8
207f7a21317SAlexander Yermolovich	retq
208f7a21317SAlexander Yermolovich.Ltmp1:
209f7a21317SAlexander Yermolovich.Lfunc_end0:
210f7a21317SAlexander Yermolovich	.size	_Z3foov, .Lfunc_end0-_Z3foov
211f7a21317SAlexander Yermolovich	.cfi_endproc
212f7a21317SAlexander Yermolovich                                        # -- End function
213f7a21317SAlexander Yermolovich	.section	.debug_abbrev,"",@progbits
214f7a21317SAlexander Yermolovich	.byte	1                               # Abbreviation Code
215f7a21317SAlexander Yermolovich	.byte	17                              # DW_TAG_compile_unit
216f7a21317SAlexander Yermolovich	.byte	1                               # DW_CHILDREN_yes
217f7a21317SAlexander Yermolovich	.byte	37                              # DW_AT_producer
218f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
219f7a21317SAlexander Yermolovich	.byte	19                              # DW_AT_language
220f7a21317SAlexander Yermolovich	.byte	5                               # DW_FORM_data2
221f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_name
222f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
223f7a21317SAlexander Yermolovich	.byte	114                             # DW_AT_str_offsets_base
224f7a21317SAlexander Yermolovich	.byte	23                              # DW_FORM_sec_offset
225f7a21317SAlexander Yermolovich	.byte	16                              # DW_AT_stmt_list
226f7a21317SAlexander Yermolovich	.byte	23                              # DW_FORM_sec_offset
227f7a21317SAlexander Yermolovich	.byte	27                              # DW_AT_comp_dir
228f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
229f7a21317SAlexander Yermolovich	.byte	17                              # DW_AT_low_pc
230f7a21317SAlexander Yermolovich	.byte	27                              # DW_FORM_addrx
231f7a21317SAlexander Yermolovich	.byte	18                              # DW_AT_high_pc
232f7a21317SAlexander Yermolovich	.byte	6                               # DW_FORM_data4
233f7a21317SAlexander Yermolovich	.byte	115                             # DW_AT_addr_base
234f7a21317SAlexander Yermolovich	.byte	23                              # DW_FORM_sec_offset
235f7a21317SAlexander Yermolovich	.byte	0                               # EOM(1)
236f7a21317SAlexander Yermolovich	.byte	0                               # EOM(2)
237f7a21317SAlexander Yermolovich	.byte	2                               # Abbreviation Code
238f7a21317SAlexander Yermolovich	.byte	46                              # DW_TAG_subprogram
239f7a21317SAlexander Yermolovich	.byte	0                               # DW_CHILDREN_no
240f7a21317SAlexander Yermolovich	.byte	17                              # DW_AT_low_pc
241f7a21317SAlexander Yermolovich	.byte	27                              # DW_FORM_addrx
242f7a21317SAlexander Yermolovich	.byte	18                              # DW_AT_high_pc
243f7a21317SAlexander Yermolovich	.byte	6                               # DW_FORM_data4
244f7a21317SAlexander Yermolovich	.byte	64                              # DW_AT_frame_base
245f7a21317SAlexander Yermolovich	.byte	24                              # DW_FORM_exprloc
246f7a21317SAlexander Yermolovich	.byte	110                             # DW_AT_linkage_name
247f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
248f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_name
249f7a21317SAlexander Yermolovich	.byte	37                              # DW_FORM_strx1
250f7a21317SAlexander Yermolovich	.byte	58                              # DW_AT_decl_file
251f7a21317SAlexander Yermolovich	.byte	11                              # DW_FORM_data1
252f7a21317SAlexander Yermolovich	.byte	59                              # DW_AT_decl_line
253f7a21317SAlexander Yermolovich	.byte	11                              # DW_FORM_data1
254f7a21317SAlexander Yermolovich	.byte	63                              # DW_AT_external
255f7a21317SAlexander Yermolovich	.byte	25                              # DW_FORM_flag_present
256f7a21317SAlexander Yermolovich	.byte	0                               # EOM(1)
257f7a21317SAlexander Yermolovich	.byte	0                               # EOM(2)
258f7a21317SAlexander Yermolovich	.byte	0                               # EOM(3)
259f7a21317SAlexander Yermolovich	.section	.debug_info,"",@progbits
260f7a21317SAlexander Yermolovich.Lcu_begin0:
261f7a21317SAlexander Yermolovich	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
262f7a21317SAlexander Yermolovich.Ldebug_info_start0:
263f7a21317SAlexander Yermolovich	.short	5                               # DWARF version number
264f7a21317SAlexander Yermolovich	.byte	1                               # DWARF Unit Type
265f7a21317SAlexander Yermolovich	.byte	8                               # Address Size (in bytes)
266f7a21317SAlexander Yermolovich	.long	.debug_abbrev                   # Offset Into Abbrev. Section
267f7a21317SAlexander Yermolovich	.byte	1                               # Abbrev [1] 0xc:0x24 DW_TAG_compile_unit
268f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_producer
269f7a21317SAlexander Yermolovich	.short	33                              # DW_AT_language
270f7a21317SAlexander Yermolovich	.byte	1                               # DW_AT_name
271f7a21317SAlexander Yermolovich	.long	0x8				                # DW_AT_str_offsets_base Manually modified to be the same as first CU
272f7a21317SAlexander Yermolovich	.long	.Lline_table_start0             # DW_AT_stmt_list
273f7a21317SAlexander Yermolovich	.byte	2                               # DW_AT_comp_dir
274f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_low_pc
275f7a21317SAlexander Yermolovich	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
276f7a21317SAlexander Yermolovich	.long	.Laddr_table_base0              # DW_AT_addr_base
277f7a21317SAlexander Yermolovich	.byte	2                               # Abbrev [2] 0x23:0xc DW_TAG_subprogram
278f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_low_pc
279f7a21317SAlexander Yermolovich	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
280f7a21317SAlexander Yermolovich	.byte	1                               # DW_AT_frame_base
281f7a21317SAlexander Yermolovich	.byte	86
282f7a21317SAlexander Yermolovich	.byte	3                               # DW_AT_linkage_name
283f7a21317SAlexander Yermolovich	.byte	4                               # DW_AT_name
284f7a21317SAlexander Yermolovich	.byte	0                               # DW_AT_decl_file
285f7a21317SAlexander Yermolovich	.byte	1                               # DW_AT_decl_line
286f7a21317SAlexander Yermolovich                                        # DW_AT_external
287f7a21317SAlexander Yermolovich	.byte	0                               # End Of Children Mark
288f7a21317SAlexander Yermolovich.Ldebug_info_end0:
289f7a21317SAlexander Yermolovich# Manually removed .debug_str_offsets and .debug_str
290f7a21317SAlexander Yermolovich	.section	.debug_addr,"",@progbits
291f7a21317SAlexander Yermolovich	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
292f7a21317SAlexander Yermolovich.Ldebug_addr_start0:
293f7a21317SAlexander Yermolovich	.short	5                               # DWARF version number
294f7a21317SAlexander Yermolovich	.byte	8                               # Address size
295f7a21317SAlexander Yermolovich	.byte	0                               # Segment selector size
296f7a21317SAlexander Yermolovich.Laddr_table_base0:
297f7a21317SAlexander Yermolovich	.quad	.Lfunc_begin0
298f7a21317SAlexander Yermolovich.Ldebug_addr_end0:
299f7a21317SAlexander Yermolovich	.ident	"clang version 15.0.0"
300f7a21317SAlexander Yermolovich	.section	".note.GNU-stack","",@progbits
301f7a21317SAlexander Yermolovich	.addrsig
302f7a21317SAlexander Yermolovich	.section	.debug_line,"",@progbits
303f7a21317SAlexander Yermolovich.Lline_table_start0:
304f7a21317SAlexander Yermolovich.endif
305