Imported Upstream version 7.9
[platform/upstream/gdb.git] / gdb / testsuite / gdb.dwarf2 / dw2-restrict.S
1 /* Copyright (C) 2012-2015 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