yann@1
|
1 |
--- glibc-2.2.5/sysdeps/sh/elf/initfini.c.orig Thu Jul 5 21:56:03 2001
|
yann@1
|
2 |
+++ glibc-2.2.5/sysdeps/sh/elf/initfini.c Wed May 28 08:45:08 2003
|
yann@1
|
3 |
@@ -27,122 +27,122 @@
|
yann@1
|
4 |
* crtn.s puts the corresponding function epilogues
|
yann@1
|
5 |
in the .init and .fini sections. */
|
yann@1
|
6 |
|
yann@1
|
7 |
-__asm__ ("
|
yann@1
|
8 |
-
|
yann@1
|
9 |
-#include \"defs.h\"
|
yann@1
|
10 |
-#define SHARED
|
yann@1
|
11 |
-
|
yann@1
|
12 |
-/*@HEADER_ENDS*/
|
yann@1
|
13 |
-
|
yann@1
|
14 |
-/*@TESTS_BEGIN*/
|
yann@1
|
15 |
-
|
yann@1
|
16 |
-/*@TESTS_END*/
|
yann@1
|
17 |
-
|
yann@1
|
18 |
-/*@_init_PROLOG_BEGINS*/
|
yann@1
|
19 |
- .section .init
|
yann@1
|
20 |
- .align 5
|
yann@1
|
21 |
- .global _init
|
yann@1
|
22 |
- .type _init,@function
|
yann@1
|
23 |
-_init:
|
yann@1
|
24 |
- mov.l r12,@-r15
|
yann@1
|
25 |
- mov.l r14,@-r15
|
yann@1
|
26 |
- sts.l pr,@-r15
|
yann@1
|
27 |
-#ifdef SHARED
|
yann@1
|
28 |
- mova .L22,r0
|
yann@1
|
29 |
- mov.l .L22,r12
|
yann@1
|
30 |
- add r0,r12
|
yann@1
|
31 |
- mova .L23,r0
|
yann@1
|
32 |
- mov.l .L23,r1
|
yann@1
|
33 |
- add r0,r1
|
yann@1
|
34 |
-#else
|
yann@1
|
35 |
- mov.l .L23,r1
|
yann@1
|
36 |
-#endif
|
yann@1
|
37 |
- jsr @r1
|
yann@1
|
38 |
- mov r15,r14
|
yann@1
|
39 |
- bra 1f
|
yann@1
|
40 |
- nop
|
yann@1
|
41 |
- .align 2
|
yann@1
|
42 |
-#ifdef SHARED
|
yann@1
|
43 |
-.L22:
|
yann@1
|
44 |
- .long _GLOBAL_OFFSET_TABLE_
|
yann@1
|
45 |
-.L23:
|
yann@1
|
46 |
- .long __gmon_start__@PLT
|
yann@1
|
47 |
-#else
|
yann@1
|
48 |
-.L23:
|
yann@1
|
49 |
- .long __gmon_start__
|
yann@1
|
50 |
-#endif
|
yann@1
|
51 |
- .data
|
yann@1
|
52 |
- .global __fpscr_values
|
yann@1
|
53 |
-__fpscr_values:
|
yann@1
|
54 |
- .long 0
|
yann@1
|
55 |
- .long 0x80000
|
yann@1
|
56 |
- .previous
|
yann@1
|
57 |
-1:
|
yann@1
|
58 |
- ALIGN
|
yann@1
|
59 |
- END_INIT
|
yann@1
|
60 |
-
|
yann@1
|
61 |
-
|
yann@1
|
62 |
-/*@_init_PROLOG_ENDS*/
|
yann@1
|
63 |
-
|
yann@1
|
64 |
-/*@_init_EPILOG_BEGINS*/
|
yann@1
|
65 |
- .section .init
|
yann@1
|
66 |
- mov r14,r15
|
yann@1
|
67 |
- lds.l @r15+,pr
|
yann@1
|
68 |
- mov.l @r15+,r14
|
yann@1
|
69 |
- rts
|
yann@1
|
70 |
- mov.l @r15+,r12
|
yann@1
|
71 |
- END_INIT
|
yann@1
|
72 |
- .section .text
|
yann@1
|
73 |
- .align 5
|
yann@1
|
74 |
- .weak __gmon_start__
|
yann@1
|
75 |
- .type __gmon_start__,@function
|
yann@1
|
76 |
-__gmon_start__:
|
yann@1
|
77 |
- mov.l r14,@-r15
|
yann@1
|
78 |
- mov r15,r14
|
yann@1
|
79 |
- mov r14,r15
|
yann@1
|
80 |
- rts
|
yann@1
|
81 |
- mov.l @r15+,r14
|
yann@1
|
82 |
-
|
yann@1
|
83 |
-/*@_init_EPILOG_ENDS*/
|
yann@1
|
84 |
-
|
yann@1
|
85 |
-/*@_fini_PROLOG_BEGINS*/
|
yann@1
|
86 |
- .section .fini
|
yann@1
|
87 |
- .align 5
|
yann@1
|
88 |
- .global _fini
|
yann@1
|
89 |
- .type _fini,@function
|
yann@1
|
90 |
-_fini:
|
yann@1
|
91 |
- mov.l r12,@-r15
|
yann@1
|
92 |
- mov.l r14,@-r15
|
yann@1
|
93 |
- sts.l pr,@-r15
|
yann@1
|
94 |
-#ifdef SHARED
|
yann@1
|
95 |
- mova .L27,r0
|
yann@1
|
96 |
- mov.l .L27,r12
|
yann@1
|
97 |
- add r0,r12
|
yann@1
|
98 |
-#endif
|
yann@1
|
99 |
- mov r15,r14
|
yann@1
|
100 |
- ALIGN
|
yann@1
|
101 |
- END_FINI
|
yann@1
|
102 |
-#ifdef SHARED
|
yann@1
|
103 |
- bra 1f
|
yann@1
|
104 |
- nop
|
yann@1
|
105 |
- .align 2
|
yann@1
|
106 |
-.L27:
|
yann@1
|
107 |
- .long _GLOBAL_OFFSET_TABLE_
|
yann@1
|
108 |
-#endif
|
yann@1
|
109 |
-1:
|
yann@1
|
110 |
-/*@_fini_PROLOG_ENDS*/
|
yann@1
|
111 |
-
|
yann@1
|
112 |
-/*@_fini_EPILOG_BEGINS*/
|
yann@1
|
113 |
- .section .fini
|
yann@1
|
114 |
- mov r14,r15
|
yann@1
|
115 |
- lds.l @r15+,pr
|
yann@1
|
116 |
- mov.l @r15+,r14
|
yann@1
|
117 |
- rts
|
yann@1
|
118 |
- mov.l @r15+,r12
|
yann@1
|
119 |
-
|
yann@1
|
120 |
- END_FINI
|
yann@1
|
121 |
-
|
yann@1
|
122 |
-/*@_fini_EPILOG_ENDS*/
|
yann@1
|
123 |
-
|
yann@1
|
124 |
-/*@TRAILER_BEGINS*/
|
yann@1
|
125 |
+__asm__ ("\n\
|
yann@1
|
126 |
+\n\
|
yann@1
|
127 |
+#include \"defs.h\"\n\
|
yann@1
|
128 |
+#define SHARED\n\
|
yann@1
|
129 |
+\n\
|
yann@1
|
130 |
+/*@HEADER_ENDS*/\n\
|
yann@1
|
131 |
+\n\
|
yann@1
|
132 |
+/*@TESTS_BEGIN*/\n\
|
yann@1
|
133 |
+\n\
|
yann@1
|
134 |
+/*@TESTS_END*/\n\
|
yann@1
|
135 |
+\n\
|
yann@1
|
136 |
+/*@_init_PROLOG_BEGINS*/\n\
|
yann@1
|
137 |
+ .section .init\n\
|
yann@1
|
138 |
+ .align 5\n\
|
yann@1
|
139 |
+ .global _init\n\
|
yann@1
|
140 |
+ .type _init,@function\n\
|
yann@1
|
141 |
+_init:\n\
|
yann@1
|
142 |
+ mov.l r12,@-r15\n\
|
yann@1
|
143 |
+ mov.l r14,@-r15\n\
|
yann@1
|
144 |
+ sts.l pr,@-r15\n\
|
yann@1
|
145 |
+#ifdef SHARED\n\
|
yann@1
|
146 |
+ mova .L22,r0\n\
|
yann@1
|
147 |
+ mov.l .L22,r12\n\
|
yann@1
|
148 |
+ add r0,r12\n\
|
yann@1
|
149 |
+ mova .L23,r0\n\
|
yann@1
|
150 |
+ mov.l .L23,r1\n\
|
yann@1
|
151 |
+ add r0,r1\n\
|
yann@1
|
152 |
+#else\n\
|
yann@1
|
153 |
+ mov.l .L23,r1\n\
|
yann@1
|
154 |
+#endif\n\
|
yann@1
|
155 |
+ jsr @r1\n\
|
yann@1
|
156 |
+ mov r15,r14\n\
|
yann@1
|
157 |
+ bra 1f\n\
|
yann@1
|
158 |
+ nop\n\
|
yann@1
|
159 |
+ .align 2\n\
|
yann@1
|
160 |
+#ifdef SHARED\n\
|
yann@1
|
161 |
+.L22:\n\
|
yann@1
|
162 |
+ .long _GLOBAL_OFFSET_TABLE_\n\
|
yann@1
|
163 |
+.L23:\n\
|
yann@1
|
164 |
+ .long __gmon_start__@PLT\n\
|
yann@1
|
165 |
+#else\n\
|
yann@1
|
166 |
+.L23:\n\
|
yann@1
|
167 |
+ .long __gmon_start__\n\
|
yann@1
|
168 |
+#endif\n\
|
yann@1
|
169 |
+ .data\n\
|
yann@1
|
170 |
+ .global __fpscr_values\n\
|
yann@1
|
171 |
+__fpscr_values:\n\
|
yann@1
|
172 |
+ .long 0\n\
|
yann@1
|
173 |
+ .long 0x80000\n\
|
yann@1
|
174 |
+ .previous\n\
|
yann@1
|
175 |
+1:\n\
|
yann@1
|
176 |
+ ALIGN\n\
|
yann@1
|
177 |
+ END_INIT\n\
|
yann@1
|
178 |
+\n\
|
yann@1
|
179 |
+ \n\
|
yann@1
|
180 |
+/*@_init_PROLOG_ENDS*/\n\
|
yann@1
|
181 |
+\n\
|
yann@1
|
182 |
+/*@_init_EPILOG_BEGINS*/\n\
|
yann@1
|
183 |
+ .section .init\n\
|
yann@1
|
184 |
+ mov r14,r15\n\
|
yann@1
|
185 |
+ lds.l @r15+,pr\n\
|
yann@1
|
186 |
+ mov.l @r15+,r14\n\
|
yann@1
|
187 |
+ rts \n\
|
yann@1
|
188 |
+ mov.l @r15+,r12\n\
|
yann@1
|
189 |
+ END_INIT\n\
|
yann@1
|
190 |
+ .section .text\n\
|
yann@1
|
191 |
+ .align 5\n\
|
yann@1
|
192 |
+ .weak __gmon_start__\n\
|
yann@1
|
193 |
+ .type __gmon_start__,@function\n\
|
yann@1
|
194 |
+__gmon_start__:\n\
|
yann@1
|
195 |
+ mov.l r14,@-r15\n\
|
yann@1
|
196 |
+ mov r15,r14\n\
|
yann@1
|
197 |
+ mov r14,r15\n\
|
yann@1
|
198 |
+ rts \n\
|
yann@1
|
199 |
+ mov.l @r15+,r14\n\
|
yann@1
|
200 |
+ \n\
|
yann@1
|
201 |
+/*@_init_EPILOG_ENDS*/\n\
|
yann@1
|
202 |
+\n\
|
yann@1
|
203 |
+/*@_fini_PROLOG_BEGINS*/\n\
|
yann@1
|
204 |
+ .section .fini\n\
|
yann@1
|
205 |
+ .align 5\n\
|
yann@1
|
206 |
+ .global _fini\n\
|
yann@1
|
207 |
+ .type _fini,@function\n\
|
yann@1
|
208 |
+_fini:\n\
|
yann@1
|
209 |
+ mov.l r12,@-r15\n\
|
yann@1
|
210 |
+ mov.l r14,@-r15\n\
|
yann@1
|
211 |
+ sts.l pr,@-r15\n\
|
yann@1
|
212 |
+#ifdef SHARED\n\
|
yann@1
|
213 |
+ mova .L27,r0\n\
|
yann@1
|
214 |
+ mov.l .L27,r12\n\
|
yann@1
|
215 |
+ add r0,r12\n\
|
yann@1
|
216 |
+#endif\n\
|
yann@1
|
217 |
+ mov r15,r14\n\
|
yann@1
|
218 |
+ ALIGN\n\
|
yann@1
|
219 |
+ END_FINI\n\
|
yann@1
|
220 |
+#ifdef SHARED\n\
|
yann@1
|
221 |
+ bra 1f\n\
|
yann@1
|
222 |
+ nop\n\
|
yann@1
|
223 |
+ .align 2\n\
|
yann@1
|
224 |
+.L27:\n\
|
yann@1
|
225 |
+ .long _GLOBAL_OFFSET_TABLE_\n\
|
yann@1
|
226 |
+#endif\n\
|
yann@1
|
227 |
+1:\n\
|
yann@1
|
228 |
+/*@_fini_PROLOG_ENDS*/\n\
|
yann@1
|
229 |
+\n\
|
yann@1
|
230 |
+/*@_fini_EPILOG_BEGINS*/\n\
|
yann@1
|
231 |
+ .section .fini\n\
|
yann@1
|
232 |
+ mov r14,r15\n\
|
yann@1
|
233 |
+ lds.l @r15+,pr\n\
|
yann@1
|
234 |
+ mov.l @r15+,r14\n\
|
yann@1
|
235 |
+ rts \n\
|
yann@1
|
236 |
+ mov.l @r15+,r12\n\
|
yann@1
|
237 |
+\n\
|
yann@1
|
238 |
+ END_FINI\n\
|
yann@1
|
239 |
+ \n\
|
yann@1
|
240 |
+/*@_fini_EPILOG_ENDS*/\n\
|
yann@1
|
241 |
+\n\
|
yann@1
|
242 |
+/*@TRAILER_BEGINS*/\n\
|
yann@1
|
243 |
");
|