yann@1
|
1 |
# See http://sources.redhat.com/ml/crossgcc/2002-05/msg00132.html
|
yann@1
|
2 |
# This patch is taken directly from the Montavista Hard Hat Linux 2.0 source RPMs,
|
yann@1
|
3 |
# but has been rediffed against glibc-2.2.5
|
yann@1
|
4 |
|
yann@1
|
5 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Dist glibc-2.2.5/sysdeps/powerpc/Dist
|
yann@1
|
6 |
--- glibc-2.2.5.old/sysdeps/powerpc/Dist Fri Jun 30 23:30:21 2000
|
yann@1
|
7 |
+++ glibc-2.2.5/sysdeps/powerpc/Dist Thu Jul 10 11:43:17 2003
|
yann@1
|
8 |
@@ -1,9 +1,6 @@
|
yann@1
|
9 |
dl-machine.c
|
yann@1
|
10 |
dl-start.S
|
yann@1
|
11 |
ppc-mcount.S
|
yann@1
|
12 |
-fe_nomask.c
|
yann@1
|
13 |
-fprrest.S
|
yann@1
|
14 |
-fprsave.S
|
yann@1
|
15 |
gprsave1.S
|
yann@1
|
16 |
gprsave0.S
|
yann@1
|
17 |
gprrest1.S
|
yann@1
|
18 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Makefile glibc-2.2.5/sysdeps/powerpc/Makefile
|
yann@1
|
19 |
--- glibc-2.2.5.old/sysdeps/powerpc/Makefile Mon Nov 27 15:32:47 2000
|
yann@1
|
20 |
+++ glibc-2.2.5/sysdeps/powerpc/Makefile Thu Jul 10 11:43:17 2003
|
yann@1
|
21 |
@@ -3,16 +3,12 @@
|
yann@1
|
22 |
+cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc
|
yann@1
|
23 |
asm-CPPFLAGS += -Wa,-mppc
|
yann@1
|
24 |
|
yann@1
|
25 |
-ifeq ($(subdir),math)
|
yann@1
|
26 |
-libm-support += fenv_const fe_nomask
|
yann@1
|
27 |
-endif
|
yann@1
|
28 |
-
|
yann@1
|
29 |
ifeq ($(subdir),gmon)
|
yann@1
|
30 |
sysdep_routines += ppc-mcount
|
yann@1
|
31 |
endif
|
yann@1
|
32 |
|
yann@1
|
33 |
ifeq ($(subdir),misc)
|
yann@1
|
34 |
-sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 fprsave fprrest
|
yann@1
|
35 |
+sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1
|
yann@1
|
36 |
endif
|
yann@1
|
37 |
|
yann@1
|
38 |
# On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly
|
yann@1
|
39 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Versions glibc-2.2.5/sysdeps/powerpc/Versions
|
yann@1
|
40 |
--- glibc-2.2.5.old/sysdeps/powerpc/Versions Mon Feb 28 13:27:57 2000
|
yann@1
|
41 |
+++ glibc-2.2.5/sysdeps/powerpc/Versions Thu Jul 10 11:43:17 2003
|
yann@1
|
42 |
@@ -1,8 +1,4 @@
|
yann@1
|
43 |
libm {
|
yann@1
|
44 |
- GLIBC_2.1 {
|
yann@1
|
45 |
- # symbols used in macros from sysdeps/powerpc/bits/fenv.h
|
yann@1
|
46 |
- __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
|
yann@1
|
47 |
- }
|
yann@1
|
48 |
GLIBC_2.2 {
|
yann@1
|
49 |
# Special functions to save and restore registers used by the
|
yann@1
|
50 |
# runtime libraries.
|
yann@1
|
51 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/__longjmp.S glibc-2.2.5/sysdeps/powerpc/__longjmp.S
|
yann@1
|
52 |
--- glibc-2.2.5.old/sysdeps/powerpc/__longjmp.S Thu Jul 5 21:56:01 2001
|
yann@1
|
53 |
+++ glibc-2.2.5/sysdeps/powerpc/__longjmp.S Thu Jul 10 11:43:17 2003
|
yann@1
|
54 |
@@ -24,6 +24,8 @@
|
yann@1
|
55 |
#include <bp-sym.h>
|
yann@1
|
56 |
#include <bp-asm.h>
|
yann@1
|
57 |
|
yann@1
|
58 |
+/* The FPU loads have been removed from this file - see fpu/__longjmp.S */
|
yann@1
|
59 |
+
|
yann@1
|
60 |
ENTRY (BP_SYM (__longjmp))
|
yann@1
|
61 |
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
|
yann@1
|
62 |
|
yann@1
|
63 |
@@ -31,44 +33,26 @@
|
yann@1
|
64 |
lwz r2,(JB_GPR2*4)(r3)
|
yann@1
|
65 |
lwz r0,(JB_LR*4)(r3)
|
yann@1
|
66 |
lwz r14,((JB_GPRS+0)*4)(r3)
|
yann@1
|
67 |
- lfd fp14,((JB_FPRS+0*2)*4)(r3)
|
yann@1
|
68 |
lwz r15,((JB_GPRS+1)*4)(r3)
|
yann@1
|
69 |
- lfd fp15,((JB_FPRS+1*2)*4)(r3)
|
yann@1
|
70 |
lwz r16,((JB_GPRS+2)*4)(r3)
|
yann@1
|
71 |
- lfd fp16,((JB_FPRS+2*2)*4)(r3)
|
yann@1
|
72 |
lwz r17,((JB_GPRS+3)*4)(r3)
|
yann@1
|
73 |
- lfd fp17,((JB_FPRS+3*2)*4)(r3)
|
yann@1
|
74 |
lwz r18,((JB_GPRS+4)*4)(r3)
|
yann@1
|
75 |
- lfd fp18,((JB_FPRS+4*2)*4)(r3)
|
yann@1
|
76 |
lwz r19,((JB_GPRS+5)*4)(r3)
|
yann@1
|
77 |
- lfd fp19,((JB_FPRS+5*2)*4)(r3)
|
yann@1
|
78 |
lwz r20,((JB_GPRS+6)*4)(r3)
|
yann@1
|
79 |
- lfd fp20,((JB_FPRS+6*2)*4)(r3)
|
yann@1
|
80 |
mtlr r0
|
yann@1
|
81 |
lwz r21,((JB_GPRS+7)*4)(r3)
|
yann@1
|
82 |
- lfd fp21,((JB_FPRS+7*2)*4)(r3)
|
yann@1
|
83 |
lwz r22,((JB_GPRS+8)*4)(r3)
|
yann@1
|
84 |
- lfd fp22,((JB_FPRS+8*2)*4)(r3)
|
yann@1
|
85 |
lwz r0,(JB_CR*4)(r3)
|
yann@1
|
86 |
lwz r23,((JB_GPRS+9)*4)(r3)
|
yann@1
|
87 |
- lfd fp23,((JB_FPRS+9*2)*4)(r3)
|
yann@1
|
88 |
lwz r24,((JB_GPRS+10)*4)(r3)
|
yann@1
|
89 |
- lfd fp24,((JB_FPRS+10*2)*4)(r3)
|
yann@1
|
90 |
lwz r25,((JB_GPRS+11)*4)(r3)
|
yann@1
|
91 |
- lfd fp25,((JB_FPRS+11*2)*4)(r3)
|
yann@1
|
92 |
mtcrf 0xFF,r0
|
yann@1
|
93 |
lwz r26,((JB_GPRS+12)*4)(r3)
|
yann@1
|
94 |
- lfd fp26,((JB_FPRS+12*2)*4)(r3)
|
yann@1
|
95 |
lwz r27,((JB_GPRS+13)*4)(r3)
|
yann@1
|
96 |
- lfd fp27,((JB_FPRS+13*2)*4)(r3)
|
yann@1
|
97 |
lwz r28,((JB_GPRS+14)*4)(r3)
|
yann@1
|
98 |
- lfd fp28,((JB_FPRS+14*2)*4)(r3)
|
yann@1
|
99 |
lwz r29,((JB_GPRS+15)*4)(r3)
|
yann@1
|
100 |
- lfd fp29,((JB_FPRS+15*2)*4)(r3)
|
yann@1
|
101 |
lwz r30,((JB_GPRS+16)*4)(r3)
|
yann@1
|
102 |
- lfd fp30,((JB_FPRS+16*2)*4)(r3)
|
yann@1
|
103 |
lwz r31,((JB_GPRS+17)*4)(r3)
|
yann@1
|
104 |
- lfd fp31,((JB_FPRS+17*2)*4)(r3)
|
yann@1
|
105 |
mr r3,r4
|
yann@1
|
106 |
blr
|
yann@1
|
107 |
END (BP_SYM (__longjmp))
|
yann@1
|
108 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/bits/setjmp.h glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h
|
yann@1
|
109 |
--- glibc-2.2.5.old/sysdeps/powerpc/bits/setjmp.h Thu Jul 5 21:56:01 2001
|
yann@1
|
110 |
+++ glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h Thu Jul 10 11:43:17 2003
|
yann@1
|
111 |
@@ -17,6 +17,7 @@
|
yann@1
|
112 |
02111-1307 USA. */
|
yann@1
|
113 |
|
yann@1
|
114 |
/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
|
yann@1
|
115 |
+/* For processors without floating point. */
|
yann@1
|
116 |
|
yann@1
|
117 |
#ifndef _SETJMP_H
|
yann@1
|
118 |
# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
|
yann@1
|
119 |
@@ -33,12 +34,11 @@
|
yann@1
|
120 |
# define JB_LR 2 /* The address we will return to */
|
yann@1
|
121 |
# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
|
yann@1
|
122 |
# define JB_CR 21 /* Condition code registers. */
|
yann@1
|
123 |
-# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
|
yann@1
|
124 |
-# define JB_SIZE (58*4)
|
yann@1
|
125 |
+# define JB_SIZE (22*4)
|
yann@1
|
126 |
#endif
|
yann@1
|
127 |
|
yann@1
|
128 |
#ifndef _ASM
|
yann@1
|
129 |
-typedef long int __jmp_buf[58];
|
yann@1
|
130 |
+typedef long int __jmp_buf[22];
|
yann@1
|
131 |
#endif
|
yann@1
|
132 |
|
yann@1
|
133 |
/* Test if longjmp to JMPBUF would unwind the frame
|
yann@1
|
134 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fclrexcpt.c glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c
|
yann@1
|
135 |
--- glibc-2.2.5.old/sysdeps/powerpc/fclrexcpt.c Thu Jul 5 21:56:01 2001
|
yann@1
|
136 |
+++ glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c Wed Dec 31 16:00:00 1969
|
yann@1
|
137 |
@@ -1,48 +0,0 @@
|
yann@1
|
138 |
-/* Clear given exceptions in current floating-point environment.
|
yann@1
|
139 |
- Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
|
yann@1
|
140 |
- This file is part of the GNU C Library.
|
yann@1
|
141 |
-
|
yann@1
|
142 |
- The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
143 |
- modify it under the terms of the GNU Lesser General Public
|
yann@1
|
144 |
- License as published by the Free Software Foundation; either
|
yann@1
|
145 |
- version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
146 |
-
|
yann@1
|
147 |
- The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
148 |
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
149 |
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
150 |
- Lesser General Public License for more details.
|
yann@1
|
151 |
-
|
yann@1
|
152 |
- You should have received a copy of the GNU Lesser General Public
|
yann@1
|
153 |
- License along with the GNU C Library; if not, write to the Free
|
yann@1
|
154 |
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
155 |
- 02111-1307 USA. */
|
yann@1
|
156 |
-
|
yann@1
|
157 |
-#include <fenv_libc.h>
|
yann@1
|
158 |
-
|
yann@1
|
159 |
-#undef feclearexcept
|
yann@1
|
160 |
-int
|
yann@1
|
161 |
-__feclearexcept (int excepts)
|
yann@1
|
162 |
-{
|
yann@1
|
163 |
- fenv_union_t u;
|
yann@1
|
164 |
-
|
yann@1
|
165 |
- /* Get the current state. */
|
yann@1
|
166 |
- u.fenv = fegetenv_register ();
|
yann@1
|
167 |
-
|
yann@1
|
168 |
- /* Clear the relevant bits. */
|
yann@1
|
169 |
- u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID)
|
yann@1
|
170 |
- | (excepts & FPSCR_STICKY_BITS));
|
yann@1
|
171 |
-
|
yann@1
|
172 |
- /* Put the new state in effect. */
|
yann@1
|
173 |
- fesetenv_register (u.fenv);
|
yann@1
|
174 |
-
|
yann@1
|
175 |
- /* Success. */
|
yann@1
|
176 |
- return 0;
|
yann@1
|
177 |
-}
|
yann@1
|
178 |
-
|
yann@1
|
179 |
-#include <shlib-compat.h>
|
yann@1
|
180 |
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
|
yann@1
|
181 |
-strong_alias (__feclearexcept, __old_feclearexcept)
|
yann@1
|
182 |
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
|
yann@1
|
183 |
-#endif
|
yann@1
|
184 |
-
|
yann@1
|
185 |
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
|
yann@1
|
186 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fe_nomask.c glibc-2.2.5/sysdeps/powerpc/fe_nomask.c
|
yann@1
|
187 |
--- glibc-2.2.5.old/sysdeps/powerpc/fe_nomask.c Thu Jul 5 21:56:01 2001
|
yann@1
|
188 |
+++ glibc-2.2.5/sysdeps/powerpc/fe_nomask.c Wed Dec 31 16:00:00 1969
|
yann@1
|
189 |
@@ -1,32 +0,0 @@
|
yann@1
|
190 |
-/* Procedure definition for FE_NOMASK_ENV.
|
yann@1
|
191 |
- Copyright (C) 1997 Free Software Foundation, Inc.
|
yann@1
|
192 |
- This file is part of the GNU C Library.
|
yann@1
|
193 |
-
|
yann@1
|
194 |
- The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
195 |
- modify it under the terms of the GNU Lesser General Public
|
yann@1
|
196 |
- License as published by the Free Software Foundation; either
|
yann@1
|
197 |
- version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
198 |
-
|
yann@1
|
199 |
- The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
200 |
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
201 |
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
202 |
- Lesser General Public License for more details.
|
yann@1
|
203 |
-
|
yann@1
|
204 |
- You should have received a copy of the GNU Lesser General Public
|
yann@1
|
205 |
- License along with the GNU C Library; if not, write to the Free
|
yann@1
|
206 |
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
207 |
- 02111-1307 USA. */
|
yann@1
|
208 |
-
|
yann@1
|
209 |
-#include <fenv.h>
|
yann@1
|
210 |
-#include <errno.h>
|
yann@1
|
211 |
-
|
yann@1
|
212 |
-/* This is presently a stub, until it's decided how the kernels should
|
yann@1
|
213 |
- support this. */
|
yann@1
|
214 |
-
|
yann@1
|
215 |
-const fenv_t *
|
yann@1
|
216 |
-__fe_nomask_env(void)
|
yann@1
|
217 |
-{
|
yann@1
|
218 |
- __set_errno (ENOSYS);
|
yann@1
|
219 |
- return FE_ENABLED_ENV;
|
yann@1
|
220 |
-}
|
yann@1
|
221 |
-stub_warning (__fe_nomask_env)
|
yann@1
|
222 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fprrest.S glibc-2.2.5/sysdeps/powerpc/fprrest.S
|
yann@1
|
223 |
--- glibc-2.2.5.old/sysdeps/powerpc/fprrest.S Thu Jul 5 21:56:01 2001
|
yann@1
|
224 |
+++ glibc-2.2.5/sysdeps/powerpc/fprrest.S Wed Dec 31 16:00:00 1969
|
yann@1
|
225 |
@@ -1,94 +0,0 @@
|
yann@1
|
226 |
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
yann@1
|
227 |
- This file is part of the GNU C Library.
|
yann@1
|
228 |
-
|
yann@1
|
229 |
- The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
230 |
- modify it under the terms of the GNU Lesser General Public
|
yann@1
|
231 |
- License as published by the Free Software Foundation; either
|
yann@1
|
232 |
- version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
233 |
-
|
yann@1
|
234 |
- The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
235 |
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
236 |
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
237 |
- Lesser General Public License for more details.
|
yann@1
|
238 |
-
|
yann@1
|
239 |
- You should have received a copy of the GNU Lesser General Public
|
yann@1
|
240 |
- License along with the GNU C Library; if not, write to the Free
|
yann@1
|
241 |
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
242 |
- 02111-1307 USA. */
|
yann@1
|
243 |
-
|
yann@1
|
244 |
-/*
|
yann@1
|
245 |
- Floating Point Registers (FPRs) restore routine
|
yann@1
|
246 |
-*/
|
yann@1
|
247 |
-
|
yann@1
|
248 |
-#include <sysdep.h>
|
yann@1
|
249 |
-
|
yann@1
|
250 |
-ENTRY(_restfpr_all)
|
yann@1
|
251 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14)
|
yann@1
|
252 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14)
|
yann@1
|
253 |
-C_TEXT(_restf14):
|
yann@1
|
254 |
-C_TEXT(_restfpr_14): lfd fp14,-144(r1)
|
yann@1
|
255 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15)
|
yann@1
|
256 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15)
|
yann@1
|
257 |
-C_TEXT(_restf15):
|
yann@1
|
258 |
-C_TEXT(_restfpr_15): lfd fp15,-136(r1)
|
yann@1
|
259 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16)
|
yann@1
|
260 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16)
|
yann@1
|
261 |
-C_TEXT(_restf16):
|
yann@1
|
262 |
-C_TEXT(_restfpr_16): lfd fp16,-128(r1)
|
yann@1
|
263 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17)
|
yann@1
|
264 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17)
|
yann@1
|
265 |
-C_TEXT(_restf17):
|
yann@1
|
266 |
-C_TEXT(_restfpr_17): lfd fp17,-120(r1)
|
yann@1
|
267 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18)
|
yann@1
|
268 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18)
|
yann@1
|
269 |
-C_TEXT(_restf18):
|
yann@1
|
270 |
-C_TEXT(_restfpr_18): lfd fp18,-112(r1)
|
yann@1
|
271 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19)
|
yann@1
|
272 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19)
|
yann@1
|
273 |
-C_TEXT(_restf19):
|
yann@1
|
274 |
-C_TEXT(_restfpr_19): lfd fp19,-104(r1)
|
yann@1
|
275 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20)
|
yann@1
|
276 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20)
|
yann@1
|
277 |
-C_TEXT(_restf20):
|
yann@1
|
278 |
-C_TEXT(_restfpr_20): lfd fp20,-96(r1)
|
yann@1
|
279 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21)
|
yann@1
|
280 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21)
|
yann@1
|
281 |
-C_TEXT(_restf21):
|
yann@1
|
282 |
-C_TEXT(_restfpr_21): lfd fp21,-88(r1)
|
yann@1
|
283 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22)
|
yann@1
|
284 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22)
|
yann@1
|
285 |
-C_TEXT(_restf22):
|
yann@1
|
286 |
-C_TEXT(_restfpr_22): lfd fp22,-80(r1)
|
yann@1
|
287 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23)
|
yann@1
|
288 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23)
|
yann@1
|
289 |
-C_TEXT(_restf23):
|
yann@1
|
290 |
-C_TEXT(_restfpr_23): lfd fp23,-72(r1)
|
yann@1
|
291 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24)
|
yann@1
|
292 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24)
|
yann@1
|
293 |
-C_TEXT(_restf24):
|
yann@1
|
294 |
-C_TEXT(_restfpr_24): lfd fp24,-64(r1)
|
yann@1
|
295 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25)
|
yann@1
|
296 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25)
|
yann@1
|
297 |
-C_TEXT(_restf25):
|
yann@1
|
298 |
-C_TEXT(_restfpr_25): lfd fp25,-56(r1)
|
yann@1
|
299 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26)
|
yann@1
|
300 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26)
|
yann@1
|
301 |
-C_TEXT(_restf26):
|
yann@1
|
302 |
-C_TEXT(_restfpr_26): lfd fp26,-48(r1)
|
yann@1
|
303 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27)
|
yann@1
|
304 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27)
|
yann@1
|
305 |
-C_TEXT(_restf27):
|
yann@1
|
306 |
-C_TEXT(_restfpr_27): lfd fp27,-40(r1)
|
yann@1
|
307 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28)
|
yann@1
|
308 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28)
|
yann@1
|
309 |
-C_TEXT(_restf28):
|
yann@1
|
310 |
-C_TEXT(_restfpr_28): lfd fp28,-32(r1)
|
yann@1
|
311 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29)
|
yann@1
|
312 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29)
|
yann@1
|
313 |
-C_TEXT(_restf29):
|
yann@1
|
314 |
-C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame
|
yann@1
|
315 |
- lfd fp29,-24(r1) #restore f29
|
yann@1
|
316 |
- mtlr r0 #move return address to LR
|
yann@1
|
317 |
- lfd fp30,-16(r1) #restore f30
|
yann@1
|
318 |
- lfd fp31,-8(r1) #restore f31
|
yann@1
|
319 |
- blr #return
|
yann@1
|
320 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fprsave.S glibc-2.2.5/sysdeps/powerpc/fprsave.S
|
yann@1
|
321 |
--- glibc-2.2.5.old/sysdeps/powerpc/fprsave.S Thu Jul 5 21:56:01 2001
|
yann@1
|
322 |
+++ glibc-2.2.5/sysdeps/powerpc/fprsave.S Wed Dec 31 16:00:00 1969
|
yann@1
|
323 |
@@ -1,93 +0,0 @@
|
yann@1
|
324 |
-/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
yann@1
|
325 |
- This file is part of the GNU C Library.
|
yann@1
|
326 |
-
|
yann@1
|
327 |
- The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
328 |
- modify it under the terms of the GNU Lesser General Public
|
yann@1
|
329 |
- License as published by the Free Software Foundation; either
|
yann@1
|
330 |
- version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
331 |
-
|
yann@1
|
332 |
- The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
333 |
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
334 |
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
335 |
- Lesser General Public License for more details.
|
yann@1
|
336 |
-
|
yann@1
|
337 |
- You should have received a copy of the GNU Lesser General Public
|
yann@1
|
338 |
- License along with the GNU C Library; if not, write to the Free
|
yann@1
|
339 |
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
340 |
- 02111-1307 USA. */
|
yann@1
|
341 |
-
|
yann@1
|
342 |
-/*
|
yann@1
|
343 |
- Floating Point Registers (FPRs) save routine
|
yann@1
|
344 |
-*/
|
yann@1
|
345 |
-
|
yann@1
|
346 |
-#include <sysdep.h>
|
yann@1
|
347 |
-
|
yann@1
|
348 |
-ENTRY(_savefpr_all)
|
yann@1
|
349 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14)
|
yann@1
|
350 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14)
|
yann@1
|
351 |
-C_TEXT(_savef14):
|
yann@1
|
352 |
-C_TEXT(_savefpr_14): stfd fp14,-144(r1)
|
yann@1
|
353 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15)
|
yann@1
|
354 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15)
|
yann@1
|
355 |
-C_TEXT(_savef15):
|
yann@1
|
356 |
-C_TEXT(_savefpr_15): stfd fp15,-136(r1)
|
yann@1
|
357 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16)
|
yann@1
|
358 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16)
|
yann@1
|
359 |
-C_TEXT(_savef16):
|
yann@1
|
360 |
-C_TEXT(_savefpr_16): stfd fp16,-128(r1)
|
yann@1
|
361 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17)
|
yann@1
|
362 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17)
|
yann@1
|
363 |
-C_TEXT(_savef17):
|
yann@1
|
364 |
-C_TEXT(_savefpr_17): stfd fp17,-120(r1)
|
yann@1
|
365 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18)
|
yann@1
|
366 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18)
|
yann@1
|
367 |
-C_TEXT(_savef18):
|
yann@1
|
368 |
-C_TEXT(_savefpr_18): stfd fp18,-112(r1)
|
yann@1
|
369 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19)
|
yann@1
|
370 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19)
|
yann@1
|
371 |
-C_TEXT(_savef19):
|
yann@1
|
372 |
-C_TEXT(_savefpr_19): stfd fp19,-104(r1)
|
yann@1
|
373 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20)
|
yann@1
|
374 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20)
|
yann@1
|
375 |
-C_TEXT(_savef20):
|
yann@1
|
376 |
-C_TEXT(_savefpr_20): stfd fp20,-96(r1)
|
yann@1
|
377 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21)
|
yann@1
|
378 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21)
|
yann@1
|
379 |
-C_TEXT(_savef21):
|
yann@1
|
380 |
-C_TEXT(_savefpr_21): stfd fp21,-88(r1)
|
yann@1
|
381 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22)
|
yann@1
|
382 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22)
|
yann@1
|
383 |
-C_TEXT(_savef22):
|
yann@1
|
384 |
-C_TEXT(_savefpr_22): stfd fp22,-80(r1)
|
yann@1
|
385 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23)
|
yann@1
|
386 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23)
|
yann@1
|
387 |
-C_TEXT(_savef23):
|
yann@1
|
388 |
-C_TEXT(_savefpr_23): stfd fp23,-72(r1)
|
yann@1
|
389 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24)
|
yann@1
|
390 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24)
|
yann@1
|
391 |
-C_TEXT(_savef24):
|
yann@1
|
392 |
-C_TEXT(_savefpr_24): stfd fp24,-64(r1)
|
yann@1
|
393 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25)
|
yann@1
|
394 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25)
|
yann@1
|
395 |
-C_TEXT(_savef25):
|
yann@1
|
396 |
-C_TEXT(_savefpr_25): stfd fp25,-56(r1)
|
yann@1
|
397 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26)
|
yann@1
|
398 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26)
|
yann@1
|
399 |
-C_TEXT(_savef26):
|
yann@1
|
400 |
-C_TEXT(_savefpr_26): stfd fp26,-48(r1)
|
yann@1
|
401 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27)
|
yann@1
|
402 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27)
|
yann@1
|
403 |
-C_TEXT(_savef27):
|
yann@1
|
404 |
-C_TEXT(_savefpr_27): stfd fp27,-40(r1)
|
yann@1
|
405 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28)
|
yann@1
|
406 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28)
|
yann@1
|
407 |
-C_TEXT(_savef28):
|
yann@1
|
408 |
-C_TEXT(_savefpr_28): stfd fp28,-32(r1)
|
yann@1
|
409 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29)
|
yann@1
|
410 |
- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29)
|
yann@1
|
411 |
-C_TEXT(_savef29):
|
yann@1
|
412 |
-C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29
|
yann@1
|
413 |
- stfd fp30,-16(r1) #save f30
|
yann@1
|
414 |
- stfd fp31,-8(r1) #save f31
|
yann@1
|
415 |
- stw r0,8(r1) #save LR in callers frame
|
yann@1
|
416 |
- blr #return
|
yann@1
|
417 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Dist glibc-2.2.5/sysdeps/powerpc/fpu/Dist
|
yann@1
|
418 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/Dist Wed Jan 26 17:48:02 2000
|
yann@1
|
419 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/Dist Thu Jul 10 11:43:17 2003
|
yann@1
|
420 |
@@ -1,3 +1,6 @@
|
yann@1
|
421 |
+fe_nomask.c
|
yann@1
|
422 |
+fprrest.S
|
yann@1
|
423 |
+fprsave.S
|
yann@1
|
424 |
fenv_const.c
|
yann@1
|
425 |
fenv_libc.h
|
yann@1
|
426 |
t_sqrt.c
|
yann@1
|
427 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Makefile glibc-2.2.5/sysdeps/powerpc/fpu/Makefile
|
yann@1
|
428 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/Makefile Mon Oct 11 15:29:00 1999
|
yann@1
|
429 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/Makefile Thu Jul 10 11:43:17 2003
|
yann@1
|
430 |
@@ -1,3 +1,7 @@
|
yann@1
|
431 |
ifeq ($(subdir),math)
|
yann@1
|
432 |
libm-support += fenv_const fe_nomask t_sqrt
|
yann@1
|
433 |
endif
|
yann@1
|
434 |
+
|
yann@1
|
435 |
+ifeq ($(subdir),misc)
|
yann@1
|
436 |
+sysdep_routines += fprsave fprrest
|
yann@1
|
437 |
+endif
|
yann@1
|
438 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Versions glibc-2.2.5/sysdeps/powerpc/fpu/Versions
|
yann@1
|
439 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/Versions Wed Dec 31 16:00:00 1969
|
yann@1
|
440 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/Versions Thu Jul 10 11:43:17 2003
|
yann@1
|
441 |
@@ -0,0 +1,6 @@
|
yann@1
|
442 |
+libm {
|
yann@1
|
443 |
+ GLIBC_2.1 {
|
yann@1
|
444 |
+ # symbols used in macros from sysdeps/powerpc/bits/fenv.h
|
yann@1
|
445 |
+ __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
|
yann@1
|
446 |
+ }
|
yann@1
|
447 |
+}
|
yann@1
|
448 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/__longjmp.S glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S
|
yann@1
|
449 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/__longjmp.S Wed Dec 31 16:00:00 1969
|
yann@1
|
450 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S Thu Jul 10 11:43:17 2003
|
yann@1
|
451 |
@@ -0,0 +1,74 @@
|
yann@1
|
452 |
+/* longjmp for PowerPC.
|
yann@1
|
453 |
+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
yann@1
|
454 |
+ This file is part of the GNU C Library.
|
yann@1
|
455 |
+
|
yann@1
|
456 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
457 |
+ modify it under the terms of the GNU Library General Public License as
|
yann@1
|
458 |
+ published by the Free Software Foundation; either version 2 of the
|
yann@1
|
459 |
+ License, or (at your option) any later version.
|
yann@1
|
460 |
+
|
yann@1
|
461 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
462 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
463 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
464 |
+ Library General Public License for more details.
|
yann@1
|
465 |
+
|
yann@1
|
466 |
+ You should have received a copy of the GNU Library General Public
|
yann@1
|
467 |
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
|
yann@1
|
468 |
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
yann@1
|
469 |
+ Boston, MA 02111-1307, USA. */
|
yann@1
|
470 |
+
|
yann@1
|
471 |
+#include <sysdep.h>
|
yann@1
|
472 |
+#define _ASM
|
yann@1
|
473 |
+#define _SETJMP_H
|
yann@1
|
474 |
+#include <bits/setjmp.h>
|
yann@1
|
475 |
+#include <bp-sym.h>
|
yann@1
|
476 |
+#include <bp-asm.h>
|
yann@1
|
477 |
+
|
yann@1
|
478 |
+ENTRY (BP_SYM (__longjmp))
|
yann@1
|
479 |
+ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
|
yann@1
|
480 |
+
|
yann@1
|
481 |
+ lwz r1,(JB_GPR1*4)(r3)
|
yann@1
|
482 |
+ lwz r2,(JB_GPR2*4)(r3)
|
yann@1
|
483 |
+ lwz r0,(JB_LR*4)(r3)
|
yann@1
|
484 |
+ lwz r14,((JB_GPRS+0)*4)(r3)
|
yann@1
|
485 |
+ lfd fp14,((JB_FPRS+0*2)*4)(r3)
|
yann@1
|
486 |
+ lwz r15,((JB_GPRS+1)*4)(r3)
|
yann@1
|
487 |
+ lfd fp15,((JB_FPRS+1*2)*4)(r3)
|
yann@1
|
488 |
+ lwz r16,((JB_GPRS+2)*4)(r3)
|
yann@1
|
489 |
+ lfd fp16,((JB_FPRS+2*2)*4)(r3)
|
yann@1
|
490 |
+ lwz r17,((JB_GPRS+3)*4)(r3)
|
yann@1
|
491 |
+ lfd fp17,((JB_FPRS+3*2)*4)(r3)
|
yann@1
|
492 |
+ lwz r18,((JB_GPRS+4)*4)(r3)
|
yann@1
|
493 |
+ lfd fp18,((JB_FPRS+4*2)*4)(r3)
|
yann@1
|
494 |
+ lwz r19,((JB_GPRS+5)*4)(r3)
|
yann@1
|
495 |
+ lfd fp19,((JB_FPRS+5*2)*4)(r3)
|
yann@1
|
496 |
+ lwz r20,((JB_GPRS+6)*4)(r3)
|
yann@1
|
497 |
+ lfd fp20,((JB_FPRS+6*2)*4)(r3)
|
yann@1
|
498 |
+ mtlr r0
|
yann@1
|
499 |
+ lwz r21,((JB_GPRS+7)*4)(r3)
|
yann@1
|
500 |
+ lfd fp21,((JB_FPRS+7*2)*4)(r3)
|
yann@1
|
501 |
+ lwz r22,((JB_GPRS+8)*4)(r3)
|
yann@1
|
502 |
+ lfd fp22,((JB_FPRS+8*2)*4)(r3)
|
yann@1
|
503 |
+ lwz r0,(JB_CR*4)(r3)
|
yann@1
|
504 |
+ lwz r23,((JB_GPRS+9)*4)(r3)
|
yann@1
|
505 |
+ lfd fp23,((JB_FPRS+9*2)*4)(r3)
|
yann@1
|
506 |
+ lwz r24,((JB_GPRS+10)*4)(r3)
|
yann@1
|
507 |
+ lfd fp24,((JB_FPRS+10*2)*4)(r3)
|
yann@1
|
508 |
+ lwz r25,((JB_GPRS+11)*4)(r3)
|
yann@1
|
509 |
+ lfd fp25,((JB_FPRS+11*2)*4)(r3)
|
yann@1
|
510 |
+ mtcrf 0xFF,r0
|
yann@1
|
511 |
+ lwz r26,((JB_GPRS+12)*4)(r3)
|
yann@1
|
512 |
+ lfd fp26,((JB_FPRS+12*2)*4)(r3)
|
yann@1
|
513 |
+ lwz r27,((JB_GPRS+13)*4)(r3)
|
yann@1
|
514 |
+ lfd fp27,((JB_FPRS+13*2)*4)(r3)
|
yann@1
|
515 |
+ lwz r28,((JB_GPRS+14)*4)(r3)
|
yann@1
|
516 |
+ lfd fp28,((JB_FPRS+14*2)*4)(r3)
|
yann@1
|
517 |
+ lwz r29,((JB_GPRS+15)*4)(r3)
|
yann@1
|
518 |
+ lfd fp29,((JB_FPRS+15*2)*4)(r3)
|
yann@1
|
519 |
+ lwz r30,((JB_GPRS+16)*4)(r3)
|
yann@1
|
520 |
+ lfd fp30,((JB_FPRS+16*2)*4)(r3)
|
yann@1
|
521 |
+ lwz r31,((JB_GPRS+17)*4)(r3)
|
yann@1
|
522 |
+ lfd fp31,((JB_FPRS+17*2)*4)(r3)
|
yann@1
|
523 |
+ mr r3,r4
|
yann@1
|
524 |
+ blr
|
yann@1
|
525 |
+END (BP_SYM (__longjmp))
|
yann@1
|
526 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/bits/setjmp.h glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h
|
yann@1
|
527 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/bits/setjmp.h Wed Dec 31 16:00:00 1969
|
yann@1
|
528 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h Thu Jul 10 11:43:17 2003
|
yann@1
|
529 |
@@ -0,0 +1,47 @@
|
yann@1
|
530 |
+/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
|
yann@1
|
531 |
+ This file is part of the GNU C Library.
|
yann@1
|
532 |
+
|
yann@1
|
533 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
534 |
+ modify it under the terms of the GNU Library General Public License as
|
yann@1
|
535 |
+ published by the Free Software Foundation; either version 2 of the
|
yann@1
|
536 |
+ License, or (at your option) any later version.
|
yann@1
|
537 |
+
|
yann@1
|
538 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
539 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
540 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
541 |
+ Library General Public License for more details.
|
yann@1
|
542 |
+
|
yann@1
|
543 |
+ You should have received a copy of the GNU Library General Public
|
yann@1
|
544 |
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
|
yann@1
|
545 |
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
yann@1
|
546 |
+ Boston, MA 02111-1307, USA. */
|
yann@1
|
547 |
+
|
yann@1
|
548 |
+/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
|
yann@1
|
549 |
+
|
yann@1
|
550 |
+#ifndef _SETJMP_H
|
yann@1
|
551 |
+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
|
yann@1
|
552 |
+#endif
|
yann@1
|
553 |
+
|
yann@1
|
554 |
+/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
|
yann@1
|
555 |
+ We use an array of 'long int' instead, to make writing the
|
yann@1
|
556 |
+ assembler easier. Naturally, user code should not depend on
|
yann@1
|
557 |
+ either representation. */
|
yann@1
|
558 |
+
|
yann@1
|
559 |
+#if defined __USE_MISC || defined _ASM
|
yann@1
|
560 |
+# define JB_GPR1 0 /* Also known as the stack pointer */
|
yann@1
|
561 |
+# define JB_GPR2 1
|
yann@1
|
562 |
+# define JB_LR 2 /* The address we will return to */
|
yann@1
|
563 |
+# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
|
yann@1
|
564 |
+# define JB_CR 21 /* Condition code registers. */
|
yann@1
|
565 |
+# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
|
yann@1
|
566 |
+# define JB_SIZE (58*4)
|
yann@1
|
567 |
+#endif
|
yann@1
|
568 |
+
|
yann@1
|
569 |
+#ifndef _ASM
|
yann@1
|
570 |
+typedef long int __jmp_buf[58];
|
yann@1
|
571 |
+#endif
|
yann@1
|
572 |
+
|
yann@1
|
573 |
+/* Test if longjmp to JMPBUF would unwind the frame
|
yann@1
|
574 |
+ containing a local variable at ADDRESS. */
|
yann@1
|
575 |
+#define _JMPBUF_UNWINDS(jmpbuf, address) \
|
yann@1
|
576 |
+ ((void *) (address) < (void *) (jmpbuf)[JB_GPR1])
|
yann@1
|
577 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fclrexcpt.c glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c
|
yann@1
|
578 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/fclrexcpt.c Wed Dec 31 16:00:00 1969
|
yann@1
|
579 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c Thu Jul 5 21:56:01 2001
|
yann@1
|
580 |
@@ -0,0 +1,48 @@
|
yann@1
|
581 |
+/* Clear given exceptions in current floating-point environment.
|
yann@1
|
582 |
+ Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
|
yann@1
|
583 |
+ This file is part of the GNU C Library.
|
yann@1
|
584 |
+
|
yann@1
|
585 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
586 |
+ modify it under the terms of the GNU Lesser General Public
|
yann@1
|
587 |
+ License as published by the Free Software Foundation; either
|
yann@1
|
588 |
+ version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
589 |
+
|
yann@1
|
590 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
591 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
592 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
593 |
+ Lesser General Public License for more details.
|
yann@1
|
594 |
+
|
yann@1
|
595 |
+ You should have received a copy of the GNU Lesser General Public
|
yann@1
|
596 |
+ License along with the GNU C Library; if not, write to the Free
|
yann@1
|
597 |
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
598 |
+ 02111-1307 USA. */
|
yann@1
|
599 |
+
|
yann@1
|
600 |
+#include <fenv_libc.h>
|
yann@1
|
601 |
+
|
yann@1
|
602 |
+#undef feclearexcept
|
yann@1
|
603 |
+int
|
yann@1
|
604 |
+__feclearexcept (int excepts)
|
yann@1
|
605 |
+{
|
yann@1
|
606 |
+ fenv_union_t u;
|
yann@1
|
607 |
+
|
yann@1
|
608 |
+ /* Get the current state. */
|
yann@1
|
609 |
+ u.fenv = fegetenv_register ();
|
yann@1
|
610 |
+
|
yann@1
|
611 |
+ /* Clear the relevant bits. */
|
yann@1
|
612 |
+ u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID)
|
yann@1
|
613 |
+ | (excepts & FPSCR_STICKY_BITS));
|
yann@1
|
614 |
+
|
yann@1
|
615 |
+ /* Put the new state in effect. */
|
yann@1
|
616 |
+ fesetenv_register (u.fenv);
|
yann@1
|
617 |
+
|
yann@1
|
618 |
+ /* Success. */
|
yann@1
|
619 |
+ return 0;
|
yann@1
|
620 |
+}
|
yann@1
|
621 |
+
|
yann@1
|
622 |
+#include <shlib-compat.h>
|
yann@1
|
623 |
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
|
yann@1
|
624 |
+strong_alias (__feclearexcept, __old_feclearexcept)
|
yann@1
|
625 |
+compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
|
yann@1
|
626 |
+#endif
|
yann@1
|
627 |
+
|
yann@1
|
628 |
+versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
|
yann@1
|
629 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fe_nomask.c glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c
|
yann@1
|
630 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/fe_nomask.c Wed Dec 31 16:00:00 1969
|
yann@1
|
631 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c Thu Jul 5 21:56:01 2001
|
yann@1
|
632 |
@@ -0,0 +1,32 @@
|
yann@1
|
633 |
+/* Procedure definition for FE_NOMASK_ENV.
|
yann@1
|
634 |
+ Copyright (C) 1997 Free Software Foundation, Inc.
|
yann@1
|
635 |
+ This file is part of the GNU C Library.
|
yann@1
|
636 |
+
|
yann@1
|
637 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
638 |
+ modify it under the terms of the GNU Lesser General Public
|
yann@1
|
639 |
+ License as published by the Free Software Foundation; either
|
yann@1
|
640 |
+ version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
641 |
+
|
yann@1
|
642 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
643 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
644 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
645 |
+ Lesser General Public License for more details.
|
yann@1
|
646 |
+
|
yann@1
|
647 |
+ You should have received a copy of the GNU Lesser General Public
|
yann@1
|
648 |
+ License along with the GNU C Library; if not, write to the Free
|
yann@1
|
649 |
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
650 |
+ 02111-1307 USA. */
|
yann@1
|
651 |
+
|
yann@1
|
652 |
+#include <fenv.h>
|
yann@1
|
653 |
+#include <errno.h>
|
yann@1
|
654 |
+
|
yann@1
|
655 |
+/* This is presently a stub, until it's decided how the kernels should
|
yann@1
|
656 |
+ support this. */
|
yann@1
|
657 |
+
|
yann@1
|
658 |
+const fenv_t *
|
yann@1
|
659 |
+__fe_nomask_env(void)
|
yann@1
|
660 |
+{
|
yann@1
|
661 |
+ __set_errno (ENOSYS);
|
yann@1
|
662 |
+ return FE_ENABLED_ENV;
|
yann@1
|
663 |
+}
|
yann@1
|
664 |
+stub_warning (__fe_nomask_env)
|
yann@1
|
665 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fprrest.S glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S
|
yann@1
|
666 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/fprrest.S Wed Dec 31 16:00:00 1969
|
yann@1
|
667 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S Thu Jul 5 21:56:01 2001
|
yann@1
|
668 |
@@ -0,0 +1,94 @@
|
yann@1
|
669 |
+/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
yann@1
|
670 |
+ This file is part of the GNU C Library.
|
yann@1
|
671 |
+
|
yann@1
|
672 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
673 |
+ modify it under the terms of the GNU Lesser General Public
|
yann@1
|
674 |
+ License as published by the Free Software Foundation; either
|
yann@1
|
675 |
+ version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
676 |
+
|
yann@1
|
677 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
678 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
679 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
680 |
+ Lesser General Public License for more details.
|
yann@1
|
681 |
+
|
yann@1
|
682 |
+ You should have received a copy of the GNU Lesser General Public
|
yann@1
|
683 |
+ License along with the GNU C Library; if not, write to the Free
|
yann@1
|
684 |
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
685 |
+ 02111-1307 USA. */
|
yann@1
|
686 |
+
|
yann@1
|
687 |
+/*
|
yann@1
|
688 |
+ Floating Point Registers (FPRs) restore routine
|
yann@1
|
689 |
+*/
|
yann@1
|
690 |
+
|
yann@1
|
691 |
+#include <sysdep.h>
|
yann@1
|
692 |
+
|
yann@1
|
693 |
+ENTRY(_restfpr_all)
|
yann@1
|
694 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14)
|
yann@1
|
695 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14)
|
yann@1
|
696 |
+C_TEXT(_restf14):
|
yann@1
|
697 |
+C_TEXT(_restfpr_14): lfd fp14,-144(r1)
|
yann@1
|
698 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15)
|
yann@1
|
699 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15)
|
yann@1
|
700 |
+C_TEXT(_restf15):
|
yann@1
|
701 |
+C_TEXT(_restfpr_15): lfd fp15,-136(r1)
|
yann@1
|
702 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16)
|
yann@1
|
703 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16)
|
yann@1
|
704 |
+C_TEXT(_restf16):
|
yann@1
|
705 |
+C_TEXT(_restfpr_16): lfd fp16,-128(r1)
|
yann@1
|
706 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17)
|
yann@1
|
707 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17)
|
yann@1
|
708 |
+C_TEXT(_restf17):
|
yann@1
|
709 |
+C_TEXT(_restfpr_17): lfd fp17,-120(r1)
|
yann@1
|
710 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18)
|
yann@1
|
711 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18)
|
yann@1
|
712 |
+C_TEXT(_restf18):
|
yann@1
|
713 |
+C_TEXT(_restfpr_18): lfd fp18,-112(r1)
|
yann@1
|
714 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19)
|
yann@1
|
715 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19)
|
yann@1
|
716 |
+C_TEXT(_restf19):
|
yann@1
|
717 |
+C_TEXT(_restfpr_19): lfd fp19,-104(r1)
|
yann@1
|
718 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20)
|
yann@1
|
719 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20)
|
yann@1
|
720 |
+C_TEXT(_restf20):
|
yann@1
|
721 |
+C_TEXT(_restfpr_20): lfd fp20,-96(r1)
|
yann@1
|
722 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21)
|
yann@1
|
723 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21)
|
yann@1
|
724 |
+C_TEXT(_restf21):
|
yann@1
|
725 |
+C_TEXT(_restfpr_21): lfd fp21,-88(r1)
|
yann@1
|
726 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22)
|
yann@1
|
727 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22)
|
yann@1
|
728 |
+C_TEXT(_restf22):
|
yann@1
|
729 |
+C_TEXT(_restfpr_22): lfd fp22,-80(r1)
|
yann@1
|
730 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23)
|
yann@1
|
731 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23)
|
yann@1
|
732 |
+C_TEXT(_restf23):
|
yann@1
|
733 |
+C_TEXT(_restfpr_23): lfd fp23,-72(r1)
|
yann@1
|
734 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24)
|
yann@1
|
735 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24)
|
yann@1
|
736 |
+C_TEXT(_restf24):
|
yann@1
|
737 |
+C_TEXT(_restfpr_24): lfd fp24,-64(r1)
|
yann@1
|
738 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25)
|
yann@1
|
739 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25)
|
yann@1
|
740 |
+C_TEXT(_restf25):
|
yann@1
|
741 |
+C_TEXT(_restfpr_25): lfd fp25,-56(r1)
|
yann@1
|
742 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26)
|
yann@1
|
743 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26)
|
yann@1
|
744 |
+C_TEXT(_restf26):
|
yann@1
|
745 |
+C_TEXT(_restfpr_26): lfd fp26,-48(r1)
|
yann@1
|
746 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27)
|
yann@1
|
747 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27)
|
yann@1
|
748 |
+C_TEXT(_restf27):
|
yann@1
|
749 |
+C_TEXT(_restfpr_27): lfd fp27,-40(r1)
|
yann@1
|
750 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28)
|
yann@1
|
751 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28)
|
yann@1
|
752 |
+C_TEXT(_restf28):
|
yann@1
|
753 |
+C_TEXT(_restfpr_28): lfd fp28,-32(r1)
|
yann@1
|
754 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29)
|
yann@1
|
755 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29)
|
yann@1
|
756 |
+C_TEXT(_restf29):
|
yann@1
|
757 |
+C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame
|
yann@1
|
758 |
+ lfd fp29,-24(r1) #restore f29
|
yann@1
|
759 |
+ mtlr r0 #move return address to LR
|
yann@1
|
760 |
+ lfd fp30,-16(r1) #restore f30
|
yann@1
|
761 |
+ lfd fp31,-8(r1) #restore f31
|
yann@1
|
762 |
+ blr #return
|
yann@1
|
763 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fprsave.S glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S
|
yann@1
|
764 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/fprsave.S Wed Dec 31 16:00:00 1969
|
yann@1
|
765 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S Thu Jul 5 21:56:01 2001
|
yann@1
|
766 |
@@ -0,0 +1,93 @@
|
yann@1
|
767 |
+/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
|
yann@1
|
768 |
+ This file is part of the GNU C Library.
|
yann@1
|
769 |
+
|
yann@1
|
770 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
771 |
+ modify it under the terms of the GNU Lesser General Public
|
yann@1
|
772 |
+ License as published by the Free Software Foundation; either
|
yann@1
|
773 |
+ version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
774 |
+
|
yann@1
|
775 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
776 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
777 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
778 |
+ Lesser General Public License for more details.
|
yann@1
|
779 |
+
|
yann@1
|
780 |
+ You should have received a copy of the GNU Lesser General Public
|
yann@1
|
781 |
+ License along with the GNU C Library; if not, write to the Free
|
yann@1
|
782 |
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
783 |
+ 02111-1307 USA. */
|
yann@1
|
784 |
+
|
yann@1
|
785 |
+/*
|
yann@1
|
786 |
+ Floating Point Registers (FPRs) save routine
|
yann@1
|
787 |
+*/
|
yann@1
|
788 |
+
|
yann@1
|
789 |
+#include <sysdep.h>
|
yann@1
|
790 |
+
|
yann@1
|
791 |
+ENTRY(_savefpr_all)
|
yann@1
|
792 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14)
|
yann@1
|
793 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14)
|
yann@1
|
794 |
+C_TEXT(_savef14):
|
yann@1
|
795 |
+C_TEXT(_savefpr_14): stfd fp14,-144(r1)
|
yann@1
|
796 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15)
|
yann@1
|
797 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15)
|
yann@1
|
798 |
+C_TEXT(_savef15):
|
yann@1
|
799 |
+C_TEXT(_savefpr_15): stfd fp15,-136(r1)
|
yann@1
|
800 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16)
|
yann@1
|
801 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16)
|
yann@1
|
802 |
+C_TEXT(_savef16):
|
yann@1
|
803 |
+C_TEXT(_savefpr_16): stfd fp16,-128(r1)
|
yann@1
|
804 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17)
|
yann@1
|
805 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17)
|
yann@1
|
806 |
+C_TEXT(_savef17):
|
yann@1
|
807 |
+C_TEXT(_savefpr_17): stfd fp17,-120(r1)
|
yann@1
|
808 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18)
|
yann@1
|
809 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18)
|
yann@1
|
810 |
+C_TEXT(_savef18):
|
yann@1
|
811 |
+C_TEXT(_savefpr_18): stfd fp18,-112(r1)
|
yann@1
|
812 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19)
|
yann@1
|
813 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19)
|
yann@1
|
814 |
+C_TEXT(_savef19):
|
yann@1
|
815 |
+C_TEXT(_savefpr_19): stfd fp19,-104(r1)
|
yann@1
|
816 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20)
|
yann@1
|
817 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20)
|
yann@1
|
818 |
+C_TEXT(_savef20):
|
yann@1
|
819 |
+C_TEXT(_savefpr_20): stfd fp20,-96(r1)
|
yann@1
|
820 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21)
|
yann@1
|
821 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21)
|
yann@1
|
822 |
+C_TEXT(_savef21):
|
yann@1
|
823 |
+C_TEXT(_savefpr_21): stfd fp21,-88(r1)
|
yann@1
|
824 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22)
|
yann@1
|
825 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22)
|
yann@1
|
826 |
+C_TEXT(_savef22):
|
yann@1
|
827 |
+C_TEXT(_savefpr_22): stfd fp22,-80(r1)
|
yann@1
|
828 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23)
|
yann@1
|
829 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23)
|
yann@1
|
830 |
+C_TEXT(_savef23):
|
yann@1
|
831 |
+C_TEXT(_savefpr_23): stfd fp23,-72(r1)
|
yann@1
|
832 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24)
|
yann@1
|
833 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24)
|
yann@1
|
834 |
+C_TEXT(_savef24):
|
yann@1
|
835 |
+C_TEXT(_savefpr_24): stfd fp24,-64(r1)
|
yann@1
|
836 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25)
|
yann@1
|
837 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25)
|
yann@1
|
838 |
+C_TEXT(_savef25):
|
yann@1
|
839 |
+C_TEXT(_savefpr_25): stfd fp25,-56(r1)
|
yann@1
|
840 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26)
|
yann@1
|
841 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26)
|
yann@1
|
842 |
+C_TEXT(_savef26):
|
yann@1
|
843 |
+C_TEXT(_savefpr_26): stfd fp26,-48(r1)
|
yann@1
|
844 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27)
|
yann@1
|
845 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27)
|
yann@1
|
846 |
+C_TEXT(_savef27):
|
yann@1
|
847 |
+C_TEXT(_savefpr_27): stfd fp27,-40(r1)
|
yann@1
|
848 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28)
|
yann@1
|
849 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28)
|
yann@1
|
850 |
+C_TEXT(_savef28):
|
yann@1
|
851 |
+C_TEXT(_savefpr_28): stfd fp28,-32(r1)
|
yann@1
|
852 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29)
|
yann@1
|
853 |
+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29)
|
yann@1
|
854 |
+C_TEXT(_savef29):
|
yann@1
|
855 |
+C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29
|
yann@1
|
856 |
+ stfd fp30,-16(r1) #save f30
|
yann@1
|
857 |
+ stfd fp31,-8(r1) #save f31
|
yann@1
|
858 |
+ stw r0,8(r1) #save LR in callers frame
|
yann@1
|
859 |
+ blr #return
|
yann@1
|
860 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fpu_control.h glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h
|
yann@1
|
861 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/fpu_control.h Wed Dec 31 16:00:00 1969
|
yann@1
|
862 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h Thu Jul 5 21:56:01 2001
|
yann@1
|
863 |
@@ -0,0 +1,67 @@
|
yann@1
|
864 |
+/* FPU control word definitions. PowerPC version.
|
yann@1
|
865 |
+ Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
yann@1
|
866 |
+ This file is part of the GNU C Library.
|
yann@1
|
867 |
+
|
yann@1
|
868 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
869 |
+ modify it under the terms of the GNU Lesser General Public
|
yann@1
|
870 |
+ License as published by the Free Software Foundation; either
|
yann@1
|
871 |
+ version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
872 |
+
|
yann@1
|
873 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
874 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
875 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
876 |
+ Lesser General Public License for more details.
|
yann@1
|
877 |
+
|
yann@1
|
878 |
+ You should have received a copy of the GNU Lesser General Public
|
yann@1
|
879 |
+ License along with the GNU C Library; if not, write to the Free
|
yann@1
|
880 |
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
881 |
+ 02111-1307 USA. */
|
yann@1
|
882 |
+
|
yann@1
|
883 |
+#ifndef _FPU_CONTROL_H
|
yann@1
|
884 |
+#define _FPU_CONTROL_H
|
yann@1
|
885 |
+
|
yann@1
|
886 |
+/* rounding control */
|
yann@1
|
887 |
+#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
|
yann@1
|
888 |
+#define _FPU_RC_DOWN 0x03
|
yann@1
|
889 |
+#define _FPU_RC_UP 0x02
|
yann@1
|
890 |
+#define _FPU_RC_ZERO 0x01
|
yann@1
|
891 |
+
|
yann@1
|
892 |
+#define _FPU_MASK_NI 0x04 /* non-ieee mode */
|
yann@1
|
893 |
+
|
yann@1
|
894 |
+/* masking of interrupts */
|
yann@1
|
895 |
+#define _FPU_MASK_ZM 0x10 /* zero divide */
|
yann@1
|
896 |
+#define _FPU_MASK_OM 0x40 /* overflow */
|
yann@1
|
897 |
+#define _FPU_MASK_UM 0x20 /* underflow */
|
yann@1
|
898 |
+#define _FPU_MASK_XM 0x08 /* inexact */
|
yann@1
|
899 |
+#define _FPU_MASK_IM 0x80 /* invalid operation */
|
yann@1
|
900 |
+
|
yann@1
|
901 |
+#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
|
yann@1
|
902 |
+
|
yann@1
|
903 |
+/* The fdlibm code requires no interrupts for exceptions. */
|
yann@1
|
904 |
+#define _FPU_DEFAULT 0x00000000 /* Default value. */
|
yann@1
|
905 |
+
|
yann@1
|
906 |
+/* IEEE: same as above, but (some) exceptions;
|
yann@1
|
907 |
+ we leave the 'inexact' exception off.
|
yann@1
|
908 |
+ */
|
yann@1
|
909 |
+#define _FPU_IEEE 0x000000f0
|
yann@1
|
910 |
+
|
yann@1
|
911 |
+/* Type of the control word. */
|
yann@1
|
912 |
+typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
|
yann@1
|
913 |
+
|
yann@1
|
914 |
+/* Macros for accessing the hardware control word. */
|
yann@1
|
915 |
+#define _FPU_GETCW(cw) ( { \
|
yann@1
|
916 |
+ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
|
yann@1
|
917 |
+ __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \
|
yann@1
|
918 |
+ (cw)=tmp.cw[1]; \
|
yann@1
|
919 |
+ tmp.cw[1]; } )
|
yann@1
|
920 |
+#define _FPU_SETCW(cw) { \
|
yann@1
|
921 |
+ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
|
yann@1
|
922 |
+ tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \
|
yann@1
|
923 |
+ tmp.cw[1] = cw; \
|
yann@1
|
924 |
+ __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \
|
yann@1
|
925 |
+}
|
yann@1
|
926 |
+
|
yann@1
|
927 |
+/* Default control word set at startup. */
|
yann@1
|
928 |
+extern fpu_control_t __fpu_control;
|
yann@1
|
929 |
+
|
yann@1
|
930 |
+#endif /* _FPU_CONTROL_H */
|
yann@1
|
931 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/setjmp.S glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S
|
yann@1
|
932 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu/setjmp.S Wed Dec 31 16:00:00 1969
|
yann@1
|
933 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S Thu Jul 10 11:43:44 2003
|
yann@1
|
934 |
@@ -0,0 +1,73 @@
|
yann@1
|
935 |
+/* setjmp for PowerPC.
|
yann@1
|
936 |
+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
|
yann@1
|
937 |
+ This file is part of the GNU C Library.
|
yann@1
|
938 |
+
|
yann@1
|
939 |
+ The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
940 |
+ modify it under the terms of the GNU Library General Public License as
|
yann@1
|
941 |
+ published by the Free Software Foundation; either version 2 of the
|
yann@1
|
942 |
+ License, or (at your option) any later version.
|
yann@1
|
943 |
+
|
yann@1
|
944 |
+ The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
945 |
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
946 |
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
947 |
+ Library General Public License for more details.
|
yann@1
|
948 |
+
|
yann@1
|
949 |
+ You should have received a copy of the GNU Library General Public
|
yann@1
|
950 |
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
|
yann@1
|
951 |
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
yann@1
|
952 |
+ Boston, MA 02111-1307, USA. */
|
yann@1
|
953 |
+
|
yann@1
|
954 |
+#include <sysdep.h>
|
yann@1
|
955 |
+#define _ASM
|
yann@1
|
956 |
+#define _SETJMP_H
|
yann@1
|
957 |
+#include <bits/setjmp.h>
|
yann@1
|
958 |
+#include <bp-sym.h>
|
yann@1
|
959 |
+#include <bp-asm.h>
|
yann@1
|
960 |
+
|
yann@1
|
961 |
+ENTRY (BP_SYM (__sigsetjmp))
|
yann@1
|
962 |
+ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
|
yann@1
|
963 |
+
|
yann@1
|
964 |
+ stw r1,(JB_GPR1*4)(3)
|
yann@1
|
965 |
+ mflr r0
|
yann@1
|
966 |
+ stw r2,(JB_GPR2*4)(3)
|
yann@1
|
967 |
+ stw r14,((JB_GPRS+0)*4)(3)
|
yann@1
|
968 |
+ stfd fp14,((JB_FPRS+0*2)*4)(3)
|
yann@1
|
969 |
+ stw r0,(JB_LR*4)(3)
|
yann@1
|
970 |
+ stw r15,((JB_GPRS+1)*4)(3)
|
yann@1
|
971 |
+ stfd fp15,((JB_FPRS+1*2)*4)(3)
|
yann@1
|
972 |
+ mfcr r0
|
yann@1
|
973 |
+ stw r16,((JB_GPRS+2)*4)(3)
|
yann@1
|
974 |
+ stfd fp16,((JB_FPRS+2*2)*4)(3)
|
yann@1
|
975 |
+ stw r0,(JB_CR*4)(3)
|
yann@1
|
976 |
+ stw r17,((JB_GPRS+3)*4)(3)
|
yann@1
|
977 |
+ stfd fp17,((JB_FPRS+3*2)*4)(3)
|
yann@1
|
978 |
+ stw r18,((JB_GPRS+4)*4)(3)
|
yann@1
|
979 |
+ stfd fp18,((JB_FPRS+4*2)*4)(3)
|
yann@1
|
980 |
+ stw r19,((JB_GPRS+5)*4)(3)
|
yann@1
|
981 |
+ stfd fp19,((JB_FPRS+5*2)*4)(3)
|
yann@1
|
982 |
+ stw r20,((JB_GPRS+6)*4)(3)
|
yann@1
|
983 |
+ stfd fp20,((JB_FPRS+6*2)*4)(3)
|
yann@1
|
984 |
+ stw r21,((JB_GPRS+7)*4)(3)
|
yann@1
|
985 |
+ stfd fp21,((JB_FPRS+7*2)*4)(3)
|
yann@1
|
986 |
+ stw r22,((JB_GPRS+8)*4)(3)
|
yann@1
|
987 |
+ stfd fp22,((JB_FPRS+8*2)*4)(3)
|
yann@1
|
988 |
+ stw r23,((JB_GPRS+9)*4)(3)
|
yann@1
|
989 |
+ stfd fp23,((JB_FPRS+9*2)*4)(3)
|
yann@1
|
990 |
+ stw r24,((JB_GPRS+10)*4)(3)
|
yann@1
|
991 |
+ stfd fp24,((JB_FPRS+10*2)*4)(3)
|
yann@1
|
992 |
+ stw r25,((JB_GPRS+11)*4)(3)
|
yann@1
|
993 |
+ stfd fp25,((JB_FPRS+11*2)*4)(3)
|
yann@1
|
994 |
+ stw r26,((JB_GPRS+12)*4)(3)
|
yann@1
|
995 |
+ stfd fp26,((JB_FPRS+12*2)*4)(3)
|
yann@1
|
996 |
+ stw r27,((JB_GPRS+13)*4)(3)
|
yann@1
|
997 |
+ stfd fp27,((JB_FPRS+13*2)*4)(3)
|
yann@1
|
998 |
+ stw r28,((JB_GPRS+14)*4)(3)
|
yann@1
|
999 |
+ stfd fp28,((JB_FPRS+14*2)*4)(3)
|
yann@1
|
1000 |
+ stw r29,((JB_GPRS+15)*4)(3)
|
yann@1
|
1001 |
+ stfd fp29,((JB_FPRS+15*2)*4)(3)
|
yann@1
|
1002 |
+ stw r30,((JB_GPRS+16)*4)(3)
|
yann@1
|
1003 |
+ stfd fp30,((JB_FPRS+16*2)*4)(3)
|
yann@1
|
1004 |
+ stw r31,((JB_GPRS+17)*4)(3)
|
yann@1
|
1005 |
+ stfd fp31,((JB_FPRS+17*2)*4)(3)
|
yann@1
|
1006 |
+ b JUMPTARGET (BP_SYM (__sigjmp_save))
|
yann@1
|
1007 |
+END (BP_SYM (__sigsetjmp))
|
yann@1
|
1008 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu_control.h glibc-2.2.5/sysdeps/powerpc/fpu_control.h
|
yann@1
|
1009 |
--- glibc-2.2.5.old/sysdeps/powerpc/fpu_control.h Thu Jul 5 21:56:01 2001
|
yann@1
|
1010 |
+++ glibc-2.2.5/sysdeps/powerpc/fpu_control.h Wed Dec 31 16:00:00 1969
|
yann@1
|
1011 |
@@ -1,67 +0,0 @@
|
yann@1
|
1012 |
-/* FPU control word definitions. PowerPC version.
|
yann@1
|
1013 |
- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
|
yann@1
|
1014 |
- This file is part of the GNU C Library.
|
yann@1
|
1015 |
-
|
yann@1
|
1016 |
- The GNU C Library is free software; you can redistribute it and/or
|
yann@1
|
1017 |
- modify it under the terms of the GNU Lesser General Public
|
yann@1
|
1018 |
- License as published by the Free Software Foundation; either
|
yann@1
|
1019 |
- version 2.1 of the License, or (at your option) any later version.
|
yann@1
|
1020 |
-
|
yann@1
|
1021 |
- The GNU C Library is distributed in the hope that it will be useful,
|
yann@1
|
1022 |
- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
yann@1
|
1023 |
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
yann@1
|
1024 |
- Lesser General Public License for more details.
|
yann@1
|
1025 |
-
|
yann@1
|
1026 |
- You should have received a copy of the GNU Lesser General Public
|
yann@1
|
1027 |
- License along with the GNU C Library; if not, write to the Free
|
yann@1
|
1028 |
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
yann@1
|
1029 |
- 02111-1307 USA. */
|
yann@1
|
1030 |
-
|
yann@1
|
1031 |
-#ifndef _FPU_CONTROL_H
|
yann@1
|
1032 |
-#define _FPU_CONTROL_H
|
yann@1
|
1033 |
-
|
yann@1
|
1034 |
-/* rounding control */
|
yann@1
|
1035 |
-#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
|
yann@1
|
1036 |
-#define _FPU_RC_DOWN 0x03
|
yann@1
|
1037 |
-#define _FPU_RC_UP 0x02
|
yann@1
|
1038 |
-#define _FPU_RC_ZERO 0x01
|
yann@1
|
1039 |
-
|
yann@1
|
1040 |
-#define _FPU_MASK_NI 0x04 /* non-ieee mode */
|
yann@1
|
1041 |
-
|
yann@1
|
1042 |
-/* masking of interrupts */
|
yann@1
|
1043 |
-#define _FPU_MASK_ZM 0x10 /* zero divide */
|
yann@1
|
1044 |
-#define _FPU_MASK_OM 0x40 /* overflow */
|
yann@1
|
1045 |
-#define _FPU_MASK_UM 0x20 /* underflow */
|
yann@1
|
1046 |
-#define _FPU_MASK_XM 0x08 /* inexact */
|
yann@1
|
1047 |
-#define _FPU_MASK_IM 0x80 /* invalid operation */
|
yann@1
|
1048 |
-
|
yann@1
|
1049 |
-#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
|
yann@1
|
1050 |
-
|
yann@1
|
1051 |
-/* The fdlibm code requires no interrupts for exceptions. */
|
yann@1
|
1052 |
-#define _FPU_DEFAULT 0x00000000 /* Default value. */
|
yann@1
|
1053 |
-
|
yann@1
|
1054 |
-/* IEEE: same as above, but (some) exceptions;
|
yann@1
|
1055 |
- we leave the 'inexact' exception off.
|
yann@1
|
1056 |
- */
|
yann@1
|
1057 |
-#define _FPU_IEEE 0x000000f0
|
yann@1
|
1058 |
-
|
yann@1
|
1059 |
-/* Type of the control word. */
|
yann@1
|
1060 |
-typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
|
yann@1
|
1061 |
-
|
yann@1
|
1062 |
-/* Macros for accessing the hardware control word. */
|
yann@1
|
1063 |
-#define _FPU_GETCW(cw) ( { \
|
yann@1
|
1064 |
- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
|
yann@1
|
1065 |
- __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \
|
yann@1
|
1066 |
- (cw)=tmp.cw[1]; \
|
yann@1
|
1067 |
- tmp.cw[1]; } )
|
yann@1
|
1068 |
-#define _FPU_SETCW(cw) { \
|
yann@1
|
1069 |
- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
|
yann@1
|
1070 |
- tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \
|
yann@1
|
1071 |
- tmp.cw[1] = cw; \
|
yann@1
|
1072 |
- __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \
|
yann@1
|
1073 |
-}
|
yann@1
|
1074 |
-
|
yann@1
|
1075 |
-/* Default control word set at startup. */
|
yann@1
|
1076 |
-extern fpu_control_t __fpu_control;
|
yann@1
|
1077 |
-
|
yann@1
|
1078 |
-#endif /* _FPU_CONTROL_H */
|
yann@1
|
1079 |
diff -Naur glibc-2.2.5.old/sysdeps/powerpc/setjmp.S glibc-2.2.5/sysdeps/powerpc/setjmp.S
|
yann@1
|
1080 |
--- glibc-2.2.5.old/sysdeps/powerpc/setjmp.S Thu Jul 5 21:56:01 2001
|
yann@1
|
1081 |
+++ glibc-2.2.5/sysdeps/powerpc/setjmp.S Thu Jul 10 11:43:44 2003
|
yann@1
|
1082 |
@@ -24,6 +24,8 @@
|
yann@1
|
1083 |
#include <bp-sym.h>
|
yann@1
|
1084 |
#include <bp-asm.h>
|
yann@1
|
1085 |
|
yann@1
|
1086 |
+/* The FPU stores have been removed from this file - see fpu/setjmp.S */
|
yann@1
|
1087 |
+
|
yann@1
|
1088 |
ENTRY (BP_SYM (__sigsetjmp))
|
yann@1
|
1089 |
CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
|
yann@1
|
1090 |
|
yann@1
|
1091 |
@@ -31,43 +33,25 @@
|
yann@1
|
1092 |
mflr r0
|
yann@1
|
1093 |
stw r2,(JB_GPR2*4)(3)
|
yann@1
|
1094 |
stw r14,((JB_GPRS+0)*4)(3)
|
yann@1
|
1095 |
- stfd fp14,((JB_FPRS+0*2)*4)(3)
|
yann@1
|
1096 |
stw r0,(JB_LR*4)(3)
|
yann@1
|
1097 |
stw r15,((JB_GPRS+1)*4)(3)
|
yann@1
|
1098 |
- stfd fp15,((JB_FPRS+1*2)*4)(3)
|
yann@1
|
1099 |
mfcr r0
|
yann@1
|
1100 |
stw r16,((JB_GPRS+2)*4)(3)
|
yann@1
|
1101 |
- stfd fp16,((JB_FPRS+2*2)*4)(3)
|
yann@1
|
1102 |
stw r0,(JB_CR*4)(3)
|
yann@1
|
1103 |
stw r17,((JB_GPRS+3)*4)(3)
|
yann@1
|
1104 |
- stfd fp17,((JB_FPRS+3*2)*4)(3)
|
yann@1
|
1105 |
stw r18,((JB_GPRS+4)*4)(3)
|
yann@1
|
1106 |
- stfd fp18,((JB_FPRS+4*2)*4)(3)
|
yann@1
|
1107 |
stw r19,((JB_GPRS+5)*4)(3)
|
yann@1
|
1108 |
- stfd fp19,((JB_FPRS+5*2)*4)(3)
|
yann@1
|
1109 |
stw r20,((JB_GPRS+6)*4)(3)
|
yann@1
|
1110 |
- stfd fp20,((JB_FPRS+6*2)*4)(3)
|
yann@1
|
1111 |
stw r21,((JB_GPRS+7)*4)(3)
|
yann@1
|
1112 |
- stfd fp21,((JB_FPRS+7*2)*4)(3)
|
yann@1
|
1113 |
stw r22,((JB_GPRS+8)*4)(3)
|
yann@1
|
1114 |
- stfd fp22,((JB_FPRS+8*2)*4)(3)
|
yann@1
|
1115 |
stw r23,((JB_GPRS+9)*4)(3)
|
yann@1
|
1116 |
- stfd fp23,((JB_FPRS+9*2)*4)(3)
|
yann@1
|
1117 |
stw r24,((JB_GPRS+10)*4)(3)
|
yann@1
|
1118 |
- stfd fp24,((JB_FPRS+10*2)*4)(3)
|
yann@1
|
1119 |
stw r25,((JB_GPRS+11)*4)(3)
|
yann@1
|
1120 |
- stfd fp25,((JB_FPRS+11*2)*4)(3)
|
yann@1
|
1121 |
stw r26,((JB_GPRS+12)*4)(3)
|
yann@1
|
1122 |
- stfd fp26,((JB_FPRS+12*2)*4)(3)
|
yann@1
|
1123 |
stw r27,((JB_GPRS+13)*4)(3)
|
yann@1
|
1124 |
- stfd fp27,((JB_FPRS+13*2)*4)(3)
|
yann@1
|
1125 |
stw r28,((JB_GPRS+14)*4)(3)
|
yann@1
|
1126 |
- stfd fp28,((JB_FPRS+14*2)*4)(3)
|
yann@1
|
1127 |
stw r29,((JB_GPRS+15)*4)(3)
|
yann@1
|
1128 |
- stfd fp29,((JB_FPRS+15*2)*4)(3)
|
yann@1
|
1129 |
stw r30,((JB_GPRS+16)*4)(3)
|
yann@1
|
1130 |
- stfd fp30,((JB_FPRS+16*2)*4)(3)
|
yann@1
|
1131 |
stw r31,((JB_GPRS+17)*4)(3)
|
yann@1
|
1132 |
- stfd fp31,((JB_FPRS+17*2)*4)(3)
|
yann@1
|
1133 |
b JUMPTARGET (BP_SYM (__sigjmp_save))
|
yann@1
|
1134 |
END (BP_SYM (__sigsetjmp))
|