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