]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gdb/testsuite/gdb.dwarf2/dw2-restrict.S
9ca9bd149a34f4fa293be42567195f24052b68cc
[thirdparty/binutils-gdb.git] / gdb / testsuite / gdb.dwarf2 / dw2-restrict.S
1 /* Copyright (C) 2012-2014 Free Software Foundation, Inc.
2
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.
7
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.
12
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/>.
15
16 This was created using clang -g -S dw2-restrict.c.
17
18 */
19
20 .file "dw2-restrict.c"
21 .section .debug_frame,"",@progbits
22 .Lsection_debug_frame:
23 .section .debug_info,"",@progbits
24 .Lsection_info:
25 .section .debug_abbrev,"",@progbits
26 .Lsection_abbrev:
27 .section .debug_aranges,"",@progbits
28 .section .debug_macinfo,"",@progbits
29 .section .debug_line,"",@progbits
30 .Lsection_line:
31 .section .debug_loc,"",@progbits
32 .section .debug_pubnames,"",@progbits
33 .section .debug_pubtypes,"",@progbits
34 .section .debug_str,"",@progbits
35 .Lsection_str:
36 .section .debug_ranges,"",@progbits
37 .Ldebug_range:
38 .section .debug_loc,"",@progbits
39 .Lsection_debug_loc:
40 .text
41 .Ltext_begin:
42 .data
43 .file 1 "dw2-restrict.c"
44 .text
45 .globl f
46 .align 16, 0x90
47 .type f,@function
48 f: # @f
49 .Leh_func_begin0:
50 .Lfunc_begin0:
51 .loc 1 19 0
52 .Ltmp0:
53 # BB#0:
54 movq %rdi, -8(%rsp)
55 .loc 1 20 3
56 .Ltmp1:
57 movq -8(%rsp), %rdi # dw2-restrict.c:20:3
58 movsbl (%rdi), %eax # dw2-restrict.c:20:3
59 ret # dw2-restrict.c:20:3
60 .Ltmp2:
61 .Ltmp3:
62 .size f, .Ltmp3-f
63 .Lfunc_end0:
64 .Leh_func_end0:
65
66 .globl main
67 .align 16, 0x90
68 .type main,@function
69 main: # @main
70 .Leh_func_begin1:
71 .Lfunc_begin1:
72 .loc 1 24 0
73 .Ltmp7:
74 # BB#0:
75 pushq %rbp
76 .Ltmp4:
77 movq %rsp, %rbp
78 .Ltmp5:
79 subq $16, %rsp
80 .Ltmp6:
81 leaq .L.str, %rdi
82 movl $0, -4(%rbp)
83 .loc 1 25 3
84 .Ltmp8:
85 callq f # dw2-restrict.c:25:3
86 addq $16, %rsp # dw2-restrict.c:25:3
87 popq %rbp # dw2-restrict.c:25:3
88 ret # dw2-restrict.c:25:3
89 .Ltmp9:
90 .Ltmp10:
91 .size main, .Ltmp10-main
92 .Lfunc_end1:
93 .Leh_func_end1:
94
95 .type .L.str,@object # @.str
96 .section .rodata.str1.1,"aMS",@progbits,1
97 .L.str:
98 .asciz "hi bob"
99 .size .L.str, 7
100
101 .section .eh_frame,"a",@progbits
102 .LEH_frame0:
103 .Lsection_eh_frame0:
104 .Leh_frame_common0:
105 .Lset0 = .Leh_frame_common_end0-.Leh_frame_common_begin0 # Length of Common Information Entry
106 .long .Lset0
107 .Leh_frame_common_begin0:
108 .long 0 # CIE Identifier Tag
109 .byte 1 # DW_CIE_VERSION
110 .asciz "zR" # CIE Augmentation
111 .byte 1 # CIE Code Alignment Factor
112 .byte 120 # CIE Data Alignment Factor
113 .byte 16 # CIE Return Address Column
114 .byte 1 # Augmentation Size
115 .byte 3 # FDE Encoding = udata4
116 .byte 12 # DW_CFA_def_cfa
117 .byte 7 # Register
118 .byte 8 # Offset
119 .byte 144 # DW_CFA_offset + Reg (16)
120 .byte 1 # Offset
121 .align 8
122 .Leh_frame_common_end0:
123 .Lf.eh:
124 .Lset1 = .Leh_frame_end0-.Leh_frame_begin0 # Length of Frame Information Entry
125 .long .Lset1
126 .Leh_frame_begin0:
127 .Lset2 = .Leh_frame_begin0-.Leh_frame_common0 # FDE CIE offset
128 .long .Lset2
129 .long .Leh_func_begin0 # FDE initial location
130 .Lset3 = .Leh_func_end0-.Leh_func_begin0 # FDE address range
131 .long .Lset3
132 .byte 0 # Augmentation size
133 .align 8
134 .Leh_frame_end0:
135
136 .Lmain.eh:
137 .Lset4 = .Leh_frame_end1-.Leh_frame_begin1 # Length of Frame Information Entry
138 .long .Lset4
139 .Leh_frame_begin1:
140 .Lset5 = .Leh_frame_begin1-.Leh_frame_common0 # FDE CIE offset
141 .long .Lset5
142 .long .Leh_func_begin1 # FDE initial location
143 .Lset6 = .Leh_func_end1-.Leh_func_begin1 # FDE address range
144 .long .Lset6
145 .byte 0 # Augmentation size
146 .byte 4 # DW_CFA_advance_loc4
147 .Lset7 = .Ltmp4-.Leh_func_begin1
148 .long .Lset7
149 .byte 14 # DW_CFA_def_cfa_offset
150 .byte 16 # Offset
151 .byte 134 # DW_CFA_offset + Reg (6)
152 .byte 2 # Offset
153 .byte 4 # DW_CFA_advance_loc4
154 .Lset8 = .Ltmp5-.Ltmp4
155 .long .Lset8
156 .byte 13 # DW_CFA_def_cfa_register
157 .byte 6 # Register
158 .align 8
159 .Leh_frame_end1:
160
161 .text
162 .Ltext_end:
163 .data
164 .Ldata_end:
165 .text
166 .Lsection_end1:
167 .section .debug_frame,"",@progbits
168 .Ldebug_frame_common:
169 .Lset9 = .Ldebug_frame_common_end-.Ldebug_frame_common_begin # Length of Common Information Entry
170 .long .Lset9
171 .Ldebug_frame_common_begin:
172 .long -1 # CIE Identifier Tag
173 .byte 1 # CIE Version
174 .byte 0 # CIE Augmentation
175 .byte 1 # CIE Code Alignment Factor
176 .byte 120 # CIE Data Alignment Factor
177 .byte 16 # CIE RA Column
178 .byte 12 # DW_CFA_def_cfa
179 .byte 7 # Register
180 .byte 8 # Offset
181 .byte 144 # DW_CFA_offset + Reg (16)
182 .byte 1 # Offset
183 .align 4
184 .Ldebug_frame_common_end:
185 .Lset10 = .Ldebug_frame_end0-.Ldebug_frame_begin0 # Length of Frame Information Entry
186 .long .Lset10
187 .Ldebug_frame_begin0:
188 .long .Ldebug_frame_common # FDE CIE offset
189 .quad .Lfunc_begin0 # FDE initial location
190 .Lset11 = .Lfunc_end0-.Lfunc_begin0 # FDE address range
191 .quad .Lset11
192 .align 4
193 .Ldebug_frame_end0:
194 .Lset12 = .Ldebug_frame_end1-.Ldebug_frame_begin1 # Length of Frame Information Entry
195 .long .Lset12
196 .Ldebug_frame_begin1:
197 .long .Ldebug_frame_common # FDE CIE offset
198 .quad .Lfunc_begin1 # FDE initial location
199 .Lset13 = .Lfunc_end1-.Lfunc_begin1 # FDE address range
200 .quad .Lset13
201 .byte 4 # DW_CFA_advance_loc4
202 .Lset14 = .Ltmp4-.Lfunc_begin1
203 .long .Lset14
204 .byte 14 # DW_CFA_def_cfa_offset
205 .byte 16 # Offset
206 .byte 134 # DW_CFA_offset + Reg (6)
207 .byte 2 # Offset
208 .byte 4 # DW_CFA_advance_loc4
209 .Lset15 = .Ltmp5-.Ltmp4
210 .long .Lset15
211 .byte 13 # DW_CFA_def_cfa_register
212 .byte 6 # Register
213 .align 4
214 .Ldebug_frame_end1:
215 .section .debug_info,"",@progbits
216 .Linfo_begin1:
217 .long 197 # Length of Compilation Unit Info
218 .short 2 # DWARF version number
219 .long .Labbrev_begin # Offset Into Abbrev. Section
220 .byte 8 # Address Size (in bytes)
221 .byte 1 # Abbrev [1] 0xb:0xba DW_TAG_compile_unit
222 .ascii "clang version 2.9 (tags/RELEASE_29/final)" # DW_AT_producer
223 .byte 0
224 .short 12 # DW_AT_language
225 .ascii "dw2-restrict.c" # DW_AT_name
226 .byte 0
227 .quad 0 # DW_AT_entry_pc
228 .quad .Lsection_line # DW_AT_stmt_list
229 .ascii "/tmp" # DW_AT_comp_dir
230 .byte 0
231 .byte 2 # Abbrev [2] 0x5c:0x7 DW_TAG_base_type
232 .byte 5 # DW_AT_encoding
233 .ascii "int" # DW_AT_name
234 .byte 0
235 .byte 4 # DW_AT_byte_size
236 .byte 3 # Abbrev [3] 0x63:0x2f DW_TAG_subprogram
237 .long 146 # DW_AT_sibling
238 .byte 102 # DW_AT_name
239 .byte 0
240 .byte 1 # DW_AT_decl_file
241 .byte 19 # DW_AT_decl_line
242 .byte 1 # DW_AT_prototyped
243 .long 92 # DW_AT_type
244 .byte 1 # DW_AT_external
245 .quad .Lfunc_begin0 # DW_AT_low_pc
246 .quad .Lfunc_end0 # DW_AT_high_pc
247 .byte 1 # DW_AT_frame_base
248 .byte 87
249 .byte 1 # DW_AT_APPLE_omit_frame_ptr
250 .byte 4 # Abbrev [4] 0x85:0xc DW_TAG_formal_parameter
251 .byte 120 # DW_AT_name
252 .byte 0
253 .byte 1 # DW_AT_decl_file
254 .byte 18 # DW_AT_decl_line
255 .long 191 # DW_AT_type
256 .byte 2 # DW_AT_location
257 .byte 145
258 .byte 120
259 .byte 0 # End Of Children Mark
260 .byte 5 # Abbrev [5] 0x92:0x1f DW_TAG_subprogram
261 .ascii "main" # DW_AT_name
262 .byte 0
263 .byte 1 # DW_AT_decl_file
264 .byte 24 # DW_AT_decl_line
265 .long 92 # DW_AT_type
266 .byte 1 # DW_AT_external
267 .quad .Lfunc_begin1 # DW_AT_low_pc
268 .quad .Lfunc_end1 # DW_AT_high_pc
269 .byte 1 # DW_AT_frame_base
270 .byte 86
271 .byte 2 # Abbrev [2] 0xb1:0x8 DW_TAG_base_type
272 .byte 6 # DW_AT_encoding
273 .ascii "char" # DW_AT_name
274 .byte 0
275 .byte 1 # DW_AT_byte_size
276 .byte 6 # Abbrev [6] 0xb9:0x6 DW_TAG_pointer_type
277 .long 177 # DW_AT_type
278 .byte 8 # DW_AT_byte_size
279 .byte 7 # Abbrev [7] 0xbf:0x5 DW_TAG_restrict_type
280 .long 185 # DW_AT_type
281 .byte 0 # End Of Children Mark
282 .byte 0 # 4 extra padding bytes for GDB
283 .byte 0
284 .byte 0
285 .byte 0
286 .Linfo_end1:
287 .section .debug_abbrev,"",@progbits
288 .Labbrev_begin:
289 .byte 1 # Abbreviation Code
290 .byte 17 # DW_TAG_compile_unit
291 .byte 1 # DW_CHILDREN_yes
292 .byte 37 # DW_AT_producer
293 .byte 8 # DW_FORM_string
294 .byte 19 # DW_AT_language
295 .byte 5 # DW_FORM_data2
296 .byte 3 # DW_AT_name
297 .byte 8 # DW_FORM_string
298 .byte 82 # DW_AT_entry_pc
299 .byte 1 # DW_FORM_addr
300 .byte 16 # DW_AT_stmt_list
301 .byte 1 # DW_FORM_addr
302 .byte 27 # DW_AT_comp_dir
303 .byte 8 # DW_FORM_string
304 .byte 0 # EOM(1)
305 .byte 0 # EOM(2)
306 .byte 2 # Abbreviation Code
307 .byte 36 # DW_TAG_base_type
308 .byte 0 # DW_CHILDREN_no
309 .byte 62 # DW_AT_encoding
310 .byte 11 # DW_FORM_data1
311 .byte 3 # DW_AT_name
312 .byte 8 # DW_FORM_string
313 .byte 11 # DW_AT_byte_size
314 .byte 11 # DW_FORM_data1
315 .byte 0 # EOM(1)
316 .byte 0 # EOM(2)
317 .byte 3 # Abbreviation Code
318 .byte 46 # DW_TAG_subprogram
319 .byte 1 # DW_CHILDREN_yes
320 .byte 1 # DW_AT_sibling
321 .byte 19 # DW_FORM_ref4
322 .byte 3 # DW_AT_name
323 .byte 8 # DW_FORM_string
324 .byte 58 # DW_AT_decl_file
325 .byte 11 # DW_FORM_data1
326 .byte 59 # DW_AT_decl_line
327 .byte 11 # DW_FORM_data1
328 .byte 39 # DW_AT_prototyped
329 .byte 12 # DW_FORM_flag
330 .byte 73 # DW_AT_type
331 .byte 19 # DW_FORM_ref4
332 .byte 63 # DW_AT_external
333 .byte 12 # DW_FORM_flag
334 .byte 17 # DW_AT_low_pc
335 .byte 1 # DW_FORM_addr
336 .byte 18 # DW_AT_high_pc
337 .byte 1 # DW_FORM_addr
338 .byte 64 # DW_AT_frame_base
339 .byte 10 # DW_FORM_block1
340 .ascii "\347\177" # DW_AT_APPLE_omit_frame_ptr
341 .byte 12 # DW_FORM_flag
342 .byte 0 # EOM(1)
343 .byte 0 # EOM(2)
344 .byte 4 # Abbreviation Code
345 .byte 5 # DW_TAG_formal_parameter
346 .byte 0 # DW_CHILDREN_no
347 .byte 3 # DW_AT_name
348 .byte 8 # DW_FORM_string
349 .byte 58 # DW_AT_decl_file
350 .byte 11 # DW_FORM_data1
351 .byte 59 # DW_AT_decl_line
352 .byte 11 # DW_FORM_data1
353 .byte 73 # DW_AT_type
354 .byte 19 # DW_FORM_ref4
355 .byte 2 # DW_AT_location
356 .byte 10 # DW_FORM_block1
357 .byte 0 # EOM(1)
358 .byte 0 # EOM(2)
359 .byte 5 # Abbreviation Code
360 .byte 46 # DW_TAG_subprogram
361 .byte 0 # DW_CHILDREN_no
362 .byte 3 # DW_AT_name
363 .byte 8 # DW_FORM_string
364 .byte 58 # DW_AT_decl_file
365 .byte 11 # DW_FORM_data1
366 .byte 59 # DW_AT_decl_line
367 .byte 11 # DW_FORM_data1
368 .byte 73 # DW_AT_type
369 .byte 19 # DW_FORM_ref4
370 .byte 63 # DW_AT_external
371 .byte 12 # DW_FORM_flag
372 .byte 17 # DW_AT_low_pc
373 .byte 1 # DW_FORM_addr
374 .byte 18 # DW_AT_high_pc
375 .byte 1 # DW_FORM_addr
376 .byte 64 # DW_AT_frame_base
377 .byte 10 # DW_FORM_block1
378 .byte 0 # EOM(1)
379 .byte 0 # EOM(2)
380 .byte 6 # Abbreviation Code
381 .byte 15 # DW_TAG_pointer_type
382 .byte 0 # DW_CHILDREN_no
383 .byte 73 # DW_AT_type
384 .byte 19 # DW_FORM_ref4
385 .byte 11 # DW_AT_byte_size
386 .byte 11 # DW_FORM_data1
387 .byte 0 # EOM(1)
388 .byte 0 # EOM(2)
389 .byte 7 # Abbreviation Code
390 .byte 55 # DW_TAG_restrict_type
391 .byte 0 # DW_CHILDREN_no
392 .byte 73 # DW_AT_type
393 .byte 19 # DW_FORM_ref4
394 .byte 0 # EOM(1)
395 .byte 0 # EOM(2)
396 .byte 0 # EOM(3)
397 .Labbrev_end:
398 .section .debug_pubnames,"",@progbits
399 .Lset16 = .Lpubnames_end1-.Lpubnames_begin1 # Length of Public Names Info
400 .long .Lset16
401 .Lpubnames_begin1:
402 .short 2 # DWARF Version
403 .long .Linfo_begin1 # Offset of Compilation Unit Info
404 .Lset17 = .Linfo_end1-.Linfo_begin1 # Compilation Unit Length
405 .long .Lset17
406 .long 146 # DIE offset
407 .asciz "main" # External Name
408 .long 99 # DIE offset
409 .asciz "f" # External Name
410 .long 0 # End Mark
411 .Lpubnames_end1:
412 .section .debug_pubtypes,"",@progbits
413 .Lset18 = .Lpubtypes_end1-.Lpubtypes_begin1 # Length of Public Types Info
414 .long .Lset18
415 .Lpubtypes_begin1:
416 .short 2 # DWARF Version
417 .long .Linfo_begin1 # Offset of Compilation Unit Info
418 .Lset19 = .Linfo_end1-.Linfo_begin1 # Compilation Unit Length
419 .long .Lset19
420 .long 0 # End Mark
421 .Lpubtypes_end1:
422 .section .debug_aranges,"",@progbits
423 .section .debug_ranges,"",@progbits
424 .section .debug_macinfo,"",@progbits
425
426 .section ".note.GNU-stack","",@progbits