Automatic date update in version.in
[binutils-gdb/blckswan.git] / gdb / testsuite / gdb.dwarf2 / dw2-restrict.S
blob9b1273af14437125fdce9e5f421f25caf19a10ac
1 /* Copyright (C) 2012-2022 Free Software Foundation, Inc.
3    This program is free software; you can redistribute it and/or modify
4    it under the terms of the GNU General Public License as published by
5    the Free Software Foundation; either version 3 of the License, or
6    (at your option) any later version.
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
13    You should have received a copy of the GNU General Public License
14    along with this program.  If not, see <http://www.gnu.org/licenses/>.
16    This was created using clang -g -S dw2-restrict.c.
18   */
20         .text
21         .file   "dw2-restrict.c"
22         .globl  f                       # -- Begin function f
23         .p2align        4, 0x90
24         .type   f,@function
25 f:                                      # @f
26 .Lfunc_begin0:
27         .file   1 "dw2-restrict.c"
28         .loc    1 19 0                  # dw2-restrict.c:19:0
29         .cfi_startproc
30 # BB#0:
31         pushq   %rbp
32 .Lcfi0:
33         .cfi_def_cfa_offset 16
34 .Lcfi1:
35         .cfi_offset %rbp, -16
36         movq    %rsp, %rbp
37 .Lcfi2:
38         .cfi_def_cfa_register %rbp
39         movq    %rdi, -8(%rbp)
40 .Ltmp0:
41         .loc    1 20 10 prologue_end    # dw2-restrict.c:20:10
42         movq    -8(%rbp), %rdi
43         movsbl  (%rdi), %eax
44         .loc    1 20 3 is_stmt 0        # dw2-restrict.c:20:3
45         popq    %rbp
46         retq
47 .Ltmp1:
48 .Lfunc_end0:
49         .size   f, .Lfunc_end0-f
50         .cfi_endproc
51                                         # -- End function
52         .globl  main                    # -- Begin function main
53         .p2align        4, 0x90
54         .type   main,@function
55 main:                                   # @main
56 .Lfunc_begin1:
57         .loc    1 24 0 is_stmt 1        # dw2-restrict.c:24:0
58         .cfi_startproc
59 # BB#0:
60         pushq   %rbp
61 .Lcfi3:
62         .cfi_def_cfa_offset 16
63 .Lcfi4:
64         .cfi_offset %rbp, -16
65         movq    %rsp, %rbp
66 .Lcfi5:
67         .cfi_def_cfa_register %rbp
68         subq    $16, %rsp
69         movabsq $.L.str, %rdi
70         movl    $0, -4(%rbp)
71 .Ltmp2:
72         .loc    1 25 10 prologue_end    # dw2-restrict.c:25:10
73         callq   f
74         .loc    1 25 3 is_stmt 0        # dw2-restrict.c:25:3
75         addq    $16, %rsp
76         popq    %rbp
77         retq
78 .Ltmp3:
79 .Lfunc_end1:
80         .size   main, .Lfunc_end1-main
81         .cfi_endproc
82                                         # -- End function
83         .type   .L.str,@object          # @.str
84         .section        .rodata.str1.1,"aMS",@progbits,1
85 .L.str:
86         .asciz  "hi bob"
87         .size   .L.str, 7
89         .section        .debug_str,"MS",@progbits,1
90 .Linfo_string0:
91         .asciz  "clang version 5.0.1 (tags/RELEASE_501/final 312548)" # string offset=0
92 .Linfo_string1:
93         .asciz  "dw2-restrict.c"        # string offset=52
94 .Linfo_string2:
95         .asciz  "/data/gdb_versions/devel/src/gdb/testsuite/gdb.dwarf2" # string offset=67
96 .Linfo_string3:
97         .asciz  "f"                     # string offset=121
98 .Linfo_string4:
99         .asciz  "int"                   # string offset=123
100 .Linfo_string5:
101         .asciz  "main"                  # string offset=127
102 .Linfo_string6:
103         .asciz  "x"                     # string offset=132
104 .Linfo_string7:
105         .asciz  "char"                  # string offset=134
106         .section        .debug_abbrev,"",@progbits
107         .byte   1                       # Abbreviation Code
108         .byte   17                      # DW_TAG_compile_unit
109         .byte   1                       # DW_CHILDREN_yes
110         .byte   37                      # DW_AT_producer
111         .byte   14                      # DW_FORM_strp
112         .byte   19                      # DW_AT_language
113         .byte   5                       # DW_FORM_data2
114         .byte   3                       # DW_AT_name
115         .byte   14                      # DW_FORM_strp
116         .byte   16                      # DW_AT_stmt_list
117         .byte   23                      # DW_FORM_sec_offset
118         .byte   27                      # DW_AT_comp_dir
119         .byte   14                      # DW_FORM_strp
120         .ascii  "\264B"                 # DW_AT_GNU_pubnames
121         .byte   25                      # DW_FORM_flag_present
122         .byte   17                      # DW_AT_low_pc
123         .byte   1                       # DW_FORM_addr
124         .byte   18                      # DW_AT_high_pc
125         .byte   6                       # DW_FORM_data4
126         .byte   0                       # EOM(1)
127         .byte   0                       # EOM(2)
128         .byte   2                       # Abbreviation Code
129         .byte   46                      # DW_TAG_subprogram
130         .byte   1                       # DW_CHILDREN_yes
131         .byte   17                      # DW_AT_low_pc
132         .byte   1                       # DW_FORM_addr
133         .byte   18                      # DW_AT_high_pc
134         .byte   6                       # DW_FORM_data4
135         .byte   64                      # DW_AT_frame_base
136         .byte   24                      # DW_FORM_exprloc
137         .byte   3                       # DW_AT_name
138         .byte   14                      # DW_FORM_strp
139         .byte   58                      # DW_AT_decl_file
140         .byte   11                      # DW_FORM_data1
141         .byte   59                      # DW_AT_decl_line
142         .byte   11                      # DW_FORM_data1
143         .byte   39                      # DW_AT_prototyped
144         .byte   25                      # DW_FORM_flag_present
145         .byte   73                      # DW_AT_type
146         .byte   19                      # DW_FORM_ref4
147         .byte   63                      # DW_AT_external
148         .byte   25                      # DW_FORM_flag_present
149         .byte   0                       # EOM(1)
150         .byte   0                       # EOM(2)
151         .byte   3                       # Abbreviation Code
152         .byte   5                       # DW_TAG_formal_parameter
153         .byte   0                       # DW_CHILDREN_no
154         .byte   2                       # DW_AT_location
155         .byte   24                      # DW_FORM_exprloc
156         .byte   3                       # DW_AT_name
157         .byte   14                      # DW_FORM_strp
158         .byte   58                      # DW_AT_decl_file
159         .byte   11                      # DW_FORM_data1
160         .byte   59                      # DW_AT_decl_line
161         .byte   11                      # DW_FORM_data1
162         .byte   73                      # DW_AT_type
163         .byte   19                      # DW_FORM_ref4
164         .byte   0                       # EOM(1)
165         .byte   0                       # EOM(2)
166         .byte   4                       # Abbreviation Code
167         .byte   46                      # DW_TAG_subprogram
168         .byte   0                       # DW_CHILDREN_no
169         .byte   17                      # DW_AT_low_pc
170         .byte   1                       # DW_FORM_addr
171         .byte   18                      # DW_AT_high_pc
172         .byte   6                       # DW_FORM_data4
173         .byte   64                      # DW_AT_frame_base
174         .byte   24                      # DW_FORM_exprloc
175         .byte   3                       # DW_AT_name
176         .byte   14                      # DW_FORM_strp
177         .byte   58                      # DW_AT_decl_file
178         .byte   11                      # DW_FORM_data1
179         .byte   59                      # DW_AT_decl_line
180         .byte   11                      # DW_FORM_data1
181         .byte   73                      # DW_AT_type
182         .byte   19                      # DW_FORM_ref4
183         .byte   63                      # DW_AT_external
184         .byte   25                      # DW_FORM_flag_present
185         .byte   0                       # EOM(1)
186         .byte   0                       # EOM(2)
187         .byte   5                       # Abbreviation Code
188         .byte   36                      # DW_TAG_base_type
189         .byte   0                       # DW_CHILDREN_no
190         .byte   3                       # DW_AT_name
191         .byte   14                      # DW_FORM_strp
192         .byte   62                      # DW_AT_encoding
193         .byte   11                      # DW_FORM_data1
194         .byte   11                      # DW_AT_byte_size
195         .byte   11                      # DW_FORM_data1
196         .byte   0                       # EOM(1)
197         .byte   0                       # EOM(2)
198         .byte   6                       # Abbreviation Code
199         .byte   55                      # DW_TAG_restrict_type
200         .byte   0                       # DW_CHILDREN_no
201         .byte   73                      # DW_AT_type
202         .byte   19                      # DW_FORM_ref4
203         .byte   0                       # EOM(1)
204         .byte   0                       # EOM(2)
205         .byte   7                       # Abbreviation Code
206         .byte   15                      # DW_TAG_pointer_type
207         .byte   0                       # DW_CHILDREN_no
208         .byte   73                      # DW_AT_type
209         .byte   19                      # DW_FORM_ref4
210         .byte   0                       # EOM(1)
211         .byte   0                       # EOM(2)
212         .byte   0                       # EOM(3)
213         .section        .debug_info,"",@progbits
214 .Lcu_begin0:
215         .long   128                     # Length of Unit
216         .short  4                       # DWARF version number
217         .long   .debug_abbrev           # Offset Into Abbrev. Section
218         .byte   8                       # Address Size (in bytes)
219         .byte   1                       # Abbrev [1] 0xb:0x79 DW_TAG_compile_unit
220         .long   .Linfo_string0          # DW_AT_producer
221         .short  12                      # DW_AT_language
222         .long   .Linfo_string1          # DW_AT_name
223         .long   .Lline_table_start0     # DW_AT_stmt_list
224         .long   .Linfo_string2          # DW_AT_comp_dir
225                                         # DW_AT_GNU_pubnames
226         .quad   .Lfunc_begin0           # DW_AT_low_pc
227         .long   .Lfunc_end1-.Lfunc_begin0 # DW_AT_high_pc
228         .byte   2                       # Abbrev [2] 0x2a:0x28 DW_TAG_subprogram
229         .quad   .Lfunc_begin0           # DW_AT_low_pc
230         .long   .Lfunc_end0-.Lfunc_begin0 # DW_AT_high_pc
231         .byte   1                       # DW_AT_frame_base
232         .byte   86
233         .long   .Linfo_string3          # DW_AT_name
234         .byte   1                       # DW_AT_decl_file
235         .byte   18                      # DW_AT_decl_line
236                                         # DW_AT_prototyped
237         .long   107                     # DW_AT_type
238                                         # DW_AT_external
239         .byte   3                       # Abbrev [3] 0x43:0xe DW_TAG_formal_parameter
240         .byte   2                       # DW_AT_location
241         .byte   145
242         .byte   120
243         .long   .Linfo_string6          # DW_AT_name
244         .byte   1                       # DW_AT_decl_file
245         .byte   18                      # DW_AT_decl_line
246         .long   114                     # DW_AT_type
247         .byte   0                       # End Of Children Mark
248         .byte   4                       # Abbrev [4] 0x52:0x19 DW_TAG_subprogram
249         .quad   .Lfunc_begin1           # DW_AT_low_pc
250         .long   .Lfunc_end1-.Lfunc_begin1 # DW_AT_high_pc
251         .byte   1                       # DW_AT_frame_base
252         .byte   86
253         .long   .Linfo_string5          # DW_AT_name
254         .byte   1                       # DW_AT_decl_file
255         .byte   23                      # DW_AT_decl_line
256         .long   107                     # DW_AT_type
257                                         # DW_AT_external
258         .byte   5                       # Abbrev [5] 0x6b:0x7 DW_TAG_base_type
259         .long   .Linfo_string4          # DW_AT_name
260         .byte   5                       # DW_AT_encoding
261         .byte   4                       # DW_AT_byte_size
262         .byte   6                       # Abbrev [6] 0x72:0x5 DW_TAG_restrict_type
263         .long   119                     # DW_AT_type
264         .byte   7                       # Abbrev [7] 0x77:0x5 DW_TAG_pointer_type
265         .long   124                     # DW_AT_type
266         .byte   5                       # Abbrev [5] 0x7c:0x7 DW_TAG_base_type
267         .long   .Linfo_string7          # DW_AT_name
268         .byte   6                       # DW_AT_encoding
269         .byte   1                       # DW_AT_byte_size
270         .byte   0                       # End Of Children Mark
271         .section        .debug_ranges,"",@progbits
272         .section        .debug_macinfo,"",@progbits
273 .Lcu_macro_begin0:
274         .byte   0                       # End Of Macro List Mark
275         .section        .debug_pubnames,"",@progbits
276         .long   .LpubNames_end0-.LpubNames_begin0 # Length of Public Names Info
277 .LpubNames_begin0:
278         .short  2                       # DWARF Version
279         .long   .Lcu_begin0             # Offset of Compilation Unit Info
280         .long   132                     # Compilation Unit Length
281         .long   82                      # DIE offset
282         .asciz  "main"                  # External Name
283         .long   42                      # DIE offset
284         .asciz  "f"                     # External Name
285         .long   0                       # End Mark
286 .LpubNames_end0:
287         .section        .debug_pubtypes,"",@progbits
288         .long   .LpubTypes_end0-.LpubTypes_begin0 # Length of Public Types Info
289 .LpubTypes_begin0:
290         .short  2                       # DWARF Version
291         .long   .Lcu_begin0             # Offset of Compilation Unit Info
292         .long   132                     # Compilation Unit Length
293         .long   107                     # DIE offset
294         .asciz  "int"                   # External Name
295         .long   124                     # DIE offset
296         .asciz  "char"                  # External Name
297         .long   0                       # End Mark
298 .LpubTypes_end0:
300         .ident  "clang version 5.0.1 (tags/RELEASE_501/final 312548)"
301         .section        ".note.GNU-stack","",@progbits
302         .section        .debug_line,"",@progbits
303 .Lline_table_start0: