1.1 --- a/patches/glibc/2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch Tue Aug 14 19:32:22 2007 +0000
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,1134 +0,0 @@
1.4 -# See http://sources.redhat.com/ml/crossgcc/2002-05/msg00132.html
1.5 -# This patch is taken directly from the Montavista Hard Hat Linux 2.0 source RPMs,
1.6 -# but has been rediffed against glibc-2.2.5
1.7 -
1.8 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Dist glibc-2.2.5/sysdeps/powerpc/Dist
1.9 ---- glibc-2.2.5.old/sysdeps/powerpc/Dist Fri Jun 30 23:30:21 2000
1.10 -+++ glibc-2.2.5/sysdeps/powerpc/Dist Thu Jul 10 11:43:17 2003
1.11 -@@ -1,9 +1,6 @@
1.12 - dl-machine.c
1.13 - dl-start.S
1.14 - ppc-mcount.S
1.15 --fe_nomask.c
1.16 --fprrest.S
1.17 --fprsave.S
1.18 - gprsave1.S
1.19 - gprsave0.S
1.20 - gprrest1.S
1.21 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Makefile glibc-2.2.5/sysdeps/powerpc/Makefile
1.22 ---- glibc-2.2.5.old/sysdeps/powerpc/Makefile Mon Nov 27 15:32:47 2000
1.23 -+++ glibc-2.2.5/sysdeps/powerpc/Makefile Thu Jul 10 11:43:17 2003
1.24 -@@ -3,16 +3,12 @@
1.25 - +cflags += -mnew-mnemonics -Wa,-mppc -mpowerpc
1.26 - asm-CPPFLAGS += -Wa,-mppc
1.27 -
1.28 --ifeq ($(subdir),math)
1.29 --libm-support += fenv_const fe_nomask
1.30 --endif
1.31 --
1.32 - ifeq ($(subdir),gmon)
1.33 - sysdep_routines += ppc-mcount
1.34 - endif
1.35 -
1.36 - ifeq ($(subdir),misc)
1.37 --sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1 fprsave fprrest
1.38 -+sysdep_routines += gprsave0 gprrest0 gprsave1 gprrest1
1.39 - endif
1.40 -
1.41 - # On PPC, -fpic works until the GOT contains 2^15 bytes, and possibly
1.42 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/Versions glibc-2.2.5/sysdeps/powerpc/Versions
1.43 ---- glibc-2.2.5.old/sysdeps/powerpc/Versions Mon Feb 28 13:27:57 2000
1.44 -+++ glibc-2.2.5/sysdeps/powerpc/Versions Thu Jul 10 11:43:17 2003
1.45 -@@ -1,8 +1,4 @@
1.46 - libm {
1.47 -- GLIBC_2.1 {
1.48 -- # symbols used in macros from sysdeps/powerpc/bits/fenv.h
1.49 -- __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
1.50 -- }
1.51 - GLIBC_2.2 {
1.52 - # Special functions to save and restore registers used by the
1.53 - # runtime libraries.
1.54 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/__longjmp.S glibc-2.2.5/sysdeps/powerpc/__longjmp.S
1.55 ---- glibc-2.2.5.old/sysdeps/powerpc/__longjmp.S Thu Jul 5 21:56:01 2001
1.56 -+++ glibc-2.2.5/sysdeps/powerpc/__longjmp.S Thu Jul 10 11:43:17 2003
1.57 -@@ -24,6 +24,8 @@
1.58 - #include <bp-sym.h>
1.59 - #include <bp-asm.h>
1.60 -
1.61 -+/* The FPU loads have been removed from this file - see fpu/__longjmp.S */
1.62 -+
1.63 - ENTRY (BP_SYM (__longjmp))
1.64 - CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
1.65 -
1.66 -@@ -31,44 +33,26 @@
1.67 - lwz r2,(JB_GPR2*4)(r3)
1.68 - lwz r0,(JB_LR*4)(r3)
1.69 - lwz r14,((JB_GPRS+0)*4)(r3)
1.70 -- lfd fp14,((JB_FPRS+0*2)*4)(r3)
1.71 - lwz r15,((JB_GPRS+1)*4)(r3)
1.72 -- lfd fp15,((JB_FPRS+1*2)*4)(r3)
1.73 - lwz r16,((JB_GPRS+2)*4)(r3)
1.74 -- lfd fp16,((JB_FPRS+2*2)*4)(r3)
1.75 - lwz r17,((JB_GPRS+3)*4)(r3)
1.76 -- lfd fp17,((JB_FPRS+3*2)*4)(r3)
1.77 - lwz r18,((JB_GPRS+4)*4)(r3)
1.78 -- lfd fp18,((JB_FPRS+4*2)*4)(r3)
1.79 - lwz r19,((JB_GPRS+5)*4)(r3)
1.80 -- lfd fp19,((JB_FPRS+5*2)*4)(r3)
1.81 - lwz r20,((JB_GPRS+6)*4)(r3)
1.82 -- lfd fp20,((JB_FPRS+6*2)*4)(r3)
1.83 - mtlr r0
1.84 - lwz r21,((JB_GPRS+7)*4)(r3)
1.85 -- lfd fp21,((JB_FPRS+7*2)*4)(r3)
1.86 - lwz r22,((JB_GPRS+8)*4)(r3)
1.87 -- lfd fp22,((JB_FPRS+8*2)*4)(r3)
1.88 - lwz r0,(JB_CR*4)(r3)
1.89 - lwz r23,((JB_GPRS+9)*4)(r3)
1.90 -- lfd fp23,((JB_FPRS+9*2)*4)(r3)
1.91 - lwz r24,((JB_GPRS+10)*4)(r3)
1.92 -- lfd fp24,((JB_FPRS+10*2)*4)(r3)
1.93 - lwz r25,((JB_GPRS+11)*4)(r3)
1.94 -- lfd fp25,((JB_FPRS+11*2)*4)(r3)
1.95 - mtcrf 0xFF,r0
1.96 - lwz r26,((JB_GPRS+12)*4)(r3)
1.97 -- lfd fp26,((JB_FPRS+12*2)*4)(r3)
1.98 - lwz r27,((JB_GPRS+13)*4)(r3)
1.99 -- lfd fp27,((JB_FPRS+13*2)*4)(r3)
1.100 - lwz r28,((JB_GPRS+14)*4)(r3)
1.101 -- lfd fp28,((JB_FPRS+14*2)*4)(r3)
1.102 - lwz r29,((JB_GPRS+15)*4)(r3)
1.103 -- lfd fp29,((JB_FPRS+15*2)*4)(r3)
1.104 - lwz r30,((JB_GPRS+16)*4)(r3)
1.105 -- lfd fp30,((JB_FPRS+16*2)*4)(r3)
1.106 - lwz r31,((JB_GPRS+17)*4)(r3)
1.107 -- lfd fp31,((JB_FPRS+17*2)*4)(r3)
1.108 - mr r3,r4
1.109 - blr
1.110 - END (BP_SYM (__longjmp))
1.111 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/bits/setjmp.h glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h
1.112 ---- glibc-2.2.5.old/sysdeps/powerpc/bits/setjmp.h Thu Jul 5 21:56:01 2001
1.113 -+++ glibc-2.2.5/sysdeps/powerpc/bits/setjmp.h Thu Jul 10 11:43:17 2003
1.114 -@@ -17,6 +17,7 @@
1.115 - 02111-1307 USA. */
1.116 -
1.117 - /* Define the machine-dependent type `jmp_buf'. PowerPC version. */
1.118 -+/* For processors without floating point. */
1.119 -
1.120 - #ifndef _SETJMP_H
1.121 - # error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
1.122 -@@ -33,12 +34,11 @@
1.123 - # define JB_LR 2 /* The address we will return to */
1.124 - # define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
1.125 - # define JB_CR 21 /* Condition code registers. */
1.126 --# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
1.127 --# define JB_SIZE (58*4)
1.128 -+# define JB_SIZE (22*4)
1.129 - #endif
1.130 -
1.131 - #ifndef _ASM
1.132 --typedef long int __jmp_buf[58];
1.133 -+typedef long int __jmp_buf[22];
1.134 - #endif
1.135 -
1.136 - /* Test if longjmp to JMPBUF would unwind the frame
1.137 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fclrexcpt.c glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c
1.138 ---- glibc-2.2.5.old/sysdeps/powerpc/fclrexcpt.c Thu Jul 5 21:56:01 2001
1.139 -+++ glibc-2.2.5/sysdeps/powerpc/fclrexcpt.c Wed Dec 31 16:00:00 1969
1.140 -@@ -1,48 +0,0 @@
1.141 --/* Clear given exceptions in current floating-point environment.
1.142 -- Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
1.143 -- This file is part of the GNU C Library.
1.144 --
1.145 -- The GNU C Library is free software; you can redistribute it and/or
1.146 -- modify it under the terms of the GNU Lesser General Public
1.147 -- License as published by the Free Software Foundation; either
1.148 -- version 2.1 of the License, or (at your option) any later version.
1.149 --
1.150 -- The GNU C Library is distributed in the hope that it will be useful,
1.151 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
1.152 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.153 -- Lesser General Public License for more details.
1.154 --
1.155 -- You should have received a copy of the GNU Lesser General Public
1.156 -- License along with the GNU C Library; if not, write to the Free
1.157 -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.158 -- 02111-1307 USA. */
1.159 --
1.160 --#include <fenv_libc.h>
1.161 --
1.162 --#undef feclearexcept
1.163 --int
1.164 --__feclearexcept (int excepts)
1.165 --{
1.166 -- fenv_union_t u;
1.167 --
1.168 -- /* Get the current state. */
1.169 -- u.fenv = fegetenv_register ();
1.170 --
1.171 -- /* Clear the relevant bits. */
1.172 -- u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID)
1.173 -- | (excepts & FPSCR_STICKY_BITS));
1.174 --
1.175 -- /* Put the new state in effect. */
1.176 -- fesetenv_register (u.fenv);
1.177 --
1.178 -- /* Success. */
1.179 -- return 0;
1.180 --}
1.181 --
1.182 --#include <shlib-compat.h>
1.183 --#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
1.184 --strong_alias (__feclearexcept, __old_feclearexcept)
1.185 --compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
1.186 --#endif
1.187 --
1.188 --versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
1.189 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fe_nomask.c glibc-2.2.5/sysdeps/powerpc/fe_nomask.c
1.190 ---- glibc-2.2.5.old/sysdeps/powerpc/fe_nomask.c Thu Jul 5 21:56:01 2001
1.191 -+++ glibc-2.2.5/sysdeps/powerpc/fe_nomask.c Wed Dec 31 16:00:00 1969
1.192 -@@ -1,32 +0,0 @@
1.193 --/* Procedure definition for FE_NOMASK_ENV.
1.194 -- Copyright (C) 1997 Free Software Foundation, Inc.
1.195 -- This file is part of the GNU C Library.
1.196 --
1.197 -- The GNU C Library is free software; you can redistribute it and/or
1.198 -- modify it under the terms of the GNU Lesser General Public
1.199 -- License as published by the Free Software Foundation; either
1.200 -- version 2.1 of the License, or (at your option) any later version.
1.201 --
1.202 -- The GNU C Library is distributed in the hope that it will be useful,
1.203 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
1.204 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.205 -- Lesser General Public License for more details.
1.206 --
1.207 -- You should have received a copy of the GNU Lesser General Public
1.208 -- License along with the GNU C Library; if not, write to the Free
1.209 -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.210 -- 02111-1307 USA. */
1.211 --
1.212 --#include <fenv.h>
1.213 --#include <errno.h>
1.214 --
1.215 --/* This is presently a stub, until it's decided how the kernels should
1.216 -- support this. */
1.217 --
1.218 --const fenv_t *
1.219 --__fe_nomask_env(void)
1.220 --{
1.221 -- __set_errno (ENOSYS);
1.222 -- return FE_ENABLED_ENV;
1.223 --}
1.224 --stub_warning (__fe_nomask_env)
1.225 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fprrest.S glibc-2.2.5/sysdeps/powerpc/fprrest.S
1.226 ---- glibc-2.2.5.old/sysdeps/powerpc/fprrest.S Thu Jul 5 21:56:01 2001
1.227 -+++ glibc-2.2.5/sysdeps/powerpc/fprrest.S Wed Dec 31 16:00:00 1969
1.228 -@@ -1,94 +0,0 @@
1.229 --/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
1.230 -- This file is part of the GNU C Library.
1.231 --
1.232 -- The GNU C Library is free software; you can redistribute it and/or
1.233 -- modify it under the terms of the GNU Lesser General Public
1.234 -- License as published by the Free Software Foundation; either
1.235 -- version 2.1 of the License, or (at your option) any later version.
1.236 --
1.237 -- The GNU C Library is distributed in the hope that it will be useful,
1.238 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
1.239 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.240 -- Lesser General Public License for more details.
1.241 --
1.242 -- You should have received a copy of the GNU Lesser General Public
1.243 -- License along with the GNU C Library; if not, write to the Free
1.244 -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.245 -- 02111-1307 USA. */
1.246 --
1.247 --/*
1.248 -- Floating Point Registers (FPRs) restore routine
1.249 --*/
1.250 --
1.251 --#include <sysdep.h>
1.252 --
1.253 --ENTRY(_restfpr_all)
1.254 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14)
1.255 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14)
1.256 --C_TEXT(_restf14):
1.257 --C_TEXT(_restfpr_14): lfd fp14,-144(r1)
1.258 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15)
1.259 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15)
1.260 --C_TEXT(_restf15):
1.261 --C_TEXT(_restfpr_15): lfd fp15,-136(r1)
1.262 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16)
1.263 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16)
1.264 --C_TEXT(_restf16):
1.265 --C_TEXT(_restfpr_16): lfd fp16,-128(r1)
1.266 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17)
1.267 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17)
1.268 --C_TEXT(_restf17):
1.269 --C_TEXT(_restfpr_17): lfd fp17,-120(r1)
1.270 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18)
1.271 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18)
1.272 --C_TEXT(_restf18):
1.273 --C_TEXT(_restfpr_18): lfd fp18,-112(r1)
1.274 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19)
1.275 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19)
1.276 --C_TEXT(_restf19):
1.277 --C_TEXT(_restfpr_19): lfd fp19,-104(r1)
1.278 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20)
1.279 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20)
1.280 --C_TEXT(_restf20):
1.281 --C_TEXT(_restfpr_20): lfd fp20,-96(r1)
1.282 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21)
1.283 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21)
1.284 --C_TEXT(_restf21):
1.285 --C_TEXT(_restfpr_21): lfd fp21,-88(r1)
1.286 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22)
1.287 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22)
1.288 --C_TEXT(_restf22):
1.289 --C_TEXT(_restfpr_22): lfd fp22,-80(r1)
1.290 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23)
1.291 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23)
1.292 --C_TEXT(_restf23):
1.293 --C_TEXT(_restfpr_23): lfd fp23,-72(r1)
1.294 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24)
1.295 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24)
1.296 --C_TEXT(_restf24):
1.297 --C_TEXT(_restfpr_24): lfd fp24,-64(r1)
1.298 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25)
1.299 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25)
1.300 --C_TEXT(_restf25):
1.301 --C_TEXT(_restfpr_25): lfd fp25,-56(r1)
1.302 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26)
1.303 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26)
1.304 --C_TEXT(_restf26):
1.305 --C_TEXT(_restfpr_26): lfd fp26,-48(r1)
1.306 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27)
1.307 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27)
1.308 --C_TEXT(_restf27):
1.309 --C_TEXT(_restfpr_27): lfd fp27,-40(r1)
1.310 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28)
1.311 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28)
1.312 --C_TEXT(_restf28):
1.313 --C_TEXT(_restfpr_28): lfd fp28,-32(r1)
1.314 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29)
1.315 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29)
1.316 --C_TEXT(_restf29):
1.317 --C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame
1.318 -- lfd fp29,-24(r1) #restore f29
1.319 -- mtlr r0 #move return address to LR
1.320 -- lfd fp30,-16(r1) #restore f30
1.321 -- lfd fp31,-8(r1) #restore f31
1.322 -- blr #return
1.323 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fprsave.S glibc-2.2.5/sysdeps/powerpc/fprsave.S
1.324 ---- glibc-2.2.5.old/sysdeps/powerpc/fprsave.S Thu Jul 5 21:56:01 2001
1.325 -+++ glibc-2.2.5/sysdeps/powerpc/fprsave.S Wed Dec 31 16:00:00 1969
1.326 -@@ -1,93 +0,0 @@
1.327 --/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
1.328 -- This file is part of the GNU C Library.
1.329 --
1.330 -- The GNU C Library is free software; you can redistribute it and/or
1.331 -- modify it under the terms of the GNU Lesser General Public
1.332 -- License as published by the Free Software Foundation; either
1.333 -- version 2.1 of the License, or (at your option) any later version.
1.334 --
1.335 -- The GNU C Library is distributed in the hope that it will be useful,
1.336 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
1.337 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.338 -- Lesser General Public License for more details.
1.339 --
1.340 -- You should have received a copy of the GNU Lesser General Public
1.341 -- License along with the GNU C Library; if not, write to the Free
1.342 -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.343 -- 02111-1307 USA. */
1.344 --
1.345 --/*
1.346 -- Floating Point Registers (FPRs) save routine
1.347 --*/
1.348 --
1.349 --#include <sysdep.h>
1.350 --
1.351 --ENTRY(_savefpr_all)
1.352 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14)
1.353 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14)
1.354 --C_TEXT(_savef14):
1.355 --C_TEXT(_savefpr_14): stfd fp14,-144(r1)
1.356 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15)
1.357 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15)
1.358 --C_TEXT(_savef15):
1.359 --C_TEXT(_savefpr_15): stfd fp15,-136(r1)
1.360 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16)
1.361 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16)
1.362 --C_TEXT(_savef16):
1.363 --C_TEXT(_savefpr_16): stfd fp16,-128(r1)
1.364 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17)
1.365 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17)
1.366 --C_TEXT(_savef17):
1.367 --C_TEXT(_savefpr_17): stfd fp17,-120(r1)
1.368 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18)
1.369 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18)
1.370 --C_TEXT(_savef18):
1.371 --C_TEXT(_savefpr_18): stfd fp18,-112(r1)
1.372 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19)
1.373 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19)
1.374 --C_TEXT(_savef19):
1.375 --C_TEXT(_savefpr_19): stfd fp19,-104(r1)
1.376 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20)
1.377 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20)
1.378 --C_TEXT(_savef20):
1.379 --C_TEXT(_savefpr_20): stfd fp20,-96(r1)
1.380 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21)
1.381 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21)
1.382 --C_TEXT(_savef21):
1.383 --C_TEXT(_savefpr_21): stfd fp21,-88(r1)
1.384 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22)
1.385 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22)
1.386 --C_TEXT(_savef22):
1.387 --C_TEXT(_savefpr_22): stfd fp22,-80(r1)
1.388 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23)
1.389 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23)
1.390 --C_TEXT(_savef23):
1.391 --C_TEXT(_savefpr_23): stfd fp23,-72(r1)
1.392 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24)
1.393 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24)
1.394 --C_TEXT(_savef24):
1.395 --C_TEXT(_savefpr_24): stfd fp24,-64(r1)
1.396 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25)
1.397 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25)
1.398 --C_TEXT(_savef25):
1.399 --C_TEXT(_savefpr_25): stfd fp25,-56(r1)
1.400 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26)
1.401 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26)
1.402 --C_TEXT(_savef26):
1.403 --C_TEXT(_savefpr_26): stfd fp26,-48(r1)
1.404 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27)
1.405 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27)
1.406 --C_TEXT(_savef27):
1.407 --C_TEXT(_savefpr_27): stfd fp27,-40(r1)
1.408 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28)
1.409 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28)
1.410 --C_TEXT(_savef28):
1.411 --C_TEXT(_savefpr_28): stfd fp28,-32(r1)
1.412 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29)
1.413 -- ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29)
1.414 --C_TEXT(_savef29):
1.415 --C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29
1.416 -- stfd fp30,-16(r1) #save f30
1.417 -- stfd fp31,-8(r1) #save f31
1.418 -- stw r0,8(r1) #save LR in callers frame
1.419 -- blr #return
1.420 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Dist glibc-2.2.5/sysdeps/powerpc/fpu/Dist
1.421 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/Dist Wed Jan 26 17:48:02 2000
1.422 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/Dist Thu Jul 10 11:43:17 2003
1.423 -@@ -1,3 +1,6 @@
1.424 -+fe_nomask.c
1.425 -+fprrest.S
1.426 -+fprsave.S
1.427 - fenv_const.c
1.428 - fenv_libc.h
1.429 - t_sqrt.c
1.430 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Makefile glibc-2.2.5/sysdeps/powerpc/fpu/Makefile
1.431 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/Makefile Mon Oct 11 15:29:00 1999
1.432 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/Makefile Thu Jul 10 11:43:17 2003
1.433 -@@ -1,3 +1,7 @@
1.434 - ifeq ($(subdir),math)
1.435 - libm-support += fenv_const fe_nomask t_sqrt
1.436 - endif
1.437 -+
1.438 -+ifeq ($(subdir),misc)
1.439 -+sysdep_routines += fprsave fprrest
1.440 -+endif
1.441 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/Versions glibc-2.2.5/sysdeps/powerpc/fpu/Versions
1.442 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/Versions Wed Dec 31 16:00:00 1969
1.443 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/Versions Thu Jul 10 11:43:17 2003
1.444 -@@ -0,0 +1,6 @@
1.445 -+libm {
1.446 -+ GLIBC_2.1 {
1.447 -+ # symbols used in macros from sysdeps/powerpc/bits/fenv.h
1.448 -+ __fe_dfl_env; __fe_enabled_env; __fe_nonieee_env; __fe_nomask_env;
1.449 -+ }
1.450 -+}
1.451 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/__longjmp.S glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S
1.452 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/__longjmp.S Wed Dec 31 16:00:00 1969
1.453 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/__longjmp.S Thu Jul 10 11:43:17 2003
1.454 -@@ -0,0 +1,74 @@
1.455 -+/* longjmp for PowerPC.
1.456 -+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
1.457 -+ This file is part of the GNU C Library.
1.458 -+
1.459 -+ The GNU C Library is free software; you can redistribute it and/or
1.460 -+ modify it under the terms of the GNU Library General Public License as
1.461 -+ published by the Free Software Foundation; either version 2 of the
1.462 -+ License, or (at your option) any later version.
1.463 -+
1.464 -+ The GNU C Library is distributed in the hope that it will be useful,
1.465 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.466 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.467 -+ Library General Public License for more details.
1.468 -+
1.469 -+ You should have received a copy of the GNU Library General Public
1.470 -+ License along with the GNU C Library; see the file COPYING.LIB. If not,
1.471 -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1.472 -+ Boston, MA 02111-1307, USA. */
1.473 -+
1.474 -+#include <sysdep.h>
1.475 -+#define _ASM
1.476 -+#define _SETJMP_H
1.477 -+#include <bits/setjmp.h>
1.478 -+#include <bp-sym.h>
1.479 -+#include <bp-asm.h>
1.480 -+
1.481 -+ENTRY (BP_SYM (__longjmp))
1.482 -+ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
1.483 -+
1.484 -+ lwz r1,(JB_GPR1*4)(r3)
1.485 -+ lwz r2,(JB_GPR2*4)(r3)
1.486 -+ lwz r0,(JB_LR*4)(r3)
1.487 -+ lwz r14,((JB_GPRS+0)*4)(r3)
1.488 -+ lfd fp14,((JB_FPRS+0*2)*4)(r3)
1.489 -+ lwz r15,((JB_GPRS+1)*4)(r3)
1.490 -+ lfd fp15,((JB_FPRS+1*2)*4)(r3)
1.491 -+ lwz r16,((JB_GPRS+2)*4)(r3)
1.492 -+ lfd fp16,((JB_FPRS+2*2)*4)(r3)
1.493 -+ lwz r17,((JB_GPRS+3)*4)(r3)
1.494 -+ lfd fp17,((JB_FPRS+3*2)*4)(r3)
1.495 -+ lwz r18,((JB_GPRS+4)*4)(r3)
1.496 -+ lfd fp18,((JB_FPRS+4*2)*4)(r3)
1.497 -+ lwz r19,((JB_GPRS+5)*4)(r3)
1.498 -+ lfd fp19,((JB_FPRS+5*2)*4)(r3)
1.499 -+ lwz r20,((JB_GPRS+6)*4)(r3)
1.500 -+ lfd fp20,((JB_FPRS+6*2)*4)(r3)
1.501 -+ mtlr r0
1.502 -+ lwz r21,((JB_GPRS+7)*4)(r3)
1.503 -+ lfd fp21,((JB_FPRS+7*2)*4)(r3)
1.504 -+ lwz r22,((JB_GPRS+8)*4)(r3)
1.505 -+ lfd fp22,((JB_FPRS+8*2)*4)(r3)
1.506 -+ lwz r0,(JB_CR*4)(r3)
1.507 -+ lwz r23,((JB_GPRS+9)*4)(r3)
1.508 -+ lfd fp23,((JB_FPRS+9*2)*4)(r3)
1.509 -+ lwz r24,((JB_GPRS+10)*4)(r3)
1.510 -+ lfd fp24,((JB_FPRS+10*2)*4)(r3)
1.511 -+ lwz r25,((JB_GPRS+11)*4)(r3)
1.512 -+ lfd fp25,((JB_FPRS+11*2)*4)(r3)
1.513 -+ mtcrf 0xFF,r0
1.514 -+ lwz r26,((JB_GPRS+12)*4)(r3)
1.515 -+ lfd fp26,((JB_FPRS+12*2)*4)(r3)
1.516 -+ lwz r27,((JB_GPRS+13)*4)(r3)
1.517 -+ lfd fp27,((JB_FPRS+13*2)*4)(r3)
1.518 -+ lwz r28,((JB_GPRS+14)*4)(r3)
1.519 -+ lfd fp28,((JB_FPRS+14*2)*4)(r3)
1.520 -+ lwz r29,((JB_GPRS+15)*4)(r3)
1.521 -+ lfd fp29,((JB_FPRS+15*2)*4)(r3)
1.522 -+ lwz r30,((JB_GPRS+16)*4)(r3)
1.523 -+ lfd fp30,((JB_FPRS+16*2)*4)(r3)
1.524 -+ lwz r31,((JB_GPRS+17)*4)(r3)
1.525 -+ lfd fp31,((JB_FPRS+17*2)*4)(r3)
1.526 -+ mr r3,r4
1.527 -+ blr
1.528 -+END (BP_SYM (__longjmp))
1.529 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/bits/setjmp.h glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h
1.530 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/bits/setjmp.h Wed Dec 31 16:00:00 1969
1.531 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/bits/setjmp.h Thu Jul 10 11:43:17 2003
1.532 -@@ -0,0 +1,47 @@
1.533 -+/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
1.534 -+ This file is part of the GNU C Library.
1.535 -+
1.536 -+ The GNU C Library is free software; you can redistribute it and/or
1.537 -+ modify it under the terms of the GNU Library General Public License as
1.538 -+ published by the Free Software Foundation; either version 2 of the
1.539 -+ License, or (at your option) any later version.
1.540 -+
1.541 -+ The GNU C Library is distributed in the hope that it will be useful,
1.542 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.543 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.544 -+ Library General Public License for more details.
1.545 -+
1.546 -+ You should have received a copy of the GNU Library General Public
1.547 -+ License along with the GNU C Library; see the file COPYING.LIB. If not,
1.548 -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1.549 -+ Boston, MA 02111-1307, USA. */
1.550 -+
1.551 -+/* Define the machine-dependent type `jmp_buf'. PowerPC version. */
1.552 -+
1.553 -+#ifndef _SETJMP_H
1.554 -+# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
1.555 -+#endif
1.556 -+
1.557 -+/* The previous bits/setjmp.h had __jmp_buf defined as a structure.
1.558 -+ We use an array of 'long int' instead, to make writing the
1.559 -+ assembler easier. Naturally, user code should not depend on
1.560 -+ either representation. */
1.561 -+
1.562 -+#if defined __USE_MISC || defined _ASM
1.563 -+# define JB_GPR1 0 /* Also known as the stack pointer */
1.564 -+# define JB_GPR2 1
1.565 -+# define JB_LR 2 /* The address we will return to */
1.566 -+# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */
1.567 -+# define JB_CR 21 /* Condition code registers. */
1.568 -+# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */
1.569 -+# define JB_SIZE (58*4)
1.570 -+#endif
1.571 -+
1.572 -+#ifndef _ASM
1.573 -+typedef long int __jmp_buf[58];
1.574 -+#endif
1.575 -+
1.576 -+/* Test if longjmp to JMPBUF would unwind the frame
1.577 -+ containing a local variable at ADDRESS. */
1.578 -+#define _JMPBUF_UNWINDS(jmpbuf, address) \
1.579 -+ ((void *) (address) < (void *) (jmpbuf)[JB_GPR1])
1.580 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fclrexcpt.c glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c
1.581 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fclrexcpt.c Wed Dec 31 16:00:00 1969
1.582 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fclrexcpt.c Thu Jul 5 21:56:01 2001
1.583 -@@ -0,0 +1,48 @@
1.584 -+/* Clear given exceptions in current floating-point environment.
1.585 -+ Copyright (C) 1997,99,2000,01 Free Software Foundation, Inc.
1.586 -+ This file is part of the GNU C Library.
1.587 -+
1.588 -+ The GNU C Library is free software; you can redistribute it and/or
1.589 -+ modify it under the terms of the GNU Lesser General Public
1.590 -+ License as published by the Free Software Foundation; either
1.591 -+ version 2.1 of the License, or (at your option) any later version.
1.592 -+
1.593 -+ The GNU C Library is distributed in the hope that it will be useful,
1.594 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.595 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.596 -+ Lesser General Public License for more details.
1.597 -+
1.598 -+ You should have received a copy of the GNU Lesser General Public
1.599 -+ License along with the GNU C Library; if not, write to the Free
1.600 -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.601 -+ 02111-1307 USA. */
1.602 -+
1.603 -+#include <fenv_libc.h>
1.604 -+
1.605 -+#undef feclearexcept
1.606 -+int
1.607 -+__feclearexcept (int excepts)
1.608 -+{
1.609 -+ fenv_union_t u;
1.610 -+
1.611 -+ /* Get the current state. */
1.612 -+ u.fenv = fegetenv_register ();
1.613 -+
1.614 -+ /* Clear the relevant bits. */
1.615 -+ u.l[1] = u.l[1] & ~((-(excepts >> (31 - FPSCR_VX) & 1) & FE_ALL_INVALID)
1.616 -+ | (excepts & FPSCR_STICKY_BITS));
1.617 -+
1.618 -+ /* Put the new state in effect. */
1.619 -+ fesetenv_register (u.fenv);
1.620 -+
1.621 -+ /* Success. */
1.622 -+ return 0;
1.623 -+}
1.624 -+
1.625 -+#include <shlib-compat.h>
1.626 -+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
1.627 -+strong_alias (__feclearexcept, __old_feclearexcept)
1.628 -+compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
1.629 -+#endif
1.630 -+
1.631 -+versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
1.632 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fe_nomask.c glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c
1.633 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fe_nomask.c Wed Dec 31 16:00:00 1969
1.634 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fe_nomask.c Thu Jul 5 21:56:01 2001
1.635 -@@ -0,0 +1,32 @@
1.636 -+/* Procedure definition for FE_NOMASK_ENV.
1.637 -+ Copyright (C) 1997 Free Software Foundation, Inc.
1.638 -+ This file is part of the GNU C Library.
1.639 -+
1.640 -+ The GNU C Library is free software; you can redistribute it and/or
1.641 -+ modify it under the terms of the GNU Lesser General Public
1.642 -+ License as published by the Free Software Foundation; either
1.643 -+ version 2.1 of the License, or (at your option) any later version.
1.644 -+
1.645 -+ The GNU C Library is distributed in the hope that it will be useful,
1.646 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.647 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.648 -+ Lesser General Public License for more details.
1.649 -+
1.650 -+ You should have received a copy of the GNU Lesser General Public
1.651 -+ License along with the GNU C Library; if not, write to the Free
1.652 -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.653 -+ 02111-1307 USA. */
1.654 -+
1.655 -+#include <fenv.h>
1.656 -+#include <errno.h>
1.657 -+
1.658 -+/* This is presently a stub, until it's decided how the kernels should
1.659 -+ support this. */
1.660 -+
1.661 -+const fenv_t *
1.662 -+__fe_nomask_env(void)
1.663 -+{
1.664 -+ __set_errno (ENOSYS);
1.665 -+ return FE_ENABLED_ENV;
1.666 -+}
1.667 -+stub_warning (__fe_nomask_env)
1.668 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fprrest.S glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S
1.669 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fprrest.S Wed Dec 31 16:00:00 1969
1.670 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fprrest.S Thu Jul 5 21:56:01 2001
1.671 -@@ -0,0 +1,94 @@
1.672 -+/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
1.673 -+ This file is part of the GNU C Library.
1.674 -+
1.675 -+ The GNU C Library is free software; you can redistribute it and/or
1.676 -+ modify it under the terms of the GNU Lesser General Public
1.677 -+ License as published by the Free Software Foundation; either
1.678 -+ version 2.1 of the License, or (at your option) any later version.
1.679 -+
1.680 -+ The GNU C Library is distributed in the hope that it will be useful,
1.681 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.682 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.683 -+ Lesser General Public License for more details.
1.684 -+
1.685 -+ You should have received a copy of the GNU Lesser General Public
1.686 -+ License along with the GNU C Library; if not, write to the Free
1.687 -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.688 -+ 02111-1307 USA. */
1.689 -+
1.690 -+/*
1.691 -+ Floating Point Registers (FPRs) restore routine
1.692 -+*/
1.693 -+
1.694 -+#include <sysdep.h>
1.695 -+
1.696 -+ENTRY(_restfpr_all)
1.697 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf14)
1.698 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_14)
1.699 -+C_TEXT(_restf14):
1.700 -+C_TEXT(_restfpr_14): lfd fp14,-144(r1)
1.701 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf15)
1.702 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_15)
1.703 -+C_TEXT(_restf15):
1.704 -+C_TEXT(_restfpr_15): lfd fp15,-136(r1)
1.705 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf16)
1.706 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_16)
1.707 -+C_TEXT(_restf16):
1.708 -+C_TEXT(_restfpr_16): lfd fp16,-128(r1)
1.709 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf17)
1.710 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_17)
1.711 -+C_TEXT(_restf17):
1.712 -+C_TEXT(_restfpr_17): lfd fp17,-120(r1)
1.713 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf18)
1.714 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_18)
1.715 -+C_TEXT(_restf18):
1.716 -+C_TEXT(_restfpr_18): lfd fp18,-112(r1)
1.717 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf19)
1.718 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_19)
1.719 -+C_TEXT(_restf19):
1.720 -+C_TEXT(_restfpr_19): lfd fp19,-104(r1)
1.721 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf20)
1.722 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_20)
1.723 -+C_TEXT(_restf20):
1.724 -+C_TEXT(_restfpr_20): lfd fp20,-96(r1)
1.725 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf21)
1.726 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_21)
1.727 -+C_TEXT(_restf21):
1.728 -+C_TEXT(_restfpr_21): lfd fp21,-88(r1)
1.729 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf22)
1.730 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_22)
1.731 -+C_TEXT(_restf22):
1.732 -+C_TEXT(_restfpr_22): lfd fp22,-80(r1)
1.733 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf23)
1.734 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_23)
1.735 -+C_TEXT(_restf23):
1.736 -+C_TEXT(_restfpr_23): lfd fp23,-72(r1)
1.737 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf24)
1.738 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_24)
1.739 -+C_TEXT(_restf24):
1.740 -+C_TEXT(_restfpr_24): lfd fp24,-64(r1)
1.741 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf25)
1.742 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_25)
1.743 -+C_TEXT(_restf25):
1.744 -+C_TEXT(_restfpr_25): lfd fp25,-56(r1)
1.745 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf26)
1.746 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_26)
1.747 -+C_TEXT(_restf26):
1.748 -+C_TEXT(_restfpr_26): lfd fp26,-48(r1)
1.749 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf27)
1.750 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_27)
1.751 -+C_TEXT(_restf27):
1.752 -+C_TEXT(_restfpr_27): lfd fp27,-40(r1)
1.753 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf28)
1.754 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_28)
1.755 -+C_TEXT(_restf28):
1.756 -+C_TEXT(_restfpr_28): lfd fp28,-32(r1)
1.757 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restf29)
1.758 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_restfpr_29)
1.759 -+C_TEXT(_restf29):
1.760 -+C_TEXT(_restfpr_29): lwz r0,8(r1) #get return address from frame
1.761 -+ lfd fp29,-24(r1) #restore f29
1.762 -+ mtlr r0 #move return address to LR
1.763 -+ lfd fp30,-16(r1) #restore f30
1.764 -+ lfd fp31,-8(r1) #restore f31
1.765 -+ blr #return
1.766 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fprsave.S glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S
1.767 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fprsave.S Wed Dec 31 16:00:00 1969
1.768 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fprsave.S Thu Jul 5 21:56:01 2001
1.769 -@@ -0,0 +1,93 @@
1.770 -+/* Copyright (C) 2000, 2001 Free Software Foundation, Inc.
1.771 -+ This file is part of the GNU C Library.
1.772 -+
1.773 -+ The GNU C Library is free software; you can redistribute it and/or
1.774 -+ modify it under the terms of the GNU Lesser General Public
1.775 -+ License as published by the Free Software Foundation; either
1.776 -+ version 2.1 of the License, or (at your option) any later version.
1.777 -+
1.778 -+ The GNU C Library is distributed in the hope that it will be useful,
1.779 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.780 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.781 -+ Lesser General Public License for more details.
1.782 -+
1.783 -+ You should have received a copy of the GNU Lesser General Public
1.784 -+ License along with the GNU C Library; if not, write to the Free
1.785 -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.786 -+ 02111-1307 USA. */
1.787 -+
1.788 -+/*
1.789 -+ Floating Point Registers (FPRs) save routine
1.790 -+*/
1.791 -+
1.792 -+#include <sysdep.h>
1.793 -+
1.794 -+ENTRY(_savefpr_all)
1.795 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef14)
1.796 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_14)
1.797 -+C_TEXT(_savef14):
1.798 -+C_TEXT(_savefpr_14): stfd fp14,-144(r1)
1.799 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef15)
1.800 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_15)
1.801 -+C_TEXT(_savef15):
1.802 -+C_TEXT(_savefpr_15): stfd fp15,-136(r1)
1.803 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef16)
1.804 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_16)
1.805 -+C_TEXT(_savef16):
1.806 -+C_TEXT(_savefpr_16): stfd fp16,-128(r1)
1.807 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef17)
1.808 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_17)
1.809 -+C_TEXT(_savef17):
1.810 -+C_TEXT(_savefpr_17): stfd fp17,-120(r1)
1.811 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef18)
1.812 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_18)
1.813 -+C_TEXT(_savef18):
1.814 -+C_TEXT(_savefpr_18): stfd fp18,-112(r1)
1.815 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef19)
1.816 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_19)
1.817 -+C_TEXT(_savef19):
1.818 -+C_TEXT(_savefpr_19): stfd fp19,-104(r1)
1.819 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef20)
1.820 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_20)
1.821 -+C_TEXT(_savef20):
1.822 -+C_TEXT(_savefpr_20): stfd fp20,-96(r1)
1.823 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef21)
1.824 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_21)
1.825 -+C_TEXT(_savef21):
1.826 -+C_TEXT(_savefpr_21): stfd fp21,-88(r1)
1.827 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef22)
1.828 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_22)
1.829 -+C_TEXT(_savef22):
1.830 -+C_TEXT(_savefpr_22): stfd fp22,-80(r1)
1.831 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef23)
1.832 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_23)
1.833 -+C_TEXT(_savef23):
1.834 -+C_TEXT(_savefpr_23): stfd fp23,-72(r1)
1.835 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef24)
1.836 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_24)
1.837 -+C_TEXT(_savef24):
1.838 -+C_TEXT(_savefpr_24): stfd fp24,-64(r1)
1.839 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef25)
1.840 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_25)
1.841 -+C_TEXT(_savef25):
1.842 -+C_TEXT(_savefpr_25): stfd fp25,-56(r1)
1.843 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef26)
1.844 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_26)
1.845 -+C_TEXT(_savef26):
1.846 -+C_TEXT(_savefpr_26): stfd fp26,-48(r1)
1.847 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef27)
1.848 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_27)
1.849 -+C_TEXT(_savef27):
1.850 -+C_TEXT(_savefpr_27): stfd fp27,-40(r1)
1.851 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef28)
1.852 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_28)
1.853 -+C_TEXT(_savef28):
1.854 -+C_TEXT(_savefpr_28): stfd fp28,-32(r1)
1.855 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savef29)
1.856 -+ ASM_GLOBAL_DIRECTIVE C_TEXT(_savefpr_29)
1.857 -+C_TEXT(_savef29):
1.858 -+C_TEXT(_savefpr_29): stfd fp29,-24(r1) #save f29
1.859 -+ stfd fp30,-16(r1) #save f30
1.860 -+ stfd fp31,-8(r1) #save f31
1.861 -+ stw r0,8(r1) #save LR in callers frame
1.862 -+ blr #return
1.863 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/fpu_control.h glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h
1.864 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/fpu_control.h Wed Dec 31 16:00:00 1969
1.865 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/fpu_control.h Thu Jul 5 21:56:01 2001
1.866 -@@ -0,0 +1,67 @@
1.867 -+/* FPU control word definitions. PowerPC version.
1.868 -+ Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
1.869 -+ This file is part of the GNU C Library.
1.870 -+
1.871 -+ The GNU C Library is free software; you can redistribute it and/or
1.872 -+ modify it under the terms of the GNU Lesser General Public
1.873 -+ License as published by the Free Software Foundation; either
1.874 -+ version 2.1 of the License, or (at your option) any later version.
1.875 -+
1.876 -+ The GNU C Library is distributed in the hope that it will be useful,
1.877 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.878 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.879 -+ Lesser General Public License for more details.
1.880 -+
1.881 -+ You should have received a copy of the GNU Lesser General Public
1.882 -+ License along with the GNU C Library; if not, write to the Free
1.883 -+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.884 -+ 02111-1307 USA. */
1.885 -+
1.886 -+#ifndef _FPU_CONTROL_H
1.887 -+#define _FPU_CONTROL_H
1.888 -+
1.889 -+/* rounding control */
1.890 -+#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
1.891 -+#define _FPU_RC_DOWN 0x03
1.892 -+#define _FPU_RC_UP 0x02
1.893 -+#define _FPU_RC_ZERO 0x01
1.894 -+
1.895 -+#define _FPU_MASK_NI 0x04 /* non-ieee mode */
1.896 -+
1.897 -+/* masking of interrupts */
1.898 -+#define _FPU_MASK_ZM 0x10 /* zero divide */
1.899 -+#define _FPU_MASK_OM 0x40 /* overflow */
1.900 -+#define _FPU_MASK_UM 0x20 /* underflow */
1.901 -+#define _FPU_MASK_XM 0x08 /* inexact */
1.902 -+#define _FPU_MASK_IM 0x80 /* invalid operation */
1.903 -+
1.904 -+#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
1.905 -+
1.906 -+/* The fdlibm code requires no interrupts for exceptions. */
1.907 -+#define _FPU_DEFAULT 0x00000000 /* Default value. */
1.908 -+
1.909 -+/* IEEE: same as above, but (some) exceptions;
1.910 -+ we leave the 'inexact' exception off.
1.911 -+ */
1.912 -+#define _FPU_IEEE 0x000000f0
1.913 -+
1.914 -+/* Type of the control word. */
1.915 -+typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
1.916 -+
1.917 -+/* Macros for accessing the hardware control word. */
1.918 -+#define _FPU_GETCW(cw) ( { \
1.919 -+ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
1.920 -+ __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \
1.921 -+ (cw)=tmp.cw[1]; \
1.922 -+ tmp.cw[1]; } )
1.923 -+#define _FPU_SETCW(cw) { \
1.924 -+ union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
1.925 -+ tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \
1.926 -+ tmp.cw[1] = cw; \
1.927 -+ __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \
1.928 -+}
1.929 -+
1.930 -+/* Default control word set at startup. */
1.931 -+extern fpu_control_t __fpu_control;
1.932 -+
1.933 -+#endif /* _FPU_CONTROL_H */
1.934 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu/setjmp.S glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S
1.935 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu/setjmp.S Wed Dec 31 16:00:00 1969
1.936 -+++ glibc-2.2.5/sysdeps/powerpc/fpu/setjmp.S Thu Jul 10 11:43:44 2003
1.937 -@@ -0,0 +1,73 @@
1.938 -+/* setjmp for PowerPC.
1.939 -+ Copyright (C) 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
1.940 -+ This file is part of the GNU C Library.
1.941 -+
1.942 -+ The GNU C Library is free software; you can redistribute it and/or
1.943 -+ modify it under the terms of the GNU Library General Public License as
1.944 -+ published by the Free Software Foundation; either version 2 of the
1.945 -+ License, or (at your option) any later version.
1.946 -+
1.947 -+ The GNU C Library is distributed in the hope that it will be useful,
1.948 -+ but WITHOUT ANY WARRANTY; without even the implied warranty of
1.949 -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.950 -+ Library General Public License for more details.
1.951 -+
1.952 -+ You should have received a copy of the GNU Library General Public
1.953 -+ License along with the GNU C Library; see the file COPYING.LIB. If not,
1.954 -+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1.955 -+ Boston, MA 02111-1307, USA. */
1.956 -+
1.957 -+#include <sysdep.h>
1.958 -+#define _ASM
1.959 -+#define _SETJMP_H
1.960 -+#include <bits/setjmp.h>
1.961 -+#include <bp-sym.h>
1.962 -+#include <bp-asm.h>
1.963 -+
1.964 -+ENTRY (BP_SYM (__sigsetjmp))
1.965 -+ CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
1.966 -+
1.967 -+ stw r1,(JB_GPR1*4)(3)
1.968 -+ mflr r0
1.969 -+ stw r2,(JB_GPR2*4)(3)
1.970 -+ stw r14,((JB_GPRS+0)*4)(3)
1.971 -+ stfd fp14,((JB_FPRS+0*2)*4)(3)
1.972 -+ stw r0,(JB_LR*4)(3)
1.973 -+ stw r15,((JB_GPRS+1)*4)(3)
1.974 -+ stfd fp15,((JB_FPRS+1*2)*4)(3)
1.975 -+ mfcr r0
1.976 -+ stw r16,((JB_GPRS+2)*4)(3)
1.977 -+ stfd fp16,((JB_FPRS+2*2)*4)(3)
1.978 -+ stw r0,(JB_CR*4)(3)
1.979 -+ stw r17,((JB_GPRS+3)*4)(3)
1.980 -+ stfd fp17,((JB_FPRS+3*2)*4)(3)
1.981 -+ stw r18,((JB_GPRS+4)*4)(3)
1.982 -+ stfd fp18,((JB_FPRS+4*2)*4)(3)
1.983 -+ stw r19,((JB_GPRS+5)*4)(3)
1.984 -+ stfd fp19,((JB_FPRS+5*2)*4)(3)
1.985 -+ stw r20,((JB_GPRS+6)*4)(3)
1.986 -+ stfd fp20,((JB_FPRS+6*2)*4)(3)
1.987 -+ stw r21,((JB_GPRS+7)*4)(3)
1.988 -+ stfd fp21,((JB_FPRS+7*2)*4)(3)
1.989 -+ stw r22,((JB_GPRS+8)*4)(3)
1.990 -+ stfd fp22,((JB_FPRS+8*2)*4)(3)
1.991 -+ stw r23,((JB_GPRS+9)*4)(3)
1.992 -+ stfd fp23,((JB_FPRS+9*2)*4)(3)
1.993 -+ stw r24,((JB_GPRS+10)*4)(3)
1.994 -+ stfd fp24,((JB_FPRS+10*2)*4)(3)
1.995 -+ stw r25,((JB_GPRS+11)*4)(3)
1.996 -+ stfd fp25,((JB_FPRS+11*2)*4)(3)
1.997 -+ stw r26,((JB_GPRS+12)*4)(3)
1.998 -+ stfd fp26,((JB_FPRS+12*2)*4)(3)
1.999 -+ stw r27,((JB_GPRS+13)*4)(3)
1.1000 -+ stfd fp27,((JB_FPRS+13*2)*4)(3)
1.1001 -+ stw r28,((JB_GPRS+14)*4)(3)
1.1002 -+ stfd fp28,((JB_FPRS+14*2)*4)(3)
1.1003 -+ stw r29,((JB_GPRS+15)*4)(3)
1.1004 -+ stfd fp29,((JB_FPRS+15*2)*4)(3)
1.1005 -+ stw r30,((JB_GPRS+16)*4)(3)
1.1006 -+ stfd fp30,((JB_FPRS+16*2)*4)(3)
1.1007 -+ stw r31,((JB_GPRS+17)*4)(3)
1.1008 -+ stfd fp31,((JB_FPRS+17*2)*4)(3)
1.1009 -+ b JUMPTARGET (BP_SYM (__sigjmp_save))
1.1010 -+END (BP_SYM (__sigsetjmp))
1.1011 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/fpu_control.h glibc-2.2.5/sysdeps/powerpc/fpu_control.h
1.1012 ---- glibc-2.2.5.old/sysdeps/powerpc/fpu_control.h Thu Jul 5 21:56:01 2001
1.1013 -+++ glibc-2.2.5/sysdeps/powerpc/fpu_control.h Wed Dec 31 16:00:00 1969
1.1014 -@@ -1,67 +0,0 @@
1.1015 --/* FPU control word definitions. PowerPC version.
1.1016 -- Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
1.1017 -- This file is part of the GNU C Library.
1.1018 --
1.1019 -- The GNU C Library is free software; you can redistribute it and/or
1.1020 -- modify it under the terms of the GNU Lesser General Public
1.1021 -- License as published by the Free Software Foundation; either
1.1022 -- version 2.1 of the License, or (at your option) any later version.
1.1023 --
1.1024 -- The GNU C Library is distributed in the hope that it will be useful,
1.1025 -- but WITHOUT ANY WARRANTY; without even the implied warranty of
1.1026 -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
1.1027 -- Lesser General Public License for more details.
1.1028 --
1.1029 -- You should have received a copy of the GNU Lesser General Public
1.1030 -- License along with the GNU C Library; if not, write to the Free
1.1031 -- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
1.1032 -- 02111-1307 USA. */
1.1033 --
1.1034 --#ifndef _FPU_CONTROL_H
1.1035 --#define _FPU_CONTROL_H
1.1036 --
1.1037 --/* rounding control */
1.1038 --#define _FPU_RC_NEAREST 0x00 /* RECOMMENDED */
1.1039 --#define _FPU_RC_DOWN 0x03
1.1040 --#define _FPU_RC_UP 0x02
1.1041 --#define _FPU_RC_ZERO 0x01
1.1042 --
1.1043 --#define _FPU_MASK_NI 0x04 /* non-ieee mode */
1.1044 --
1.1045 --/* masking of interrupts */
1.1046 --#define _FPU_MASK_ZM 0x10 /* zero divide */
1.1047 --#define _FPU_MASK_OM 0x40 /* overflow */
1.1048 --#define _FPU_MASK_UM 0x20 /* underflow */
1.1049 --#define _FPU_MASK_XM 0x08 /* inexact */
1.1050 --#define _FPU_MASK_IM 0x80 /* invalid operation */
1.1051 --
1.1052 --#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
1.1053 --
1.1054 --/* The fdlibm code requires no interrupts for exceptions. */
1.1055 --#define _FPU_DEFAULT 0x00000000 /* Default value. */
1.1056 --
1.1057 --/* IEEE: same as above, but (some) exceptions;
1.1058 -- we leave the 'inexact' exception off.
1.1059 -- */
1.1060 --#define _FPU_IEEE 0x000000f0
1.1061 --
1.1062 --/* Type of the control word. */
1.1063 --typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
1.1064 --
1.1065 --/* Macros for accessing the hardware control word. */
1.1066 --#define _FPU_GETCW(cw) ( { \
1.1067 -- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
1.1068 -- __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \
1.1069 -- (cw)=tmp.cw[1]; \
1.1070 -- tmp.cw[1]; } )
1.1071 --#define _FPU_SETCW(cw) { \
1.1072 -- union { double d; fpu_control_t cw[2]; } tmp __attribute__ ((__aligned__(8))); \
1.1073 -- tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \
1.1074 -- tmp.cw[1] = cw; \
1.1075 -- __asm__ ("lfd%U0 0,%0; mtfsf 255,0" : : "m" (tmp.d) : "fr0"); \
1.1076 --}
1.1077 --
1.1078 --/* Default control word set at startup. */
1.1079 --extern fpu_control_t __fpu_control;
1.1080 --
1.1081 --#endif /* _FPU_CONTROL_H */
1.1082 -diff -Naur glibc-2.2.5.old/sysdeps/powerpc/setjmp.S glibc-2.2.5/sysdeps/powerpc/setjmp.S
1.1083 ---- glibc-2.2.5.old/sysdeps/powerpc/setjmp.S Thu Jul 5 21:56:01 2001
1.1084 -+++ glibc-2.2.5/sysdeps/powerpc/setjmp.S Thu Jul 10 11:43:44 2003
1.1085 -@@ -24,6 +24,8 @@
1.1086 - #include <bp-sym.h>
1.1087 - #include <bp-asm.h>
1.1088 -
1.1089 -+/* The FPU stores have been removed from this file - see fpu/setjmp.S */
1.1090 -+
1.1091 - ENTRY (BP_SYM (__sigsetjmp))
1.1092 - CHECK_BOUNDS_BOTH_WIDE_LIT (r3, r8, r9, JB_SIZE)
1.1093 -
1.1094 -@@ -31,43 +33,25 @@
1.1095 - mflr r0
1.1096 - stw r2,(JB_GPR2*4)(3)
1.1097 - stw r14,((JB_GPRS+0)*4)(3)
1.1098 -- stfd fp14,((JB_FPRS+0*2)*4)(3)
1.1099 - stw r0,(JB_LR*4)(3)
1.1100 - stw r15,((JB_GPRS+1)*4)(3)
1.1101 -- stfd fp15,((JB_FPRS+1*2)*4)(3)
1.1102 - mfcr r0
1.1103 - stw r16,((JB_GPRS+2)*4)(3)
1.1104 -- stfd fp16,((JB_FPRS+2*2)*4)(3)
1.1105 - stw r0,(JB_CR*4)(3)
1.1106 - stw r17,((JB_GPRS+3)*4)(3)
1.1107 -- stfd fp17,((JB_FPRS+3*2)*4)(3)
1.1108 - stw r18,((JB_GPRS+4)*4)(3)
1.1109 -- stfd fp18,((JB_FPRS+4*2)*4)(3)
1.1110 - stw r19,((JB_GPRS+5)*4)(3)
1.1111 -- stfd fp19,((JB_FPRS+5*2)*4)(3)
1.1112 - stw r20,((JB_GPRS+6)*4)(3)
1.1113 -- stfd fp20,((JB_FPRS+6*2)*4)(3)
1.1114 - stw r21,((JB_GPRS+7)*4)(3)
1.1115 -- stfd fp21,((JB_FPRS+7*2)*4)(3)
1.1116 - stw r22,((JB_GPRS+8)*4)(3)
1.1117 -- stfd fp22,((JB_FPRS+8*2)*4)(3)
1.1118 - stw r23,((JB_GPRS+9)*4)(3)
1.1119 -- stfd fp23,((JB_FPRS+9*2)*4)(3)
1.1120 - stw r24,((JB_GPRS+10)*4)(3)
1.1121 -- stfd fp24,((JB_FPRS+10*2)*4)(3)
1.1122 - stw r25,((JB_GPRS+11)*4)(3)
1.1123 -- stfd fp25,((JB_FPRS+11*2)*4)(3)
1.1124 - stw r26,((JB_GPRS+12)*4)(3)
1.1125 -- stfd fp26,((JB_FPRS+12*2)*4)(3)
1.1126 - stw r27,((JB_GPRS+13)*4)(3)
1.1127 -- stfd fp27,((JB_FPRS+13*2)*4)(3)
1.1128 - stw r28,((JB_GPRS+14)*4)(3)
1.1129 -- stfd fp28,((JB_FPRS+14*2)*4)(3)
1.1130 - stw r29,((JB_GPRS+15)*4)(3)
1.1131 -- stfd fp29,((JB_FPRS+15*2)*4)(3)
1.1132 - stw r30,((JB_GPRS+16)*4)(3)
1.1133 -- stfd fp30,((JB_FPRS+16*2)*4)(3)
1.1134 - stw r31,((JB_GPRS+17)*4)(3)
1.1135 -- stfd fp31,((JB_FPRS+17*2)*4)(3)
1.1136 - b JUMPTARGET (BP_SYM (__sigjmp_save))
1.1137 - END (BP_SYM (__sigsetjmp))