btrace: increase buffer size for exception test
[external/binutils.git] / gdb / testsuite / gdb.btrace / x86_64-tailcall.S
1 /* This testcase is part of GDB, the GNU debugger.
2
3    Copyright 2013-2015 Free Software Foundation, Inc.
4
5    Contributed by Intel Corp. <markus.t.metzger@intel.com>
6
7    This program is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3 of the License, or
10    (at your option) any later version.
11
12    This program is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16
17    You should have received a copy of the GNU General Public License
18    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20
21    This file has been generated using:
22    gcc -S -O2 -dA -g tailcall.c -o x86_64-tailcall.S  */
23
24         .file   "tailcall.c"
25         .text
26 .Ltext0:
27         .p2align 4,,15
28         .type   bar, @function
29 bar:
30 .LFB0:
31         .file 1 "tailcall.c"
32         # tailcall.c:22
33         .loc 1 22 0
34         .cfi_startproc
35 # BLOCK 2 freq:10000 seq:0
36 # PRED: ENTRY [100.0%]  (FALLTHRU)
37         # tailcall.c:24
38         .loc 1 24 0
39         movl    $42, %eax
40 # SUCC: EXIT [100.0%]
41         ret
42         .cfi_endproc
43 .LFE0:
44         .size   bar, .-bar
45         .p2align 4,,15
46         .type   foo, @function
47 foo:
48 .LFB1:
49         # tailcall.c:28
50         .loc 1 28 0
51         .cfi_startproc
52 # BLOCK 2 freq:10000 seq:0
53 # PRED: ENTRY [100.0%]  (FALLTHRU)
54         # tailcall.c:29
55         .loc 1 29 0
56         jmp     bar
57 # SUCC: EXIT [100.0%]  (ABNORMAL,SIBCALL)
58 .LVL0:
59         .cfi_endproc
60 .LFE1:
61         .size   foo, .-foo
62         .section        .text.startup,"ax",@progbits
63         .p2align 4,,15
64         .globl  main
65         .type   main, @function
66 main:
67 .LFB2:
68         # tailcall.c:34
69         .loc 1 34 0
70         .cfi_startproc
71 # BLOCK 2 freq:10000 seq:0
72 # PRED: ENTRY [100.0%]  (FALLTHRU)
73         # tailcall.c:37
74         .loc 1 37 0
75         call    foo
76 .LVL1:
77         # tailcall.c:38
78         .loc 1 38 0
79         addl    $1, %eax
80 .LVL2:
81 # SUCC: EXIT [100.0%]
82         # tailcall.c:41
83         .loc 1 41 0
84         ret
85         .cfi_endproc
86 .LFE2:
87         .size   main, .-main
88         .text
89 .Letext0:
90         .section        .debug_info,"",@progbits
91 .Ldebug_info0:
92         .long   0xb3    # Length of Compilation Unit Info
93         .value  0x4     # DWARF version number
94         .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
95         .byte   0x8     # Pointer Size (in bytes)
96         .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
97         .long   .LASF0  # DW_AT_producer: "GNU C 4.8.3 20140911 (Red Hat 4.8.3-7) -mtune=generic -march=x86-64 -g -O2"
98         .byte   0x1     # DW_AT_language
99         .long   .LASF1  # DW_AT_name: "tailcall.c"
100         .long   .LASF2  # DW_AT_comp_dir: ""
101         .long   .Ldebug_ranges0+0       # DW_AT_ranges
102         .quad   0       # DW_AT_low_pc
103         .long   .Ldebug_line0   # DW_AT_stmt_list
104         .uleb128 0x2    # (DIE (0x29) DW_TAG_subprogram)
105         .ascii "bar\0"  # DW_AT_name
106         .byte   0x1     # DW_AT_decl_file (tailcall.c)
107         .byte   0x15    # DW_AT_decl_line
108                         # DW_AT_prototyped
109         .long   0x46    # DW_AT_type
110         .quad   .LFB0   # DW_AT_low_pc
111         .quad   .LFE0-.LFB0     # DW_AT_high_pc
112         .uleb128 0x1    # DW_AT_frame_base
113         .byte   0x9c    # DW_OP_call_frame_cfa
114                         # DW_AT_GNU_all_call_sites
115         .uleb128 0x3    # (DIE (0x46) DW_TAG_base_type)
116         .byte   0x4     # DW_AT_byte_size
117         .byte   0x5     # DW_AT_encoding
118         .ascii "int\0"  # DW_AT_name
119         .uleb128 0x4    # (DIE (0x4d) DW_TAG_subprogram)
120         .ascii "foo\0"  # DW_AT_name
121         .byte   0x1     # DW_AT_decl_file (tailcall.c)
122         .byte   0x1b    # DW_AT_decl_line
123                         # DW_AT_prototyped
124         .long   0x46    # DW_AT_type
125         .quad   .LFB1   # DW_AT_low_pc
126         .quad   .LFE1-.LFB1     # DW_AT_high_pc
127         .uleb128 0x1    # DW_AT_frame_base
128         .byte   0x9c    # DW_OP_call_frame_cfa
129                         # DW_AT_GNU_all_call_sites
130         .long   0x7c    # DW_AT_sibling
131         .uleb128 0x5    # (DIE (0x6e) DW_TAG_GNU_call_site)
132         .quad   .LVL0   # DW_AT_low_pc
133                         # DW_AT_GNU_tail_call
134         .long   0x29    # DW_AT_abstract_origin
135         .byte   0       # end of children of DIE 0x4d
136         .uleb128 0x6    # (DIE (0x7c) DW_TAG_subprogram)
137                         # DW_AT_external
138         .long   .LASF3  # DW_AT_name: "main"
139         .byte   0x1     # DW_AT_decl_file (tailcall.c)
140         .byte   0x21    # DW_AT_decl_line
141                         # DW_AT_prototyped
142         .long   0x46    # DW_AT_type
143         .quad   .LFB2   # DW_AT_low_pc
144         .quad   .LFE2-.LFB2     # DW_AT_high_pc
145         .uleb128 0x1    # DW_AT_frame_base
146         .byte   0x9c    # DW_OP_call_frame_cfa
147                         # DW_AT_GNU_all_call_sites
148         .uleb128 0x7    # (DIE (0x99) DW_TAG_variable)
149         .long   .LASF4  # DW_AT_name: "answer"
150         .byte   0x1     # DW_AT_decl_file (tailcall.c)
151         .byte   0x23    # DW_AT_decl_line
152         .long   0x46    # DW_AT_type
153         .long   .LLST0  # DW_AT_location
154         .uleb128 0x8    # (DIE (0xa8) DW_TAG_GNU_call_site)
155         .quad   .LVL1   # DW_AT_low_pc
156         .long   0x4d    # DW_AT_abstract_origin
157         .byte   0       # end of children of DIE 0x7c
158         .byte   0       # end of children of DIE 0xb
159         .section        .debug_abbrev,"",@progbits
160 .Ldebug_abbrev0:
161         .uleb128 0x1    # (abbrev code)
162         .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
163         .byte   0x1     # DW_children_yes
164         .uleb128 0x25   # (DW_AT_producer)
165         .uleb128 0xe    # (DW_FORM_strp)
166         .uleb128 0x13   # (DW_AT_language)
167         .uleb128 0xb    # (DW_FORM_data1)
168         .uleb128 0x3    # (DW_AT_name)
169         .uleb128 0xe    # (DW_FORM_strp)
170         .uleb128 0x1b   # (DW_AT_comp_dir)
171         .uleb128 0xe    # (DW_FORM_strp)
172         .uleb128 0x55   # (DW_AT_ranges)
173         .uleb128 0x17   # (DW_FORM_sec_offset)
174         .uleb128 0x11   # (DW_AT_low_pc)
175         .uleb128 0x1    # (DW_FORM_addr)
176         .uleb128 0x10   # (DW_AT_stmt_list)
177         .uleb128 0x17   # (DW_FORM_sec_offset)
178         .byte   0
179         .byte   0
180         .uleb128 0x2    # (abbrev code)
181         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
182         .byte   0       # DW_children_no
183         .uleb128 0x3    # (DW_AT_name)
184         .uleb128 0x8    # (DW_FORM_string)
185         .uleb128 0x3a   # (DW_AT_decl_file)
186         .uleb128 0xb    # (DW_FORM_data1)
187         .uleb128 0x3b   # (DW_AT_decl_line)
188         .uleb128 0xb    # (DW_FORM_data1)
189         .uleb128 0x27   # (DW_AT_prototyped)
190         .uleb128 0x19   # (DW_FORM_flag_present)
191         .uleb128 0x49   # (DW_AT_type)
192         .uleb128 0x13   # (DW_FORM_ref4)
193         .uleb128 0x11   # (DW_AT_low_pc)
194         .uleb128 0x1    # (DW_FORM_addr)
195         .uleb128 0x12   # (DW_AT_high_pc)
196         .uleb128 0x7    # (DW_FORM_data8)
197         .uleb128 0x40   # (DW_AT_frame_base)
198         .uleb128 0x18   # (DW_FORM_exprloc)
199         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
200         .uleb128 0x19   # (DW_FORM_flag_present)
201         .byte   0
202         .byte   0
203         .uleb128 0x3    # (abbrev code)
204         .uleb128 0x24   # (TAG: DW_TAG_base_type)
205         .byte   0       # DW_children_no
206         .uleb128 0xb    # (DW_AT_byte_size)
207         .uleb128 0xb    # (DW_FORM_data1)
208         .uleb128 0x3e   # (DW_AT_encoding)
209         .uleb128 0xb    # (DW_FORM_data1)
210         .uleb128 0x3    # (DW_AT_name)
211         .uleb128 0x8    # (DW_FORM_string)
212         .byte   0
213         .byte   0
214         .uleb128 0x4    # (abbrev code)
215         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
216         .byte   0x1     # DW_children_yes
217         .uleb128 0x3    # (DW_AT_name)
218         .uleb128 0x8    # (DW_FORM_string)
219         .uleb128 0x3a   # (DW_AT_decl_file)
220         .uleb128 0xb    # (DW_FORM_data1)
221         .uleb128 0x3b   # (DW_AT_decl_line)
222         .uleb128 0xb    # (DW_FORM_data1)
223         .uleb128 0x27   # (DW_AT_prototyped)
224         .uleb128 0x19   # (DW_FORM_flag_present)
225         .uleb128 0x49   # (DW_AT_type)
226         .uleb128 0x13   # (DW_FORM_ref4)
227         .uleb128 0x11   # (DW_AT_low_pc)
228         .uleb128 0x1    # (DW_FORM_addr)
229         .uleb128 0x12   # (DW_AT_high_pc)
230         .uleb128 0x7    # (DW_FORM_data8)
231         .uleb128 0x40   # (DW_AT_frame_base)
232         .uleb128 0x18   # (DW_FORM_exprloc)
233         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
234         .uleb128 0x19   # (DW_FORM_flag_present)
235         .uleb128 0x1    # (DW_AT_sibling)
236         .uleb128 0x13   # (DW_FORM_ref4)
237         .byte   0
238         .byte   0
239         .uleb128 0x5    # (abbrev code)
240         .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
241         .byte   0       # DW_children_no
242         .uleb128 0x11   # (DW_AT_low_pc)
243         .uleb128 0x1    # (DW_FORM_addr)
244         .uleb128 0x2115 # (DW_AT_GNU_tail_call)
245         .uleb128 0x19   # (DW_FORM_flag_present)
246         .uleb128 0x31   # (DW_AT_abstract_origin)
247         .uleb128 0x13   # (DW_FORM_ref4)
248         .byte   0
249         .byte   0
250         .uleb128 0x6    # (abbrev code)
251         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
252         .byte   0x1     # DW_children_yes
253         .uleb128 0x3f   # (DW_AT_external)
254         .uleb128 0x19   # (DW_FORM_flag_present)
255         .uleb128 0x3    # (DW_AT_name)
256         .uleb128 0xe    # (DW_FORM_strp)
257         .uleb128 0x3a   # (DW_AT_decl_file)
258         .uleb128 0xb    # (DW_FORM_data1)
259         .uleb128 0x3b   # (DW_AT_decl_line)
260         .uleb128 0xb    # (DW_FORM_data1)
261         .uleb128 0x27   # (DW_AT_prototyped)
262         .uleb128 0x19   # (DW_FORM_flag_present)
263         .uleb128 0x49   # (DW_AT_type)
264         .uleb128 0x13   # (DW_FORM_ref4)
265         .uleb128 0x11   # (DW_AT_low_pc)
266         .uleb128 0x1    # (DW_FORM_addr)
267         .uleb128 0x12   # (DW_AT_high_pc)
268         .uleb128 0x7    # (DW_FORM_data8)
269         .uleb128 0x40   # (DW_AT_frame_base)
270         .uleb128 0x18   # (DW_FORM_exprloc)
271         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
272         .uleb128 0x19   # (DW_FORM_flag_present)
273         .byte   0
274         .byte   0
275         .uleb128 0x7    # (abbrev code)
276         .uleb128 0x34   # (TAG: DW_TAG_variable)
277         .byte   0       # DW_children_no
278         .uleb128 0x3    # (DW_AT_name)
279         .uleb128 0xe    # (DW_FORM_strp)
280         .uleb128 0x3a   # (DW_AT_decl_file)
281         .uleb128 0xb    # (DW_FORM_data1)
282         .uleb128 0x3b   # (DW_AT_decl_line)
283         .uleb128 0xb    # (DW_FORM_data1)
284         .uleb128 0x49   # (DW_AT_type)
285         .uleb128 0x13   # (DW_FORM_ref4)
286         .uleb128 0x2    # (DW_AT_location)
287         .uleb128 0x17   # (DW_FORM_sec_offset)
288         .byte   0
289         .byte   0
290         .uleb128 0x8    # (abbrev code)
291         .uleb128 0x4109 # (TAG: DW_TAG_GNU_call_site)
292         .byte   0       # DW_children_no
293         .uleb128 0x11   # (DW_AT_low_pc)
294         .uleb128 0x1    # (DW_FORM_addr)
295         .uleb128 0x31   # (DW_AT_abstract_origin)
296         .uleb128 0x13   # (DW_FORM_ref4)
297         .byte   0
298         .byte   0
299         .byte   0
300         .section        .debug_loc,"",@progbits
301 .Ldebug_loc0:
302 .LLST0:
303         .quad   .LVL1   # Location list begin address (*.LLST0)
304         .quad   .LVL2   # Location list end address (*.LLST0)
305         .value  0x3     # Location expression size
306         .byte   0x70    # DW_OP_breg0
307         .sleb128 1
308         .byte   0x9f    # DW_OP_stack_value
309         .quad   .LVL2   # Location list begin address (*.LLST0)
310         .quad   .LFE2   # Location list end address (*.LLST0)
311         .value  0x1     # Location expression size
312         .byte   0x50    # DW_OP_reg0
313         .quad   0       # Location list terminator begin (*.LLST0)
314         .quad   0       # Location list terminator end (*.LLST0)
315         .section        .debug_aranges,"",@progbits
316         .long   0x3c    # Length of Address Ranges Info
317         .value  0x2     # DWARF Version
318         .long   .Ldebug_info0   # Offset of Compilation Unit Info
319         .byte   0x8     # Size of Address
320         .byte   0       # Size of Segment Descriptor
321         .value  0       # Pad to 16 byte boundary
322         .value  0
323         .quad   .Ltext0 # Address
324         .quad   .Letext0-.Ltext0        # Length
325         .quad   .LFB2   # Address
326         .quad   .LFE2-.LFB2     # Length
327         .quad   0
328         .quad   0
329         .section        .debug_ranges,"",@progbits
330 .Ldebug_ranges0:
331         .quad   .Ltext0 # Offset 0
332         .quad   .Letext0
333         .quad   .LFB2   # Offset 0x10
334         .quad   .LFE2
335         .quad   0
336         .quad   0
337         .section        .debug_line,"",@progbits
338 .Ldebug_line0:
339         .section        .debug_str,"MS",@progbits,1
340 .LASF3:
341         .string "main"
342 .LASF1:
343         .string "tailcall.c"
344 .LASF0:
345         .string "GNU C 4.8.3 20140911 (Red Hat 4.8.3-7) -mtune=generic -march=x86-64 -g -O2"
346 .LASF4:
347         .string "answer"
348 .LASF2:
349         .string ""
350         .ident  "GCC: (GNU) 4.8.3 20140911 (Red Hat 4.8.3-7)"
351         .section        .note.GNU-stack,"",@progbits