Commit | Line | Data |
---|---|---|
44944448 | 1 | ! Copyright 2004, 2010, 2011 Free Software Foundation, Inc. |
15d208f6 FF |
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 | |
e22f8b7c | 5 | ! the Free Software Foundation; either version 3 of the License, or |
15d208f6 FF |
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 | |
e22f8b7c | 14 | ! along with this program. If not, see <http://www.gnu.org/licenses/>. |
15d208f6 FF |
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)" |