Imported Upstream version 7.9
[platform/upstream/gdb.git] / gdb / testsuite / gdb.arch / amd64-tailcall-noret.S
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2013-2015 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
27 noret:
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
50 mayret:
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
88 tailcall:
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
108 main:
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
139 v:
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