xref: /llvm-project/bolt/test/X86/Inputs/dwarf5-ftypes-split-dwarf-helper.s (revision 125df67421cfaef9980f98b4e41613964df81129)
1# clang++ helper.cpp -g2 -gsplit-dwarf=split -gdwarf-5 -fdebug-types-section -S
2# int foo() {
3#   return 0;
4# }
5	.text
6	.file	"helper.cpp"
7	.globl	_Z3foov                         # -- Begin function _Z3foov
8	.p2align	4, 0x90
9	.type	_Z3foov,@function
10_Z3foov:                                # @_Z3foov
11.Lfunc_begin0:
12	.file	0 "." "helper.cpp" md5 0x95a4a33e7fe9423970d3c798fdf8ed43
13	.loc	0 1 0                           # helper.cpp:1:0
14	.cfi_startproc
15# %bb.0:                                # %entry
16	pushq	%rbp
17	.cfi_def_cfa_offset 16
18	.cfi_offset %rbp, -16
19	movq	%rsp, %rbp
20	.cfi_def_cfa_register %rbp
21.Ltmp0:
22	.loc	0 2 3 prologue_end              # helper.cpp:2:3
23	xorl	%eax, %eax
24	.loc	0 2 3 epilogue_begin is_stmt 0  # helper.cpp:2:3
25	popq	%rbp
26	.cfi_def_cfa %rsp, 8
27	retq
28.Ltmp1:
29.Lfunc_end0:
30	.size	_Z3foov, .Lfunc_end0-_Z3foov
31	.cfi_endproc
32                                        # -- End function
33	.section	.debug_abbrev,"",@progbits
34	.byte	1                               # Abbreviation Code
35	.byte	74                              # DW_TAG_skeleton_unit
36	.byte	0                               # DW_CHILDREN_no
37	.byte	16                              # DW_AT_stmt_list
38	.byte	23                              # DW_FORM_sec_offset
39	.byte	114                             # DW_AT_str_offsets_base
40	.byte	23                              # DW_FORM_sec_offset
41	.byte	27                              # DW_AT_comp_dir
42	.byte	37                              # DW_FORM_strx1
43	.ascii	"\264B"                         # DW_AT_GNU_pubnames
44	.byte	25                              # DW_FORM_flag_present
45	.byte	118                             # DW_AT_dwo_name
46	.byte	37                              # DW_FORM_strx1
47	.byte	17                              # DW_AT_low_pc
48	.byte	27                              # DW_FORM_addrx
49	.byte	18                              # DW_AT_high_pc
50	.byte	6                               # DW_FORM_data4
51	.byte	115                             # DW_AT_addr_base
52	.byte	23                              # DW_FORM_sec_offset
53	.byte	0                               # EOM(1)
54	.byte	0                               # EOM(2)
55	.byte	0                               # EOM(3)
56	.section	.debug_info,"",@progbits
57.Lcu_begin0:
58	.long	.Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
59.Ldebug_info_start0:
60	.short	5                               # DWARF version number
61	.byte	4                               # DWARF Unit Type
62	.byte	8                               # Address Size (in bytes)
63	.long	.debug_abbrev                   # Offset Into Abbrev. Section
64	.quad	-1360665163647638292
65	.byte	1                               # Abbrev [1] 0x14:0x14 DW_TAG_skeleton_unit
66	.long	.Lline_table_start0             # DW_AT_stmt_list
67	.long	.Lstr_offsets_base0             # DW_AT_str_offsets_base
68	.byte	0                               # DW_AT_comp_dir
69                                        # DW_AT_GNU_pubnames
70	.byte	1                               # DW_AT_dwo_name
71	.byte	0                               # DW_AT_low_pc
72	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
73	.long	.Laddr_table_base0              # DW_AT_addr_base
74.Ldebug_info_end0:
75	.section	.debug_str_offsets,"",@progbits
76	.long	12                              # Length of String Offsets Set
77	.short	5
78	.short	0
79.Lstr_offsets_base0:
80	.section	.debug_str,"MS",@progbits,1
81.Lskel_string0:
82	.asciz	"." # string offset=0
83.Lskel_string1:
84	.asciz	"helper.dwo"                    # string offset=50
85	.section	.debug_str_offsets,"",@progbits
86	.long	.Lskel_string0
87	.long	.Lskel_string1
88	.section	.debug_str_offsets.dwo,"e",@progbits
89	.long	28                              # Length of String Offsets Set
90	.short	5
91	.short	0
92	.section	.debug_str.dwo,"eMS",@progbits,1
93.Linfo_string0:
94	.asciz	"_Z3foov"                       # string offset=0
95.Linfo_string1:
96	.asciz	"foo"                           # string offset=8
97.Linfo_string2:
98	.asciz	"int"                           # string offset=12
99.Linfo_string3:
100	.asciz	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git c8bb7c234c6814b80e2be27eba9718de7ab1ad79)" # string offset=16
101.Linfo_string4:
102	.asciz	"helper.cpp"                    # string offset=121
103.Linfo_string5:
104	.asciz	"helper.dwo"                    # string offset=132
105	.section	.debug_str_offsets.dwo,"e",@progbits
106	.long	0
107	.long	8
108	.long	12
109	.long	16
110	.long	121
111	.long	132
112	.section	.debug_info.dwo,"e",@progbits
113	.long	.Ldebug_info_dwo_end0-.Ldebug_info_dwo_start0 # Length of Unit
114.Ldebug_info_dwo_start0:
115	.short	5                               # DWARF version number
116	.byte	5                               # DWARF Unit Type
117	.byte	8                               # Address Size (in bytes)
118	.long	0                               # Offset Into Abbrev. Section
119	.quad	-1360665163647638292
120	.byte	1                               # Abbrev [1] 0x14:0x1b DW_TAG_compile_unit
121	.byte	3                               # DW_AT_producer
122	.short	33                              # DW_AT_language
123	.byte	4                               # DW_AT_name
124	.byte	5                               # DW_AT_dwo_name
125	.byte	2                               # Abbrev [2] 0x1a:0x10 DW_TAG_subprogram
126	.byte	0                               # DW_AT_low_pc
127	.long	.Lfunc_end0-.Lfunc_begin0       # DW_AT_high_pc
128	.byte	1                               # DW_AT_frame_base
129	.byte	86
130	.byte	0                               # DW_AT_linkage_name
131	.byte	1                               # DW_AT_name
132	.byte	0                               # DW_AT_decl_file
133	.byte	1                               # DW_AT_decl_line
134	.long	42                              # DW_AT_type
135                                        # DW_AT_external
136	.byte	3                               # Abbrev [3] 0x2a:0x4 DW_TAG_base_type
137	.byte	2                               # DW_AT_name
138	.byte	5                               # DW_AT_encoding
139	.byte	4                               # DW_AT_byte_size
140	.byte	0                               # End Of Children Mark
141.Ldebug_info_dwo_end0:
142	.section	.debug_abbrev.dwo,"e",@progbits
143	.byte	1                               # Abbreviation Code
144	.byte	17                              # DW_TAG_compile_unit
145	.byte	1                               # DW_CHILDREN_yes
146	.byte	37                              # DW_AT_producer
147	.byte	37                              # DW_FORM_strx1
148	.byte	19                              # DW_AT_language
149	.byte	5                               # DW_FORM_data2
150	.byte	3                               # DW_AT_name
151	.byte	37                              # DW_FORM_strx1
152	.byte	118                             # DW_AT_dwo_name
153	.byte	37                              # DW_FORM_strx1
154	.byte	0                               # EOM(1)
155	.byte	0                               # EOM(2)
156	.byte	2                               # Abbreviation Code
157	.byte	46                              # DW_TAG_subprogram
158	.byte	0                               # DW_CHILDREN_no
159	.byte	17                              # DW_AT_low_pc
160	.byte	27                              # DW_FORM_addrx
161	.byte	18                              # DW_AT_high_pc
162	.byte	6                               # DW_FORM_data4
163	.byte	64                              # DW_AT_frame_base
164	.byte	24                              # DW_FORM_exprloc
165	.byte	110                             # DW_AT_linkage_name
166	.byte	37                              # DW_FORM_strx1
167	.byte	3                               # DW_AT_name
168	.byte	37                              # DW_FORM_strx1
169	.byte	58                              # DW_AT_decl_file
170	.byte	11                              # DW_FORM_data1
171	.byte	59                              # DW_AT_decl_line
172	.byte	11                              # DW_FORM_data1
173	.byte	73                              # DW_AT_type
174	.byte	19                              # DW_FORM_ref4
175	.byte	63                              # DW_AT_external
176	.byte	25                              # DW_FORM_flag_present
177	.byte	0                               # EOM(1)
178	.byte	0                               # EOM(2)
179	.byte	3                               # Abbreviation Code
180	.byte	36                              # DW_TAG_base_type
181	.byte	0                               # DW_CHILDREN_no
182	.byte	3                               # DW_AT_name
183	.byte	37                              # DW_FORM_strx1
184	.byte	62                              # DW_AT_encoding
185	.byte	11                              # DW_FORM_data1
186	.byte	11                              # DW_AT_byte_size
187	.byte	11                              # DW_FORM_data1
188	.byte	0                               # EOM(1)
189	.byte	0                               # EOM(2)
190	.byte	0                               # EOM(3)
191	.section	.debug_addr,"",@progbits
192	.long	.Ldebug_addr_end0-.Ldebug_addr_start0 # Length of contribution
193.Ldebug_addr_start0:
194	.short	5                               # DWARF version number
195	.byte	8                               # Address size
196	.byte	0                               # Segment selector size
197.Laddr_table_base0:
198	.quad	.Lfunc_begin0
199.Ldebug_addr_end0:
200	.section	.debug_gnu_pubnames,"",@progbits
201	.long	.LpubNames_end0-.LpubNames_start0 # Length of Public Names Info
202.LpubNames_start0:
203	.short	2                               # DWARF Version
204	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
205	.long	40                              # Compilation Unit Length
206	.long	26                              # DIE offset
207	.byte	48                              # Attributes: FUNCTION, EXTERNAL
208	.asciz	"foo"                           # External Name
209	.long	0                               # End Mark
210.LpubNames_end0:
211	.section	.debug_gnu_pubtypes,"",@progbits
212	.long	.LpubTypes_end0-.LpubTypes_start0 # Length of Public Types Info
213.LpubTypes_start0:
214	.short	2                               # DWARF Version
215	.long	.Lcu_begin0                     # Offset of Compilation Unit Info
216	.long	40                              # Compilation Unit Length
217	.long	42                              # DIE offset
218	.byte	144                             # Attributes: TYPE, STATIC
219	.asciz	"int"                           # External Name
220	.long	0                               # End Mark
221.LpubTypes_end0:
222	.ident	"clang version 17.0.0 (https://github.com/llvm/llvm-project.git c8bb7c234c6814b80e2be27eba9718de7ab1ad79)"
223	.section	".note.GNU-stack","",@progbits
224	.addrsig
225	.section	.debug_line,"",@progbits
226.Lline_table_start0:
227