GDB: trad-frame: Store length of value_bytes in trad_frame_saved_reg
[binutils-gdb.git] / gdb / testsuite / gdb.arch / amd64-optimout-repeat.S
blobaa867dd70594bc38f73f071831301ff902827a7b
1 /* This testcase is part of GDB, the GNU debugger.
3    Copyright 2012-2024 Free Software Foundation, Inc.
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.
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.
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/>.  */
18 /* This file is compiled from gdb.arch/amd64-entry-value-param.c
19    using -g -dA -S -O2.  */
21         .file   "amd64-optimout-repeat.c"
22         .text
23 .Ltext0:
24         .section        .text.unlikely,"ax",@progbits
25 .LCOLDB0:
26         .section        .text.startup,"ax",@progbits
27 .LHOTB0:
28         .p2align 4,,15
29         .section        .text.unlikely
30 .Ltext_cold0:
31         .section        .text.startup
32         .globl  main
33         .type   main, @function
34 main:
35 .LFB0:
36         .file 1 "gdb.arch/amd64-optimout-repeat.c"
37         # gdb.arch/amd64-optimout-repeat.c:20
38         .loc 1 20 0
39         .cfi_startproc
40 # BLOCK 2 freq:10000 seq:0
41 # PRED: ENTRY [100.0%]  (FALLTHRU)
42 .LVL0:
43         # gdb.arch/amd64-optimout-repeat.c:29
44         .loc 1 29 0
45         xorl    %eax, %eax
46 # SUCC: EXIT [100.0%] 
47         ret
48         .cfi_endproc
49 .LFE0:
50         .size   main, .-main
51         .section        .text.unlikely
52 .LCOLDE0:
53         .section        .text.startup
54 .LHOTE0:
55         .text
56 .Letext0:
57         .section        .text.unlikely
58 .Letext_cold0:
59         .section        .debug_info,"",@progbits
60 .Ldebug_info0:
61         .long   0x97    # Length of Compilation Unit Info
62         .value  0x4     # DWARF version number
63         .long   .Ldebug_abbrev0 # Offset Into Abbrev. Section
64         .byte   0x8     # Pointer Size (in bytes)
65         .uleb128 0x1    # (DIE (0xb) DW_TAG_compile_unit)
66         .long   .LASF1  # DW_AT_producer: "GNU C 4.9.1 20140709 (prerelease) -mtune=generic -march=x86-64 -g -O2"
67         .byte   0x1     # DW_AT_language
68         .long   .LASF2  # DW_AT_name: "gdb.arch/amd64-optimout-repeat.c"
69         .long   .LASF3  # DW_AT_comp_dir: ""
70         .long   .Ldebug_ranges0+0       # DW_AT_ranges
71         .quad   0       # DW_AT_low_pc
72         .long   .Ldebug_line0   # DW_AT_stmt_list
73         .uleb128 0x2    # (DIE (0x29) DW_TAG_subprogram)
74                         # DW_AT_external
75         .long   .LASF4  # DW_AT_name: "main"
76         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c)
77         .byte   0x13    # DW_AT_decl_line
78                         # DW_AT_prototyped
79         .long   0x7c    # DW_AT_type
80         .quad   .LFB0   # DW_AT_low_pc
81         .quad   .LFE0-.LFB0     # DW_AT_high_pc
82         .uleb128 0x1    # DW_AT_frame_base
83         .byte   0x9c    # DW_OP_call_frame_cfa
84                         # DW_AT_GNU_all_call_sites
85         .long   0x7c    # DW_AT_sibling
86         .uleb128 0x3    # (DIE (0x4a) DW_TAG_structure_type)
87         .value  0x404   # DW_AT_byte_size
88         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c)
89         .byte   0x15    # DW_AT_decl_line
90         .long   0x6a    # DW_AT_sibling
91         .uleb128 0x4    # (DIE (0x53) DW_TAG_member)
92         .ascii "i\0"    # DW_AT_name
93         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c)
94         .byte   0x17    # DW_AT_decl_line
95         .long   0x7c    # DW_AT_type
96         .byte   0       # DW_AT_data_member_location
97         .uleb128 0x4    # (DIE (0x5d) DW_TAG_member)
98         .ascii "xxx\0"  # DW_AT_name
99         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c)
100         .byte   0x18    # DW_AT_decl_line
101         .long   0x83    # DW_AT_type
102         .byte   0x4     # DW_AT_data_member_location
103         .byte   0       # end of children of DIE 0x4a
104         .uleb128 0x5    # (DIE (0x6a) DW_TAG_variable)
105         .ascii "v\0"    # DW_AT_name
106         .byte   0x1     # DW_AT_decl_file (gdb.arch/amd64-optimout-repeat.c)
107         .byte   0x1a    # DW_AT_decl_line
108         .long   0x4a    # DW_AT_type
109         .uleb128 0x7    # DW_AT_location
110         .byte   0x30    # DW_OP_lit0
111         .byte   0x9f    # DW_OP_stack_value
112         .byte   0x93    # DW_OP_piece
113         .uleb128 0x4
114         .byte   0x93    # DW_OP_piece
115         .uleb128 0x400
116         .byte   0       # end of children of DIE 0x29
117         .uleb128 0x6    # (DIE (0x7c) DW_TAG_base_type)
118         .byte   0x4     # DW_AT_byte_size
119         .byte   0x5     # DW_AT_encoding
120         .ascii "int\0"  # DW_AT_name
121         .uleb128 0x7    # (DIE (0x83) DW_TAG_array_type)
122         .long   0x7c    # DW_AT_type
123         .long   0x93    # DW_AT_sibling
124         .uleb128 0x8    # (DIE (0x8c) DW_TAG_subrange_type)
125         .long   0x93    # DW_AT_type
126         .byte   0xff    # DW_AT_upper_bound
127         .byte   0       # end of children of DIE 0x83
128         .uleb128 0x9    # (DIE (0x93) DW_TAG_base_type)
129         .byte   0x8     # DW_AT_byte_size
130         .byte   0x7     # DW_AT_encoding
131         .long   .LASF0  # DW_AT_name: "sizetype"
132         .byte   0       # end of children of DIE 0xb
133         .section        .debug_abbrev,"",@progbits
134 .Ldebug_abbrev0:
135         .uleb128 0x1    # (abbrev code)
136         .uleb128 0x11   # (TAG: DW_TAG_compile_unit)
137         .byte   0x1     # DW_children_yes
138         .uleb128 0x25   # (DW_AT_producer)
139         .uleb128 0xe    # (DW_FORM_strp)
140         .uleb128 0x13   # (DW_AT_language)
141         .uleb128 0xb    # (DW_FORM_data1)
142         .uleb128 0x3    # (DW_AT_name)
143         .uleb128 0xe    # (DW_FORM_strp)
144         .uleb128 0x1b   # (DW_AT_comp_dir)
145         .uleb128 0xe    # (DW_FORM_strp)
146         .uleb128 0x55   # (DW_AT_ranges)
147         .uleb128 0x17   # (DW_FORM_sec_offset)
148         .uleb128 0x11   # (DW_AT_low_pc)
149         .uleb128 0x1    # (DW_FORM_addr)
150         .uleb128 0x10   # (DW_AT_stmt_list)
151         .uleb128 0x17   # (DW_FORM_sec_offset)
152         .byte   0
153         .byte   0
154         .uleb128 0x2    # (abbrev code)
155         .uleb128 0x2e   # (TAG: DW_TAG_subprogram)
156         .byte   0x1     # DW_children_yes
157         .uleb128 0x3f   # (DW_AT_external)
158         .uleb128 0x19   # (DW_FORM_flag_present)
159         .uleb128 0x3    # (DW_AT_name)
160         .uleb128 0xe    # (DW_FORM_strp)
161         .uleb128 0x3a   # (DW_AT_decl_file)
162         .uleb128 0xb    # (DW_FORM_data1)
163         .uleb128 0x3b   # (DW_AT_decl_line)
164         .uleb128 0xb    # (DW_FORM_data1)
165         .uleb128 0x27   # (DW_AT_prototyped)
166         .uleb128 0x19   # (DW_FORM_flag_present)
167         .uleb128 0x49   # (DW_AT_type)
168         .uleb128 0x13   # (DW_FORM_ref4)
169         .uleb128 0x11   # (DW_AT_low_pc)
170         .uleb128 0x1    # (DW_FORM_addr)
171         .uleb128 0x12   # (DW_AT_high_pc)
172         .uleb128 0x7    # (DW_FORM_data8)
173         .uleb128 0x40   # (DW_AT_frame_base)
174         .uleb128 0x18   # (DW_FORM_exprloc)
175         .uleb128 0x2117 # (DW_AT_GNU_all_call_sites)
176         .uleb128 0x19   # (DW_FORM_flag_present)
177         .uleb128 0x1    # (DW_AT_sibling)
178         .uleb128 0x13   # (DW_FORM_ref4)
179         .byte   0
180         .byte   0
181         .uleb128 0x3    # (abbrev code)
182         .uleb128 0x13   # (TAG: DW_TAG_structure_type)
183         .byte   0x1     # DW_children_yes
184         .uleb128 0xb    # (DW_AT_byte_size)
185         .uleb128 0x5    # (DW_FORM_data2)
186         .uleb128 0x3a   # (DW_AT_decl_file)
187         .uleb128 0xb    # (DW_FORM_data1)
188         .uleb128 0x3b   # (DW_AT_decl_line)
189         .uleb128 0xb    # (DW_FORM_data1)
190         .uleb128 0x1    # (DW_AT_sibling)
191         .uleb128 0x13   # (DW_FORM_ref4)
192         .byte   0
193         .byte   0
194         .uleb128 0x4    # (abbrev code)
195         .uleb128 0xd    # (TAG: DW_TAG_member)
196         .byte   0       # DW_children_no
197         .uleb128 0x3    # (DW_AT_name)
198         .uleb128 0x8    # (DW_FORM_string)
199         .uleb128 0x3a   # (DW_AT_decl_file)
200         .uleb128 0xb    # (DW_FORM_data1)
201         .uleb128 0x3b   # (DW_AT_decl_line)
202         .uleb128 0xb    # (DW_FORM_data1)
203         .uleb128 0x49   # (DW_AT_type)
204         .uleb128 0x13   # (DW_FORM_ref4)
205         .uleb128 0x38   # (DW_AT_data_member_location)
206         .uleb128 0xb    # (DW_FORM_data1)
207         .byte   0
208         .byte   0
209         .uleb128 0x5    # (abbrev code)
210         .uleb128 0x34   # (TAG: DW_TAG_variable)
211         .byte   0       # DW_children_no
212         .uleb128 0x3    # (DW_AT_name)
213         .uleb128 0x8    # (DW_FORM_string)
214         .uleb128 0x3a   # (DW_AT_decl_file)
215         .uleb128 0xb    # (DW_FORM_data1)
216         .uleb128 0x3b   # (DW_AT_decl_line)
217         .uleb128 0xb    # (DW_FORM_data1)
218         .uleb128 0x49   # (DW_AT_type)
219         .uleb128 0x13   # (DW_FORM_ref4)
220         .uleb128 0x2    # (DW_AT_location)
221         .uleb128 0x18   # (DW_FORM_exprloc)
222         .byte   0
223         .byte   0
224         .uleb128 0x6    # (abbrev code)
225         .uleb128 0x24   # (TAG: DW_TAG_base_type)
226         .byte   0       # DW_children_no
227         .uleb128 0xb    # (DW_AT_byte_size)
228         .uleb128 0xb    # (DW_FORM_data1)
229         .uleb128 0x3e   # (DW_AT_encoding)
230         .uleb128 0xb    # (DW_FORM_data1)
231         .uleb128 0x3    # (DW_AT_name)
232         .uleb128 0x8    # (DW_FORM_string)
233         .byte   0
234         .byte   0
235         .uleb128 0x7    # (abbrev code)
236         .uleb128 0x1    # (TAG: DW_TAG_array_type)
237         .byte   0x1     # DW_children_yes
238         .uleb128 0x49   # (DW_AT_type)
239         .uleb128 0x13   # (DW_FORM_ref4)
240         .uleb128 0x1    # (DW_AT_sibling)
241         .uleb128 0x13   # (DW_FORM_ref4)
242         .byte   0
243         .byte   0
244         .uleb128 0x8    # (abbrev code)
245         .uleb128 0x21   # (TAG: DW_TAG_subrange_type)
246         .byte   0       # DW_children_no
247         .uleb128 0x49   # (DW_AT_type)
248         .uleb128 0x13   # (DW_FORM_ref4)
249         .uleb128 0x2f   # (DW_AT_upper_bound)
250         .uleb128 0xb    # (DW_FORM_data1)
251         .byte   0
252         .byte   0
253         .uleb128 0x9    # (abbrev code)
254         .uleb128 0x24   # (TAG: DW_TAG_base_type)
255         .byte   0       # DW_children_no
256         .uleb128 0xb    # (DW_AT_byte_size)
257         .uleb128 0xb    # (DW_FORM_data1)
258         .uleb128 0x3e   # (DW_AT_encoding)
259         .uleb128 0xb    # (DW_FORM_data1)
260         .uleb128 0x3    # (DW_AT_name)
261         .uleb128 0xe    # (DW_FORM_strp)
262         .byte   0
263         .byte   0
264         .byte   0
265         .section        .debug_aranges,"",@progbits
266         .long   0x2c    # Length of Address Ranges Info
267         .value  0x2     # DWARF Version
268         .long   .Ldebug_info0   # Offset of Compilation Unit Info
269         .byte   0x8     # Size of Address
270         .byte   0       # Size of Segment Descriptor
271         .value  0       # Pad to 16 byte boundary
272         .value  0
273         .quad   .LFB0   # Address
274         .quad   .LFE0-.LFB0     # Length
275         .quad   0
276         .quad   0
277         .section        .debug_ranges,"",@progbits
278 .Ldebug_ranges0:
279         .quad   .LFB0   # Offset 0
280         .quad   .LFE0
281         .quad   0
282         .quad   0
283         .section        .debug_line,"",@progbits
284 .Ldebug_line0:
285         .section        .debug_str,"MS",@progbits,1
286 .LASF0:
287         .string "sizetype"
288 .LASF2:
289         .string "gdb.arch/amd64-optimout-repeat.c"
290 .LASF1:
291         .string "GNU C 4.9.1 20140709 (prerelease) -mtune=generic -march=x86-64 -g -O2"
292 .LASF3:
293         .string ""
294 .LASF4:
295         .string "main"
296         .ident  "GCC: (GNU) 4.9.1 20140709 (prerelease)"
297         .section        .note.GNU-stack,"",@progbits