patches/glibc/2.2.5/glibc-2.2.5-hhl-powerpc-fpu.patch
changeset 330 447b203edc2e
parent 329 419d959441ed
child 331 0c05f9ea3254
     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))