1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2014-2020 Free Software Foundation, Inc.
4
5   This program is free software; you can redistribute it and/or modify
6   it under the terms of the GNU General Public License as published by
7   the Free Software Foundation; either version 3 of the License, or
8   (at your option) any later version.
9
10   This program is distributed in the hope that it will be useful,
11   but WITHOUT ANY WARRANTY; without even the implied warranty of
12   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   GNU General Public License for more details.
14
15   You should have received a copy of the GNU General Public License
16   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17
18/* This file is compiled from a single line
19   int main (int argc, char **argv) { return 0; }
20   using -g -dA -S -O2 and patched as #if-ed below.  */
21
22	.file	"py-framefilter-invalidarg.c"
23	.text
24.Ltext0:
25	.globl	main
26	.type	main, @function
27main:
28.LFB0:
29	.file 1 "py-framefilter-invalidarg.c"
30	# py-framefilter-invalidarg.c:1
31	.loc 1 1 0
32	.cfi_startproc
33# BLOCK 2 seq:0
34# PRED: ENTRY (FALLTHRU)
35	pushq	%rbp
36	.cfi_def_cfa_offset 16
37	.cfi_offset 6, -16
38	movq	%rsp, %rbp
39	.cfi_def_cfa_register 6
40	movl	%edi, -4(%rbp)
41	movq	%rsi, -16(%rbp)
42	# py-framefilter-invalidarg.c:2
43	.loc 1 2 0
44	movl	$0, %eax
45	# py-framefilter-invalidarg.c:3
46	.loc 1 3 0
47	popq	%rbp
48	.cfi_def_cfa 7, 8
49# SUCC: EXIT [100.0%]
50	ret
51	.cfi_endproc
52.LFE0:
53	.size	main, .-main
54.Letext0:
55	.section	.debug_info,"",@progbits
56.Ldebug_info0:
57	.long	.Le - .Ls	# Length of Compilation Unit Info
58.Ls:
59	.value	0x4	# DWARF version number
60	.long	.Ldebug_abbrev0	# Offset Into Abbrev. Section
61	.byte	0x8	# Pointer Size (in bytes)
62	.uleb128 0x1	# (DIE (0xb) DW_TAG_compile_unit)
63	.long	.LASF3	# DW_AT_producer: "GNU C 4.9.1 20140813 (Red Hat 4.9.1-7) -mtune=generic -march=x86-64 -g"
64	.byte	0x1	# DW_AT_language
65	.long	.LASF4	# DW_AT_name: "py-framefilter-invalidarg.c"
66	.long	.LASF5	# DW_AT_comp_dir: ""
67	.quad	.Ltext0	# DW_AT_low_pc
68	.quad	.Letext0-.Ltext0	# DW_AT_high_pc
69	.long	.Ldebug_line0	# DW_AT_stmt_list
70die2d:
71	.uleb128 0x2	# (DIE (0x2d) DW_TAG_subprogram)
72			# DW_AT_external
73	.long	.LASF6	# DW_AT_name: "main"
74	.byte	0x1	# DW_AT_decl_file (py-framefilter-invalidarg.c)
75	.byte	0x1	# DW_AT_decl_line
76			# DW_AT_prototyped
77	.long	die6b-.Ldebug_info0	# DW_AT_type
78	.quad	.LFB0	# DW_AT_low_pc
79	.quad	.LFE0-.LFB0	# DW_AT_high_pc
80	.uleb128 0x1	# DW_AT_frame_base
81	.byte	0x9c	# DW_OP_call_frame_cfa
82			# DW_AT_GNU_all_call_sites
83die4e:
84	.uleb128 0x3	# (DIE (0x4e) DW_TAG_formal_parameter)
85	.long	.LASF0	# DW_AT_name: "argc"
86	.byte	0x1	# DW_AT_decl_file (py-framefilter-invalidarg.c)
87	.byte	0x1	# DW_AT_decl_line
88	.long	die6b-.Ldebug_info0	# DW_AT_type
89#if 0
90	.uleb128 0x2	# DW_AT_location
91	.byte	0x91	# DW_OP_fbreg
92	.sleb128 -20
93#endif
94#if 0
95	.uleb128 1f - 2f	# DW_AT_location
962:
97	.byte	0x03	# DW_OP_addr
98	.quad 0
991:
100#endif
101#if 1
102	.uleb128 1f - 2f	# DW_AT_location
1032:
104	.byte	0x13	# DW_OP_drop
105	.quad 0
1061:
107#endif
108die5c:
109	.uleb128 0x3	# (DIE (0x5c) DW_TAG_formal_parameter)
110	.long	.LASF1	# DW_AT_name: "argv"
111	.byte	0x1	# DW_AT_decl_file (py-framefilter-invalidarg.c)
112	.byte	0x1	# DW_AT_decl_line
113	.long	die72-.Ldebug_info0	# DW_AT_type
114	.uleb128 0x2	# DW_AT_location
115	.byte	0x91	# DW_OP_fbreg
116	.sleb128 -32
117	.byte	0	# end of children of DIE 0x2d
118die6b:
119	.uleb128 0x4	# (DIE (0x6b) DW_TAG_base_type)
120	.byte	0x4	# DW_AT_byte_size
121	.byte	0x5	# DW_AT_encoding
122	.ascii "int\0"	# DW_AT_name
123die72:
124	.uleb128 0x5	# (DIE (0x72) DW_TAG_pointer_type)
125	.byte	0x8	# DW_AT_byte_size
126	.long	die78-.Ldebug_info0	# DW_AT_type
127die78:
128	.uleb128 0x5	# (DIE (0x78) DW_TAG_pointer_type)
129	.byte	0x8	# DW_AT_byte_size
130	.long	die7e-.Ldebug_info0	# DW_AT_type
131die7e:
132	.uleb128 0x6	# (DIE (0x7e) DW_TAG_base_type)
133	.byte	0x1	# DW_AT_byte_size
134	.byte	0x6	# DW_AT_encoding
135	.long	.LASF2	# DW_AT_name: "char"
136	.byte	0	# end of children of DIE 0xb
137.Le:
138	.section	.debug_abbrev,"",@progbits
139.Ldebug_abbrev0:
140	.uleb128 0x1	# (abbrev code)
141	.uleb128 0x11	# (TAG: DW_TAG_compile_unit)
142	.byte	0x1	# DW_children_yes
143	.uleb128 0x25	# (DW_AT_producer)
144	.uleb128 0xe	# (DW_FORM_strp)
145	.uleb128 0x13	# (DW_AT_language)
146	.uleb128 0xb	# (DW_FORM_data1)
147	.uleb128 0x3	# (DW_AT_name)
148	.uleb128 0xe	# (DW_FORM_strp)
149	.uleb128 0x1b	# (DW_AT_comp_dir)
150	.uleb128 0xe	# (DW_FORM_strp)
151	.uleb128 0x11	# (DW_AT_low_pc)
152	.uleb128 0x1	# (DW_FORM_addr)
153	.uleb128 0x12	# (DW_AT_high_pc)
154	.uleb128 0x7	# (DW_FORM_data8)
155	.uleb128 0x10	# (DW_AT_stmt_list)
156	.uleb128 0x17	# (DW_FORM_sec_offset)
157	.byte	0
158	.byte	0
159	.uleb128 0x2	# (abbrev code)
160	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
161	.byte	0x1	# DW_children_yes
162	.uleb128 0x3f	# (DW_AT_external)
163	.uleb128 0x19	# (DW_FORM_flag_present)
164	.uleb128 0x3	# (DW_AT_name)
165	.uleb128 0xe	# (DW_FORM_strp)
166	.uleb128 0x3a	# (DW_AT_decl_file)
167	.uleb128 0xb	# (DW_FORM_data1)
168	.uleb128 0x3b	# (DW_AT_decl_line)
169	.uleb128 0xb	# (DW_FORM_data1)
170	.uleb128 0x27	# (DW_AT_prototyped)
171	.uleb128 0x19	# (DW_FORM_flag_present)
172	.uleb128 0x49	# (DW_AT_type)
173	.uleb128 0x13	# (DW_FORM_ref4)
174	.uleb128 0x11	# (DW_AT_low_pc)
175	.uleb128 0x1	# (DW_FORM_addr)
176	.uleb128 0x12	# (DW_AT_high_pc)
177	.uleb128 0x7	# (DW_FORM_data8)
178	.uleb128 0x40	# (DW_AT_frame_base)
179	.uleb128 0x18	# (DW_FORM_exprloc)
180	.uleb128 0x2117	# (DW_AT_GNU_all_call_sites)
181	.uleb128 0x19	# (DW_FORM_flag_present)
182	.byte	0
183	.byte	0
184	.uleb128 0x3	# (abbrev code)
185	.uleb128 0x5	# (TAG: DW_TAG_formal_parameter)
186	.byte	0	# DW_children_no
187	.uleb128 0x3	# (DW_AT_name)
188	.uleb128 0xe	# (DW_FORM_strp)
189	.uleb128 0x3a	# (DW_AT_decl_file)
190	.uleb128 0xb	# (DW_FORM_data1)
191	.uleb128 0x3b	# (DW_AT_decl_line)
192	.uleb128 0xb	# (DW_FORM_data1)
193	.uleb128 0x49	# (DW_AT_type)
194	.uleb128 0x13	# (DW_FORM_ref4)
195	.uleb128 0x2	# (DW_AT_location)
196	.uleb128 0x18	# (DW_FORM_exprloc)
197	.byte	0
198	.byte	0
199	.uleb128 0x4	# (abbrev code)
200	.uleb128 0x24	# (TAG: DW_TAG_base_type)
201	.byte	0	# DW_children_no
202	.uleb128 0xb	# (DW_AT_byte_size)
203	.uleb128 0xb	# (DW_FORM_data1)
204	.uleb128 0x3e	# (DW_AT_encoding)
205	.uleb128 0xb	# (DW_FORM_data1)
206	.uleb128 0x3	# (DW_AT_name)
207	.uleb128 0x8	# (DW_FORM_string)
208	.byte	0
209	.byte	0
210	.uleb128 0x5	# (abbrev code)
211	.uleb128 0xf	# (TAG: DW_TAG_pointer_type)
212	.byte	0	# DW_children_no
213	.uleb128 0xb	# (DW_AT_byte_size)
214	.uleb128 0xb	# (DW_FORM_data1)
215	.uleb128 0x49	# (DW_AT_type)
216	.uleb128 0x13	# (DW_FORM_ref4)
217	.byte	0
218	.byte	0
219	.uleb128 0x6	# (abbrev code)
220	.uleb128 0x24	# (TAG: DW_TAG_base_type)
221	.byte	0	# DW_children_no
222	.uleb128 0xb	# (DW_AT_byte_size)
223	.uleb128 0xb	# (DW_FORM_data1)
224	.uleb128 0x3e	# (DW_AT_encoding)
225	.uleb128 0xb	# (DW_FORM_data1)
226	.uleb128 0x3	# (DW_AT_name)
227	.uleb128 0xe	# (DW_FORM_strp)
228	.byte	0
229	.byte	0
230	.byte	0
231	.section	.debug_aranges,"",@progbits
232	.long	0x2c	# Length of Address Ranges Info
233	.value	0x2	# DWARF Version
234	.long	.Ldebug_info0	# Offset of Compilation Unit Info
235	.byte	0x8	# Size of Address
236	.byte	0	# Size of Segment Descriptor
237	.value	0	# Pad to 16 byte boundary
238	.value	0
239	.quad	.Ltext0	# Address
240	.quad	.Letext0-.Ltext0	# Length
241	.quad	0
242	.quad	0
243	.section	.debug_line,"",@progbits
244.Ldebug_line0:
245	.section	.debug_str,"MS",@progbits,1
246.LASF1:
247	.string	"argv"
248.LASF4:
249	.string	"py-framefilter-invalidarg.c"
250.LASF5:
251	.string	""
252.LASF0:
253	.string	"argc"
254.LASF3:
255	.string	"GNU C 4.9.1 20140813 (Red Hat 4.9.1-7) -mtune=generic -march=x86-64 -g"
256.LASF6:
257	.string	"main"
258.LASF2:
259	.string	"char"
260	.ident	"GCC: (GNU) 4.9.1 20140813 (Red Hat 4.9.1-7)"
261	.section	.note.GNU-stack,"",@progbits
262