1/* This testcase is part of GDB, the GNU debugger.
2
3   Copyright 2013-2021 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 source file was generated by:
19   gcc -o gdb.arch/amd64-tailcall-noret.S gdb.arch/amd64-tailcall-noret.c -Wall -S -dA -O2 -g
20   */
21
22	.file	"amd64-tailcall-noret.c"
23	.text
24.Ltext0:
25	.section	.text.unlikely,"ax",@progbits
26	.type	noret, @function
27noret:
28.LFB9:
29	.file 1 "gdb.arch/amd64-tailcall-noret.c"
30	# gdb.arch/amd64-tailcall-noret.c:24
31	.loc 1 24 0
32	.cfi_startproc
33.LVL0:
34# BLOCK 2 freq:10000 seq:0
35# PRED: ENTRY [100.0%]  (fallthru)
36	pushq	%rax
37.LCFI0:
38	.cfi_def_cfa_offset 16
39	# gdb.arch/amd64-tailcall-noret.c:25
40	.loc 1 25 0
41	call	abort
42.LVL1:
43# SUCC:
44	.cfi_endproc
45.LFE9:
46	.size	noret, .-noret
47	.text
48	.p2align 4,,15
49	.type	mayret, @function
50mayret:
51.LFB10:
52	# gdb.arch/amd64-tailcall-noret.c:30
53	.loc 1 30 0
54	.cfi_startproc
55.LVL2:
56# BLOCK 2 freq:10000 seq:0
57# PRED: ENTRY [100.0%]  (fallthru)
58	# gdb.arch/amd64-tailcall-noret.c:31
59	.loc 1 31 0
60	movl	v(%rip), %eax
61	testl	%eax, %eax
62# SUCC: 4 [0.0%]  (can_fallthru) 3 [100.0%]  (fallthru,can_fallthru)
63	jne	.L8
64# BLOCK 3 freq:9996 seq:1
65# PRED: 2 [100.0%]  (fallthru,can_fallthru)
66# SUCC: EXIT [100.0%]
67	rep
68	ret
69# BLOCK 4 freq:4 seq:2
70# PRED: 2 [0.0%]  (can_fallthru)
71.L8:
72	# gdb.arch/amd64-tailcall-noret.c:30
73	.loc 1 30 0
74	pushq	%rdx
75.LCFI1:
76	.cfi_def_cfa_offset 16
77	# gdb.arch/amd64-tailcall-noret.c:32
78	.loc 1 32 0
79	xorl	%eax, %eax
80	call	noret
81.LVL3:
82# SUCC:
83	.cfi_endproc
84.LFE10:
85	.size	mayret, .-mayret
86	.p2align 4,,15
87	.type	tailcall, @function
88tailcall:
89.LFB11:
90	# gdb.arch/amd64-tailcall-noret.c:37
91	.loc 1 37 0
92	.cfi_startproc
93.LVL4:
94# BLOCK 2 freq:10000 seq:0
95# PRED: ENTRY [100.0%]  (fallthru)
96	# gdb.arch/amd64-tailcall-noret.c:38
97	.loc 1 38 0
98	jmp	mayret
99.LVL5:
100# SUCC: EXIT [100.0%]  (ab,sibcall)
101	.cfi_endproc
102.LFE11:
103	.size	tailcall, .-tailcall
104	.section	.text.startup,"ax",@progbits
105	.p2align 4,,15
106	.globl	main
107	.type	main, @function
108main:
109.LFB12:
110	# gdb.arch/amd64-tailcall-noret.c:43
111	.loc 1 43 0
112	.cfi_startproc
113# BLOCK 2 freq:10000 seq:0
114# PRED: ENTRY [100.0%]  (fallthru)
115	subq	$8, %rsp
116.LCFI2:
117	.cfi_def_cfa_offset 16
118	# gdb.arch/amd64-tailcall-noret.c:44
119	.loc 1 44 0
120	movl	$1, %edi
121	call	tailcall
122.LVL6:
123	# gdb.arch/amd64-tailcall-noret.c:46
124	.loc 1 46 0
125	xorl	%eax, %eax
126	addq	$8, %rsp
127.LCFI3:
128	.cfi_def_cfa_offset 8
129# SUCC: EXIT [100.0%]
130	ret
131	.cfi_endproc
132.LFE12:
133	.size	main, .-main
134	.globl	v
135	.data
136	.align 4
137	.type	v, @object
138	.size	v, 4
139v:
140	.long	1
141	.text
142.Letext0:
143	.file 2 "/usr/include/stdlib.h"
144	.section	.debug_info,"",@progbits
145.Ldebug_info0:
146	.long	0x19d	# Length of Compilation Unit Info
147	.value	0x2	# DWARF version number
148	.long	.Ldebug_abbrev0	# Offset Into Abbrev. Section
149	.byte	0x8	# Pointer Size (in bytes)
150	.uleb128 0x1	# (DIE (0xb) DW_TAG_compile_unit)
151	.long	.LASF14	# DW_AT_producer: "GNU C 4.7.3 20130221 (prerelease)"
152	.byte	0x1	# DW_AT_language
153	.long	.LASF15	# DW_AT_name: "gdb.arch/amd64-tailcall-noret.c"
154	.long	.LASF16	# DW_AT_comp_dir: ""
155	.long	.Ldebug_ranges0+0	# DW_AT_ranges
156	.quad	0	# DW_AT_low_pc
157	.quad	0	# DW_AT_entry_pc
158	.long	.Ldebug_line0	# DW_AT_stmt_list
159	.uleb128 0x2	# (DIE (0x31) DW_TAG_base_type)
160	.byte	0x8	# DW_AT_byte_size
161	.byte	0x7	# DW_AT_encoding
162	.long	.LASF0	# DW_AT_name: "long unsigned int"
163	.uleb128 0x3	# (DIE (0x38) DW_TAG_base_type)
164	.byte	0x4	# DW_AT_byte_size
165	.byte	0x5	# DW_AT_encoding
166	.ascii "int\0"	# DW_AT_name
167	.uleb128 0x2	# (DIE (0x3f) DW_TAG_base_type)
168	.byte	0x1	# DW_AT_byte_size
169	.byte	0x8	# DW_AT_encoding
170	.long	.LASF1	# DW_AT_name: "unsigned char"
171	.uleb128 0x2	# (DIE (0x46) DW_TAG_base_type)
172	.byte	0x2	# DW_AT_byte_size
173	.byte	0x7	# DW_AT_encoding
174	.long	.LASF2	# DW_AT_name: "short unsigned int"
175	.uleb128 0x2	# (DIE (0x4d) DW_TAG_base_type)
176	.byte	0x4	# DW_AT_byte_size
177	.byte	0x7	# DW_AT_encoding
178	.long	.LASF3	# DW_AT_name: "unsigned int"
179	.uleb128 0x2	# (DIE (0x54) DW_TAG_base_type)
180	.byte	0x1	# DW_AT_byte_size
181	.byte	0x6	# DW_AT_encoding
182	.long	.LASF4	# DW_AT_name: "signed char"
183	.uleb128 0x2	# (DIE (0x5b) DW_TAG_base_type)
184	.byte	0x2	# DW_AT_byte_size
185	.byte	0x5	# DW_AT_encoding
186	.long	.LASF5	# DW_AT_name: "short int"
187	.uleb128 0x2	# (DIE (0x62) DW_TAG_base_type)
188	.byte	0x8	# DW_AT_byte_size
189	.byte	0x5	# DW_AT_encoding
190	.long	.LASF6	# DW_AT_name: "long int"
191	.uleb128 0x2	# (DIE (0x69) DW_TAG_base_type)
192	.byte	0x8	# DW_AT_byte_size
193	.byte	0x7	# DW_AT_encoding
194	.long	.LASF7	# DW_AT_name: "sizetype"
195	.uleb128 0x2	# (DIE (0x70) DW_TAG_base_type)
196	.byte	0x1	# DW_AT_byte_size
197	.byte	0x6	# DW_AT_encoding
198	.long	.LASF8	# DW_AT_name: "char"
199	.uleb128 0x2	# (DIE (0x77) DW_TAG_base_type)
200	.byte	0x8	# DW_AT_byte_size
201	.byte	0x5	# DW_AT_encoding
202	.long	.LASF9	# DW_AT_name: "long long int"
203	.uleb128 0x2	# (DIE (0x7e) DW_TAG_base_type)
204	.byte	0x8	# DW_AT_byte_size
205	.byte	0x7	# DW_AT_encoding
206	.long	.LASF10	# DW_AT_name: "long long unsigned int"
207	.uleb128 0x4	# (DIE (0x85) DW_TAG_volatile_type)
208	.long	0x38	# DW_AT_type
209	.uleb128 0x5	# (DIE (0x8a) DW_TAG_subprogram)
210	.long	.LASF11	# DW_AT_name: "noret"
211	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
212	.byte	0x17	# DW_AT_decl_line
213	.byte	0x1	# DW_AT_prototyped
214	.quad	.LFB9	# DW_AT_low_pc
215	.quad	.LFE9	# DW_AT_high_pc
216	.long	.LLST0	# DW_AT_frame_base
217	.byte	0x1	# DW_AT_GNU_all_call_sites
218	.long	0xc7	# DW_AT_sibling
219	.uleb128 0x6	# (DIE (0xab) DW_TAG_formal_parameter)
220	.ascii "x\0"	# DW_AT_name
221	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
222	.byte	0x17	# DW_AT_decl_line
223	.long	0x38	# DW_AT_type
224	.long	.LLST1	# DW_AT_location
225	.uleb128 0x7	# (DIE (0xb8) DW_TAG_unspecified_parameters)
226	.uleb128 0x8	# (DIE (0xb9) DW_TAG_GNU_call_site)
227	.quad	.LVL1	# DW_AT_low_pc
228	.long	0x195	# DW_AT_abstract_origin
229	.byte	0	# end of children of DIE 0x8a
230	.uleb128 0x5	# (DIE (0xc7) DW_TAG_subprogram)
231	.long	.LASF12	# DW_AT_name: "mayret"
232	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
233	.byte	0x1d	# DW_AT_decl_line
234	.byte	0x1	# DW_AT_prototyped
235	.quad	.LFB10	# DW_AT_low_pc
236	.quad	.LFE10	# DW_AT_high_pc
237	.long	.LLST2	# DW_AT_frame_base
238	.byte	0x1	# DW_AT_GNU_all_call_sites
239	.long	0x103	# DW_AT_sibling
240	.uleb128 0x6	# (DIE (0xe8) DW_TAG_formal_parameter)
241	.ascii "x\0"	# DW_AT_name
242	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
243	.byte	0x1d	# DW_AT_decl_line
244	.long	0x38	# DW_AT_type
245	.long	.LLST3	# DW_AT_location
246	.uleb128 0x8	# (DIE (0xf5) DW_TAG_GNU_call_site)
247	.quad	.LVL3	# DW_AT_low_pc
248	.long	0x8a	# DW_AT_abstract_origin
249	.byte	0	# end of children of DIE 0xc7
250	.uleb128 0x9	# (DIE (0x103) DW_TAG_subprogram)
251	.long	.LASF13	# DW_AT_name: "tailcall"
252	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
253	.byte	0x24	# DW_AT_decl_line
254	.byte	0x1	# DW_AT_prototyped
255	.quad	.LFB11	# DW_AT_low_pc
256	.quad	.LFE11	# DW_AT_high_pc
257	.byte	0x2	# DW_AT_frame_base
258	.byte	0x77	# DW_OP_breg7
259	.sleb128 8
260	.byte	0x1	# DW_AT_GNU_all_call_sites
261	.long	0x147	# DW_AT_sibling
262	.uleb128 0x6	# (DIE (0x123) DW_TAG_formal_parameter)
263	.ascii "x\0"	# DW_AT_name
264	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
265	.byte	0x24	# DW_AT_decl_line
266	.long	0x38	# DW_AT_type
267	.long	.LLST4	# DW_AT_location
268	.uleb128 0xa	# (DIE (0x130) DW_TAG_GNU_call_site)
269	.quad	.LVL5	# DW_AT_low_pc
270	.byte	0x1	# DW_AT_GNU_tail_call
271	.long	0xc7	# DW_AT_abstract_origin
272	.uleb128 0xb	# (DIE (0x13e) DW_TAG_GNU_call_site_parameter)
273	.byte	0x1	# DW_AT_location
274	.byte	0x55	# DW_OP_reg5
275	.byte	0x3	# DW_AT_GNU_call_site_value
276	.byte	0xf3	# DW_OP_GNU_entry_value
277	.uleb128 0x1
278	.byte	0x55	# DW_OP_reg5
279	.byte	0	# end of children of DIE 0x130
280	.byte	0	# end of children of DIE 0x103
281	.uleb128 0xc	# (DIE (0x147) DW_TAG_subprogram)
282	.byte	0x1	# DW_AT_external
283	.long	.LASF17	# DW_AT_name: "main"
284	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
285	.byte	0x2a	# DW_AT_decl_line
286	.byte	0x1	# DW_AT_prototyped
287	.long	0x38	# DW_AT_type
288	.quad	.LFB12	# DW_AT_low_pc
289	.quad	.LFE12	# DW_AT_high_pc
290	.long	.LLST5	# DW_AT_frame_base
291	.byte	0x1	# DW_AT_GNU_all_call_sites
292	.long	0x181	# DW_AT_sibling
293	.uleb128 0xd	# (DIE (0x16d) DW_TAG_GNU_call_site)
294	.quad	.LVL6	# DW_AT_low_pc
295	.long	0x103	# DW_AT_abstract_origin
296	.uleb128 0xb	# (DIE (0x17a) DW_TAG_GNU_call_site_parameter)
297	.byte	0x1	# DW_AT_location
298	.byte	0x55	# DW_OP_reg5
299	.byte	0x1	# DW_AT_GNU_call_site_value
300	.byte	0x31	# DW_OP_lit1
301	.byte	0	# end of children of DIE 0x16d
302	.byte	0	# end of children of DIE 0x147
303	.uleb128 0xe	# (DIE (0x181) DW_TAG_variable)
304	.ascii "v\0"	# DW_AT_name
305	.byte	0x1	# DW_AT_decl_file (gdb.arch/amd64-tailcall-noret.c)
306	.byte	0x14	# DW_AT_decl_line
307	.long	0x85	# DW_AT_type
308	.byte	0x1	# DW_AT_external
309	.byte	0x9	# DW_AT_location
310	.byte	0x3	# DW_OP_addr
311	.quad	v
312	.uleb128 0xf	# (DIE (0x195) DW_TAG_subprogram)
313	.byte	0x1	# DW_AT_external
314	.long	.LASF18	# DW_AT_name: "abort"
315	.byte	0x2	# DW_AT_decl_file (/usr/include/stdlib.h)
316	.value	0x202	# DW_AT_decl_line
317	.byte	0x1	# DW_AT_prototyped
318	.byte	0x1	# DW_AT_declaration
319	.byte	0	# end of children of DIE 0xb
320	.section	.debug_abbrev,"",@progbits
321.Ldebug_abbrev0:
322	.uleb128 0x1	# (abbrev code)
323	.uleb128 0x11	# (TAG: DW_TAG_compile_unit)
324	.byte	0x1	# DW_children_yes
325	.uleb128 0x25	# (DW_AT_producer)
326	.uleb128 0xe	# (DW_FORM_strp)
327	.uleb128 0x13	# (DW_AT_language)
328	.uleb128 0xb	# (DW_FORM_data1)
329	.uleb128 0x3	# (DW_AT_name)
330	.uleb128 0xe	# (DW_FORM_strp)
331	.uleb128 0x1b	# (DW_AT_comp_dir)
332	.uleb128 0xe	# (DW_FORM_strp)
333	.uleb128 0x55	# (DW_AT_ranges)
334	.uleb128 0x6	# (DW_FORM_data4)
335	.uleb128 0x11	# (DW_AT_low_pc)
336	.uleb128 0x1	# (DW_FORM_addr)
337	.uleb128 0x52	# (DW_AT_entry_pc)
338	.uleb128 0x1	# (DW_FORM_addr)
339	.uleb128 0x10	# (DW_AT_stmt_list)
340	.uleb128 0x6	# (DW_FORM_data4)
341	.byte	0
342	.byte	0
343	.uleb128 0x2	# (abbrev code)
344	.uleb128 0x24	# (TAG: DW_TAG_base_type)
345	.byte	0	# DW_children_no
346	.uleb128 0xb	# (DW_AT_byte_size)
347	.uleb128 0xb	# (DW_FORM_data1)
348	.uleb128 0x3e	# (DW_AT_encoding)
349	.uleb128 0xb	# (DW_FORM_data1)
350	.uleb128 0x3	# (DW_AT_name)
351	.uleb128 0xe	# (DW_FORM_strp)
352	.byte	0
353	.byte	0
354	.uleb128 0x3	# (abbrev code)
355	.uleb128 0x24	# (TAG: DW_TAG_base_type)
356	.byte	0	# DW_children_no
357	.uleb128 0xb	# (DW_AT_byte_size)
358	.uleb128 0xb	# (DW_FORM_data1)
359	.uleb128 0x3e	# (DW_AT_encoding)
360	.uleb128 0xb	# (DW_FORM_data1)
361	.uleb128 0x3	# (DW_AT_name)
362	.uleb128 0x8	# (DW_FORM_string)
363	.byte	0
364	.byte	0
365	.uleb128 0x4	# (abbrev code)
366	.uleb128 0x35	# (TAG: DW_TAG_volatile_type)
367	.byte	0	# DW_children_no
368	.uleb128 0x49	# (DW_AT_type)
369	.uleb128 0x13	# (DW_FORM_ref4)
370	.byte	0
371	.byte	0
372	.uleb128 0x5	# (abbrev code)
373	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
374	.byte	0x1	# DW_children_yes
375	.uleb128 0x3	# (DW_AT_name)
376	.uleb128 0xe	# (DW_FORM_strp)
377	.uleb128 0x3a	# (DW_AT_decl_file)
378	.uleb128 0xb	# (DW_FORM_data1)
379	.uleb128 0x3b	# (DW_AT_decl_line)
380	.uleb128 0xb	# (DW_FORM_data1)
381	.uleb128 0x27	# (DW_AT_prototyped)
382	.uleb128 0xc	# (DW_FORM_flag)
383	.uleb128 0x11	# (DW_AT_low_pc)
384	.uleb128 0x1	# (DW_FORM_addr)
385	.uleb128 0x12	# (DW_AT_high_pc)
386	.uleb128 0x1	# (DW_FORM_addr)
387	.uleb128 0x40	# (DW_AT_frame_base)
388	.uleb128 0x6	# (DW_FORM_data4)
389	.uleb128 0x2117	# (DW_AT_GNU_all_call_sites)
390	.uleb128 0xc	# (DW_FORM_flag)
391	.uleb128 0x1	# (DW_AT_sibling)
392	.uleb128 0x13	# (DW_FORM_ref4)
393	.byte	0
394	.byte	0
395	.uleb128 0x6	# (abbrev code)
396	.uleb128 0x5	# (TAG: DW_TAG_formal_parameter)
397	.byte	0	# DW_children_no
398	.uleb128 0x3	# (DW_AT_name)
399	.uleb128 0x8	# (DW_FORM_string)
400	.uleb128 0x3a	# (DW_AT_decl_file)
401	.uleb128 0xb	# (DW_FORM_data1)
402	.uleb128 0x3b	# (DW_AT_decl_line)
403	.uleb128 0xb	# (DW_FORM_data1)
404	.uleb128 0x49	# (DW_AT_type)
405	.uleb128 0x13	# (DW_FORM_ref4)
406	.uleb128 0x2	# (DW_AT_location)
407	.uleb128 0x6	# (DW_FORM_data4)
408	.byte	0
409	.byte	0
410	.uleb128 0x7	# (abbrev code)
411	.uleb128 0x18	# (TAG: DW_TAG_unspecified_parameters)
412	.byte	0	# DW_children_no
413	.byte	0
414	.byte	0
415	.uleb128 0x8	# (abbrev code)
416	.uleb128 0x4109	# (TAG: DW_TAG_GNU_call_site)
417	.byte	0	# DW_children_no
418	.uleb128 0x11	# (DW_AT_low_pc)
419	.uleb128 0x1	# (DW_FORM_addr)
420	.uleb128 0x31	# (DW_AT_abstract_origin)
421	.uleb128 0x13	# (DW_FORM_ref4)
422	.byte	0
423	.byte	0
424	.uleb128 0x9	# (abbrev code)
425	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
426	.byte	0x1	# DW_children_yes
427	.uleb128 0x3	# (DW_AT_name)
428	.uleb128 0xe	# (DW_FORM_strp)
429	.uleb128 0x3a	# (DW_AT_decl_file)
430	.uleb128 0xb	# (DW_FORM_data1)
431	.uleb128 0x3b	# (DW_AT_decl_line)
432	.uleb128 0xb	# (DW_FORM_data1)
433	.uleb128 0x27	# (DW_AT_prototyped)
434	.uleb128 0xc	# (DW_FORM_flag)
435	.uleb128 0x11	# (DW_AT_low_pc)
436	.uleb128 0x1	# (DW_FORM_addr)
437	.uleb128 0x12	# (DW_AT_high_pc)
438	.uleb128 0x1	# (DW_FORM_addr)
439	.uleb128 0x40	# (DW_AT_frame_base)
440	.uleb128 0xa	# (DW_FORM_block1)
441	.uleb128 0x2117	# (DW_AT_GNU_all_call_sites)
442	.uleb128 0xc	# (DW_FORM_flag)
443	.uleb128 0x1	# (DW_AT_sibling)
444	.uleb128 0x13	# (DW_FORM_ref4)
445	.byte	0
446	.byte	0
447	.uleb128 0xa	# (abbrev code)
448	.uleb128 0x4109	# (TAG: DW_TAG_GNU_call_site)
449	.byte	0x1	# DW_children_yes
450	.uleb128 0x11	# (DW_AT_low_pc)
451	.uleb128 0x1	# (DW_FORM_addr)
452	.uleb128 0x2115	# (DW_AT_GNU_tail_call)
453	.uleb128 0xc	# (DW_FORM_flag)
454	.uleb128 0x31	# (DW_AT_abstract_origin)
455	.uleb128 0x13	# (DW_FORM_ref4)
456	.byte	0
457	.byte	0
458	.uleb128 0xb	# (abbrev code)
459	.uleb128 0x410a	# (TAG: DW_TAG_GNU_call_site_parameter)
460	.byte	0	# DW_children_no
461	.uleb128 0x2	# (DW_AT_location)
462	.uleb128 0xa	# (DW_FORM_block1)
463	.uleb128 0x2111	# (DW_AT_GNU_call_site_value)
464	.uleb128 0xa	# (DW_FORM_block1)
465	.byte	0
466	.byte	0
467	.uleb128 0xc	# (abbrev code)
468	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
469	.byte	0x1	# DW_children_yes
470	.uleb128 0x3f	# (DW_AT_external)
471	.uleb128 0xc	# (DW_FORM_flag)
472	.uleb128 0x3	# (DW_AT_name)
473	.uleb128 0xe	# (DW_FORM_strp)
474	.uleb128 0x3a	# (DW_AT_decl_file)
475	.uleb128 0xb	# (DW_FORM_data1)
476	.uleb128 0x3b	# (DW_AT_decl_line)
477	.uleb128 0xb	# (DW_FORM_data1)
478	.uleb128 0x27	# (DW_AT_prototyped)
479	.uleb128 0xc	# (DW_FORM_flag)
480	.uleb128 0x49	# (DW_AT_type)
481	.uleb128 0x13	# (DW_FORM_ref4)
482	.uleb128 0x11	# (DW_AT_low_pc)
483	.uleb128 0x1	# (DW_FORM_addr)
484	.uleb128 0x12	# (DW_AT_high_pc)
485	.uleb128 0x1	# (DW_FORM_addr)
486	.uleb128 0x40	# (DW_AT_frame_base)
487	.uleb128 0x6	# (DW_FORM_data4)
488	.uleb128 0x2117	# (DW_AT_GNU_all_call_sites)
489	.uleb128 0xc	# (DW_FORM_flag)
490	.uleb128 0x1	# (DW_AT_sibling)
491	.uleb128 0x13	# (DW_FORM_ref4)
492	.byte	0
493	.byte	0
494	.uleb128 0xd	# (abbrev code)
495	.uleb128 0x4109	# (TAG: DW_TAG_GNU_call_site)
496	.byte	0x1	# DW_children_yes
497	.uleb128 0x11	# (DW_AT_low_pc)
498	.uleb128 0x1	# (DW_FORM_addr)
499	.uleb128 0x31	# (DW_AT_abstract_origin)
500	.uleb128 0x13	# (DW_FORM_ref4)
501	.byte	0
502	.byte	0
503	.uleb128 0xe	# (abbrev code)
504	.uleb128 0x34	# (TAG: DW_TAG_variable)
505	.byte	0	# DW_children_no
506	.uleb128 0x3	# (DW_AT_name)
507	.uleb128 0x8	# (DW_FORM_string)
508	.uleb128 0x3a	# (DW_AT_decl_file)
509	.uleb128 0xb	# (DW_FORM_data1)
510	.uleb128 0x3b	# (DW_AT_decl_line)
511	.uleb128 0xb	# (DW_FORM_data1)
512	.uleb128 0x49	# (DW_AT_type)
513	.uleb128 0x13	# (DW_FORM_ref4)
514	.uleb128 0x3f	# (DW_AT_external)
515	.uleb128 0xc	# (DW_FORM_flag)
516	.uleb128 0x2	# (DW_AT_location)
517	.uleb128 0xa	# (DW_FORM_block1)
518	.byte	0
519	.byte	0
520	.uleb128 0xf	# (abbrev code)
521	.uleb128 0x2e	# (TAG: DW_TAG_subprogram)
522	.byte	0	# DW_children_no
523	.uleb128 0x3f	# (DW_AT_external)
524	.uleb128 0xc	# (DW_FORM_flag)
525	.uleb128 0x3	# (DW_AT_name)
526	.uleb128 0xe	# (DW_FORM_strp)
527	.uleb128 0x3a	# (DW_AT_decl_file)
528	.uleb128 0xb	# (DW_FORM_data1)
529	.uleb128 0x3b	# (DW_AT_decl_line)
530	.uleb128 0x5	# (DW_FORM_data2)
531	.uleb128 0x27	# (DW_AT_prototyped)
532	.uleb128 0xc	# (DW_FORM_flag)
533	.uleb128 0x3c	# (DW_AT_declaration)
534	.uleb128 0xc	# (DW_FORM_flag)
535	.byte	0
536	.byte	0
537	.byte	0
538	.section	.debug_loc,"",@progbits
539.Ldebug_loc0:
540.LLST0:
541	.quad	.LFB9	# Location list begin address (*.LLST0)
542	.quad	.LCFI0	# Location list end address (*.LLST0)
543	.value	0x2	# Location expression size
544	.byte	0x77	# DW_OP_breg7
545	.sleb128 8
546	.quad	.LCFI0	# Location list begin address (*.LLST0)
547	.quad	.LFE9	# Location list end address (*.LLST0)
548	.value	0x2	# Location expression size
549	.byte	0x77	# DW_OP_breg7
550	.sleb128 16
551	.quad	0	# Location list terminator begin (*.LLST0)
552	.quad	0	# Location list terminator end (*.LLST0)
553.LLST1:
554	.quad	.LVL0	# Location list begin address (*.LLST1)
555	.quad	.LVL1-1	# Location list end address (*.LLST1)
556	.value	0x1	# Location expression size
557	.byte	0x55	# DW_OP_reg5
558	.quad	.LVL1-1	# Location list begin address (*.LLST1)
559	.quad	.LFE9	# Location list end address (*.LLST1)
560	.value	0x4	# Location expression size
561	.byte	0xf3	# DW_OP_GNU_entry_value
562	.uleb128 0x1
563	.byte	0x55	# DW_OP_reg5
564	.byte	0x9f	# DW_OP_stack_value
565	.quad	0	# Location list terminator begin (*.LLST1)
566	.quad	0	# Location list terminator end (*.LLST1)
567.LLST2:
568	.quad	.LFB10	# Location list begin address (*.LLST2)
569	.quad	.LCFI1	# Location list end address (*.LLST2)
570	.value	0x2	# Location expression size
571	.byte	0x77	# DW_OP_breg7
572	.sleb128 8
573	.quad	.LCFI1	# Location list begin address (*.LLST2)
574	.quad	.LFE10	# Location list end address (*.LLST2)
575	.value	0x2	# Location expression size
576	.byte	0x77	# DW_OP_breg7
577	.sleb128 16
578	.quad	0	# Location list terminator begin (*.LLST2)
579	.quad	0	# Location list terminator end (*.LLST2)
580.LLST3:
581	.quad	.LVL2	# Location list begin address (*.LLST3)
582	.quad	.LVL3-1	# Location list end address (*.LLST3)
583	.value	0x1	# Location expression size
584	.byte	0x55	# DW_OP_reg5
585	.quad	.LVL3-1	# Location list begin address (*.LLST3)
586	.quad	.LFE10	# Location list end address (*.LLST3)
587	.value	0x4	# Location expression size
588	.byte	0xf3	# DW_OP_GNU_entry_value
589	.uleb128 0x1
590	.byte	0x55	# DW_OP_reg5
591	.byte	0x9f	# DW_OP_stack_value
592	.quad	0	# Location list terminator begin (*.LLST3)
593	.quad	0	# Location list terminator end (*.LLST3)
594.LLST4:
595	.quad	.LVL4	# Location list begin address (*.LLST4)
596	.quad	.LVL5-1	# Location list end address (*.LLST4)
597	.value	0x1	# Location expression size
598	.byte	0x55	# DW_OP_reg5
599	.quad	.LVL5-1	# Location list begin address (*.LLST4)
600	.quad	.LFE11	# Location list end address (*.LLST4)
601	.value	0x4	# Location expression size
602	.byte	0xf3	# DW_OP_GNU_entry_value
603	.uleb128 0x1
604	.byte	0x55	# DW_OP_reg5
605	.byte	0x9f	# DW_OP_stack_value
606	.quad	0	# Location list terminator begin (*.LLST4)
607	.quad	0	# Location list terminator end (*.LLST4)
608.LLST5:
609	.quad	.LFB12	# Location list begin address (*.LLST5)
610	.quad	.LCFI2	# Location list end address (*.LLST5)
611	.value	0x2	# Location expression size
612	.byte	0x77	# DW_OP_breg7
613	.sleb128 8
614	.quad	.LCFI2	# Location list begin address (*.LLST5)
615	.quad	.LCFI3	# Location list end address (*.LLST5)
616	.value	0x2	# Location expression size
617	.byte	0x77	# DW_OP_breg7
618	.sleb128 16
619	.quad	.LCFI3	# Location list begin address (*.LLST5)
620	.quad	.LFE12	# Location list end address (*.LLST5)
621	.value	0x2	# Location expression size
622	.byte	0x77	# DW_OP_breg7
623	.sleb128 8
624	.quad	0	# Location list terminator begin (*.LLST5)
625	.quad	0	# Location list terminator end (*.LLST5)
626	.section	.debug_aranges,"",@progbits
627	.long	0x4c	# Length of Address Ranges Info
628	.value	0x2	# DWARF Version
629	.long	.Ldebug_info0	# Offset of Compilation Unit Info
630	.byte	0x8	# Size of Address
631	.byte	0	# Size of Segment Descriptor
632	.value	0	# Pad to 16 byte boundary
633	.value	0
634	.quad	.Ltext0	# Address
635	.quad	.Letext0-.Ltext0	# Length
636	.quad	.LFB9	# Address
637	.quad	.LFE9-.LFB9	# Length
638	.quad	.LFB12	# Address
639	.quad	.LFE12-.LFB12	# Length
640	.quad	0
641	.quad	0
642	.section	.debug_ranges,"",@progbits
643.Ldebug_ranges0:
644	.quad	.Ltext0	# Offset 0
645	.quad	.Letext0
646	.quad	.LFB9	# Offset 0x10
647	.quad	.LFE9
648	.quad	.LFB12	# Offset 0x20
649	.quad	.LFE12
650	.quad	0
651	.quad	0
652	.section	.debug_line,"",@progbits
653.Ldebug_line0:
654	.section	.debug_str,"MS",@progbits,1
655.LASF9:
656	.string	"long long int"
657.LASF14:
658	.string	"GNU C 4.7.3 20130221 (prerelease)"
659.LASF3:
660	.string	"unsigned int"
661.LASF17:
662	.string	"main"
663.LASF0:
664	.string	"long unsigned int"
665.LASF10:
666	.string	"long long unsigned int"
667.LASF16:
668	.string	""
669.LASF13:
670	.string	"tailcall"
671.LASF1:
672	.string	"unsigned char"
673.LASF8:
674	.string	"char"
675.LASF6:
676	.string	"long int"
677.LASF11:
678	.string	"noret"
679.LASF2:
680	.string	"short unsigned int"
681.LASF4:
682	.string	"signed char"
683.LASF12:
684	.string	"mayret"
685.LASF18:
686	.string	"abort"
687.LASF5:
688	.string	"short int"
689.LASF7:
690	.string	"sizetype"
691.LASF15:
692	.string	"gdb.arch/amd64-tailcall-noret.c"
693	.ident	"GCC: (GNU) 4.7.3 20130221 (prerelease)"
694	.section	.note.GNU-stack,"",@progbits
695