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