tizen 2.4 release
[external/binutils.git] / gdb / testsuite / gdb.dwarf2 / dw2-dup-frame.S
1 /*
2    Copyright 2013-2014 Free Software Foundation, Inc.
3
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; either version 3 of the License, or
7    (at your option) any later version.
8
9    This program is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
16
17         /* The FDE entry for "stop_frame" in the .debug_frame section has
18         been hand modified to mark a set of registers as DW_CFA_same_value.
19         Otherwise this file is as generated by gcc 4.7.2 for x86_64.  */
20         .file   "dw2-dup-frame.c"
21         .text
22 .Ltext0:
23         .globl  stop_frame
24         .type   stop_frame, @function
25 stop_frame:
26 .LFB0:
27         .file 1 "dw2-dup-frame.c"
28         .loc 1 19 0
29         pushq   %rbp
30 .LCFI0:
31         movq    %rsp, %rbp
32 .LCFI1:
33         .loc 1 22 0
34         popq    %rbp
35 .LCFI2:
36         ret
37 .LFE0:
38         .size   stop_frame, .-stop_frame
39         .globl  first_frame
40         .type   first_frame, @function
41 first_frame:
42 .LFB1:
43         .loc 1 26 0
44         pushq   %rbp
45 .LCFI3:
46         movq    %rsp, %rbp
47 .LCFI4:
48         .loc 1 27 0
49         movl    $0, %eax
50         call    stop_frame
51         .loc 1 28 0
52         popq    %rbp
53 .LCFI5:
54         ret
55 .LFE1:
56         .size   first_frame, .-first_frame
57         .globl  main
58         .type   main, @function
59 main:
60 .LFB2:
61         .loc 1 32 0
62         pushq   %rbp
63 .LCFI6:
64         movq    %rsp, %rbp
65 .LCFI7:
66         .loc 1 33 0
67         movl    $0, %eax
68         call    first_frame
69         .loc 1 35 0
70         movl    $0, %eax
71         .loc 1 36 0
72         popq    %rbp
73 .LCFI8:
74         ret
75 .LFE2:
76         .size   main, .-main
77         .section        .debug_frame,"",@progbits
78 .Lframe0:
79         .long   .LECIE0-.LSCIE0
80 .LSCIE0:
81         .long   0xffffffff
82         .byte   0x1
83         .string ""
84         .uleb128 0x1
85         .sleb128 -8
86         .byte   0x10
87         .byte   0xc
88         .uleb128 0x7
89         .uleb128 0x8
90         .byte   0x90
91         .uleb128 0x1
92         .align 8
93 .LECIE0:
94         /* This FDE entry, for stop_frame was modified to mark
95            registers 0 -> 16 (rax..ra/rip) as being DW_CFA_same_value.  */
96 .LSFDE0:
97         .long   .LEFDE0-.LASFDE0
98 .LASFDE0:
99         .long   .Lframe0
100         .quad   .LFB0
101         .quad   .LFE0-.LFB0
102
103                 /* START OF NEW CONTENT.  */
104         .byte   0x8                     /* DW_CFA_same_value */
105         .uleb128 0x0                    /*   ULEB128 register */
106         .byte   0x8                     /* DW_CFA_same_value */
107         .uleb128 0x1                    /*   ULEB128 register */
108         .byte   0x8                     /* DW_CFA_same_value */
109         .uleb128 0x2                    /*   ULEB128 register */
110         .byte   0x8                     /* DW_CFA_same_value */
111         .uleb128 0x3                    /*   ULEB128 register */
112         .byte   0x8                     /* DW_CFA_same_value */
113         .uleb128 0x4                    /*   ULEB128 register */
114         .byte   0x8                     /* DW_CFA_same_value */
115         .uleb128 0x5                    /*   ULEB128 register */
116         .byte   0x8                     /* DW_CFA_same_value */
117         .uleb128 0x6                    /*   ULEB128 register */
118         .byte   0x8                     /* DW_CFA_same_value */
119         .uleb128 0x7                    /*   ULEB128 register */
120         .byte   0x8                     /* DW_CFA_same_value */
121         .uleb128 0x8                    /*   ULEB128 register */
122         .byte   0x8                     /* DW_CFA_same_value */
123         .uleb128 0x9                    /*   ULEB128 register */
124         .byte   0x8                     /* DW_CFA_same_value */
125         .uleb128 0xa                    /*   ULEB128 register */
126         .byte   0x8                     /* DW_CFA_same_value */
127         .uleb128 0xb                    /*   ULEB128 register */
128         .byte   0x8                     /* DW_CFA_same_value */
129         .uleb128 0xc                    /*   ULEB128 register */
130         .byte   0x8                     /* DW_CFA_same_value */
131         .uleb128 0xd                    /*   ULEB128 register */
132         .byte   0x8                     /* DW_CFA_same_value */
133         .uleb128 0xe                    /*   ULEB128 register */
134         .byte   0x8                     /* DW_CFA_same_value */
135         .uleb128 0xf                    /*   ULEB128 register */
136         .byte   0x8                     /* DW_CFA_same_value */
137         .uleb128 0x10                    /*   ULEB128 register */
138                 /* END OF NEW CONTENT.  */
139
140         .byte   0x4
141         .long   .LCFI0-.LFB0
142         .byte   0xe
143         .uleb128 0x10
144         .byte   0x86
145         .uleb128 0x2
146         .byte   0x4
147         .long   .LCFI1-.LCFI0
148         .byte   0xd
149         .uleb128 0x6
150         .byte   0x4
151         .long   .LCFI2-.LCFI1
152         .byte   0xc
153         .uleb128 0x7
154         .uleb128 0x8
155         .align 8
156 .LEFDE0:
157 .LSFDE2:
158         .long   .LEFDE2-.LASFDE2
159 .LASFDE2:
160         .long   .Lframe0
161         .quad   .LFB1
162         .quad   .LFE1-.LFB1
163         .byte   0x4
164         .long   .LCFI3-.LFB1
165         .byte   0xe
166         .uleb128 0x10
167         .byte   0x86
168         .uleb128 0x2
169         .byte   0x4
170         .long   .LCFI4-.LCFI3
171         .byte   0xd
172         .uleb128 0x6
173         .byte   0x4
174         .long   .LCFI5-.LCFI4
175         .byte   0xc
176         .uleb128 0x7
177         .uleb128 0x8
178         .align 8
179 .LEFDE2:
180 .LSFDE4:
181         .long   .LEFDE4-.LASFDE4
182 .LASFDE4:
183         .long   .Lframe0
184         .quad   .LFB2
185         .quad   .LFE2-.LFB2
186         .byte   0x4
187         .long   .LCFI6-.LFB2
188         .byte   0xe
189         .uleb128 0x10
190         .byte   0x86
191         .uleb128 0x2
192         .byte   0x4
193         .long   .LCFI7-.LCFI6
194         .byte   0xd
195         .uleb128 0x6
196         .byte   0x4
197         .long   .LCFI8-.LCFI7
198         .byte   0xc
199         .uleb128 0x7
200         .uleb128 0x8
201         .align 8
202 .LEFDE4:
203         .section        .eh_frame,"a",@progbits
204 .Lframe1:
205         .long   .LECIE1-.LSCIE1
206 .LSCIE1:
207         .long   0
208         .byte   0x1
209         .string "zR"
210         .uleb128 0x1
211         .sleb128 -8
212         .byte   0x10
213         .uleb128 0x1
214         .byte   0x3
215         .byte   0xc
216         .uleb128 0x7
217         .uleb128 0x8
218         .byte   0x90
219         .uleb128 0x1
220         .align 8
221 .LECIE1:
222 .LSFDE7:
223         .long   .LEFDE7-.LASFDE7
224 .LASFDE7:
225         .long   .LASFDE7-.Lframe1
226         .long   .LFB0
227         .long   .LFE0-.LFB0
228         .uleb128 0
229         .byte   0x4
230         .long   .LCFI0-.LFB0
231         .byte   0xe
232         .uleb128 0x10
233         .byte   0x86
234         .uleb128 0x2
235         .byte   0x4
236         .long   .LCFI1-.LCFI0
237         .byte   0xd
238         .uleb128 0x6
239         .byte   0x4
240         .long   .LCFI2-.LCFI1
241         .byte   0xc
242         .uleb128 0x7
243         .uleb128 0x8
244         .align 8
245 .LEFDE7:
246 .LSFDE9:
247         .long   .LEFDE9-.LASFDE9
248 .LASFDE9:
249         .long   .LASFDE9-.Lframe1
250         .long   .LFB1
251         .long   .LFE1-.LFB1
252         .uleb128 0
253         .byte   0x4
254         .long   .LCFI3-.LFB1
255         .byte   0xe
256         .uleb128 0x10
257         .byte   0x86
258         .uleb128 0x2
259         .byte   0x4
260         .long   .LCFI4-.LCFI3
261         .byte   0xd
262         .uleb128 0x6
263         .byte   0x4
264         .long   .LCFI5-.LCFI4
265         .byte   0xc
266         .uleb128 0x7
267         .uleb128 0x8
268         .align 8
269 .LEFDE9:
270 .LSFDE11:
271         .long   .LEFDE11-.LASFDE11
272 .LASFDE11:
273         .long   .LASFDE11-.Lframe1
274         .long   .LFB2
275         .long   .LFE2-.LFB2
276         .uleb128 0
277         .byte   0x4
278         .long   .LCFI6-.LFB2
279         .byte   0xe
280         .uleb128 0x10
281         .byte   0x86
282         .uleb128 0x2
283         .byte   0x4
284         .long   .LCFI7-.LCFI6
285         .byte   0xd
286         .uleb128 0x6
287         .byte   0x4
288         .long   .LCFI8-.LCFI7
289         .byte   0xc
290         .uleb128 0x7
291         .uleb128 0x8
292         .align 8
293 .LEFDE11:
294         .text
295 .Letext0:
296         .section        .debug_info,"",@progbits
297 .Ldebug_info0:
298         .long   0x8c
299         .value  0x2
300         .long   .Ldebug_abbrev0
301         .byte   0x8
302         .uleb128 0x1
303         .long   .LASF2
304         .byte   0x1
305         .long   .LASF3
306         .long   .LASF4
307         .quad   .Ltext0
308         .quad   .Letext0
309         .long   .Ldebug_line0
310         .uleb128 0x2
311         .byte   0x1
312         .long   .LASF0
313         .byte   0x1
314         .byte   0x12
315         .quad   .LFB0
316         .quad   .LFE0
317         .long   .LLST0
318         .byte   0x1
319         .uleb128 0x3
320         .byte   0x1
321         .long   .LASF1
322         .byte   0x1
323         .byte   0x19
324         .quad   .LFB1
325         .quad   .LFE1
326         .long   .LLST1
327         .byte   0x1
328         .uleb128 0x4
329         .byte   0x1
330         .long   .LASF5
331         .byte   0x1
332         .byte   0x1f
333         .long   0x88
334         .quad   .LFB2
335         .quad   .LFE2
336         .long   .LLST2
337         .byte   0x1
338         .uleb128 0x5
339         .byte   0x4
340         .byte   0x5
341         .string "int"
342         .byte   0
343         .section        .debug_abbrev,"",@progbits
344 .Ldebug_abbrev0:
345         .uleb128 0x1
346         .uleb128 0x11
347         .byte   0x1
348         .uleb128 0x25
349         .uleb128 0xe
350         .uleb128 0x13
351         .uleb128 0xb
352         .uleb128 0x3
353         .uleb128 0xe
354         .uleb128 0x1b
355         .uleb128 0xe
356         .uleb128 0x11
357         .uleb128 0x1
358         .uleb128 0x12
359         .uleb128 0x1
360         .uleb128 0x10
361         .uleb128 0x6
362         .byte   0
363         .byte   0
364         .uleb128 0x2
365         .uleb128 0x2e
366         .byte   0
367         .uleb128 0x3f
368         .uleb128 0xc
369         .uleb128 0x3
370         .uleb128 0xe
371         .uleb128 0x3a
372         .uleb128 0xb
373         .uleb128 0x3b
374         .uleb128 0xb
375         .uleb128 0x11
376         .uleb128 0x1
377         .uleb128 0x12
378         .uleb128 0x1
379         .uleb128 0x40
380         .uleb128 0x6
381         .uleb128 0x2117
382         .uleb128 0xc
383         .byte   0
384         .byte   0
385         .uleb128 0x3
386         .uleb128 0x2e
387         .byte   0
388         .uleb128 0x3f
389         .uleb128 0xc
390         .uleb128 0x3
391         .uleb128 0xe
392         .uleb128 0x3a
393         .uleb128 0xb
394         .uleb128 0x3b
395         .uleb128 0xb
396         .uleb128 0x11
397         .uleb128 0x1
398         .uleb128 0x12
399         .uleb128 0x1
400         .uleb128 0x40
401         .uleb128 0x6
402         .uleb128 0x2116
403         .uleb128 0xc
404         .byte   0
405         .byte   0
406         .uleb128 0x4
407         .uleb128 0x2e
408         .byte   0
409         .uleb128 0x3f
410         .uleb128 0xc
411         .uleb128 0x3
412         .uleb128 0xe
413         .uleb128 0x3a
414         .uleb128 0xb
415         .uleb128 0x3b
416         .uleb128 0xb
417         .uleb128 0x49
418         .uleb128 0x13
419         .uleb128 0x11
420         .uleb128 0x1
421         .uleb128 0x12
422         .uleb128 0x1
423         .uleb128 0x40
424         .uleb128 0x6
425         .uleb128 0x2116
426         .uleb128 0xc
427         .byte   0
428         .byte   0
429         .uleb128 0x5
430         .uleb128 0x24
431         .byte   0
432         .uleb128 0xb
433         .uleb128 0xb
434         .uleb128 0x3e
435         .uleb128 0xb
436         .uleb128 0x3
437         .uleb128 0x8
438         .byte   0
439         .byte   0
440         .byte   0
441         .section        .debug_loc,"",@progbits
442 .Ldebug_loc0:
443 .LLST0:
444         .quad   .LFB0-.Ltext0
445         .quad   .LCFI0-.Ltext0
446         .value  0x2
447         .byte   0x77
448         .sleb128 8
449         .quad   .LCFI0-.Ltext0
450         .quad   .LCFI1-.Ltext0
451         .value  0x2
452         .byte   0x77
453         .sleb128 16
454         .quad   .LCFI1-.Ltext0
455         .quad   .LCFI2-.Ltext0
456         .value  0x2
457         .byte   0x76
458         .sleb128 16
459         .quad   .LCFI2-.Ltext0
460         .quad   .LFE0-.Ltext0
461         .value  0x2
462         .byte   0x77
463         .sleb128 8
464         .quad   0
465         .quad   0
466 .LLST1:
467         .quad   .LFB1-.Ltext0
468         .quad   .LCFI3-.Ltext0
469         .value  0x2
470         .byte   0x77
471         .sleb128 8
472         .quad   .LCFI3-.Ltext0
473         .quad   .LCFI4-.Ltext0
474         .value  0x2
475         .byte   0x77
476         .sleb128 16
477         .quad   .LCFI4-.Ltext0
478         .quad   .LCFI5-.Ltext0
479         .value  0x2
480         .byte   0x76
481         .sleb128 16
482         .quad   .LCFI5-.Ltext0
483         .quad   .LFE1-.Ltext0
484         .value  0x2
485         .byte   0x77
486         .sleb128 8
487         .quad   0
488         .quad   0
489 .LLST2:
490         .quad   .LFB2-.Ltext0
491         .quad   .LCFI6-.Ltext0
492         .value  0x2
493         .byte   0x77
494         .sleb128 8
495         .quad   .LCFI6-.Ltext0
496         .quad   .LCFI7-.Ltext0
497         .value  0x2
498         .byte   0x77
499         .sleb128 16
500         .quad   .LCFI7-.Ltext0
501         .quad   .LCFI8-.Ltext0
502         .value  0x2
503         .byte   0x76
504         .sleb128 16
505         .quad   .LCFI8-.Ltext0
506         .quad   .LFE2-.Ltext0
507         .value  0x2
508         .byte   0x77
509         .sleb128 8
510         .quad   0
511         .quad   0
512         .section        .debug_aranges,"",@progbits
513         .long   0x2c
514         .value  0x2
515         .long   .Ldebug_info0
516         .byte   0x8
517         .byte   0
518         .value  0
519         .value  0
520         .quad   .Ltext0
521         .quad   .Letext0-.Ltext0
522         .quad   0
523         .quad   0
524         .section        .debug_line,"",@progbits
525 .Ldebug_line0:
526         .section        .debug_str,"MS",@progbits,1
527 .LASF0:
528         .string "stop_frame"
529 .LASF3:
530         .string "dw2-reg-undefined.c"
531 .LASF2:
532         .string "GNU C 4.7.2"
533 .LASF1:
534         .string "first_frame"
535 .LASF5:
536         .string "main"
537 .LASF4:
538         .string "/home/username/src/gdb/testsuite/gdb.dwarf2"
539         .ident  "GCC: (GNU) 4.7.2"
540         .section        .note.GNU-stack,"",@progbits