daily update
[external/binutils.git] / gdb / testsuite / gdb.arch / gdb1431.s
1 ! Copyright 2004, 2010 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 ! Please email any bugs, comments, and/or additions to this file to:
17 ! bug-gdb@gnu.org
18 !
19 ! This file is part of the gdb testsuite.
20 !
21 ! It was generated using "sh-elf-gcc -S gdb1431.c", using the following
22 ! source file:
23 !
24 !       #include <stdio.h>
25 !       
26 !       main()
27 !       {
28 !         printf("hello world\n");
29 !         sub1();
30 !         sub2();
31 !       }
32 !       sub1()
33 !       {
34 !         int buf[64];
35 !       
36 !       }
37 !       
38 !       sub2()
39 !       {
40 !         int buf[65];
41 !       
42 !       }
43 !
44 ! We use a pregenerated assembly file as the test input to avoid possible
45 ! problems with future versions of gcc generating different code.
46
47         .file   "gdb1431.c"
48         .text
49         .section        .rodata
50         .align 2
51 .LC0:
52         .string "hello world\n"
53         .text
54         .align 1
55         .global _main
56         .type   _main, @function
57 _main:
58         mov.l   r14,@-r15
59         sts.l   pr,@-r15
60         mov     r15,r14
61         mov.l   .L2,r1
62         mov     r1,r4
63         mov.l   .L3,r1
64         jsr     @r1
65         nop
66         mov.l   .L4,r1
67         jsr     @r1
68         nop
69         mov.l   .L5,r1
70         jsr     @r1
71         nop
72         mov     r14,r15
73         lds.l   @r15+,pr
74         mov.l   @r15+,r14
75         rts     
76         nop
77 .L6:
78         .align 2
79 .L2:
80         .long   .LC0
81 .L3:
82         .long   _printf
83 .L4:
84         .long   _sub1
85 .L5:
86         .long   _sub2
87         .size   _main, .-_main
88         .align 1
89         .global _sub1
90         .type   _sub1, @function
91 _sub1:
92         mov.l   r14,@-r15
93         sts.l   pr,@-r15
94         add     #-128,r15
95         add     #-128,r15
96         mov     r15,r14
97         mov.w   .L8,r7
98         add     r7,r14
99         mov     r14,r15
100         lds.l   @r15+,pr
101         mov.l   @r15+,r14
102         rts     
103         nop
104         .align 1
105 .L8:
106         .short  256
107         .size   _sub1, .-_sub1
108         .align 1
109         .global _sub2
110         .type   _sub2, @function
111 _sub2:
112         mov.l   r14,@-r15
113         sts.l   pr,@-r15
114         mov.w   .L11,r1
115         sub     r1,r15
116         mov     r15,r14
117         mov.w   .L11,r7
118         add     r7,r14
119         mov     r14,r15
120         lds.l   @r15+,pr
121         mov.l   @r15+,r14
122         rts     
123         nop
124         .align 1
125 .L11:
126         .short  260
127         .size   _sub2, .-_sub2
128         .ident  "GCC: (GNU) 3.5.0 20040204 (experimental)"