summaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-10-03 20:44:20 +0000
committerJakub Jelinek <jakub@redhat.com>2005-10-03 20:44:20 +0000
commita5a11654ea5ea89bfffb295fbb2f17cbb45839b6 (patch)
tree2078fd7b828ae3b4c030e6722c53bdc81542a511 /sysdeps
parent6543cff055c298ea3ec718b356f6c2115e8797ae (diff)
Updated to fedora-glibc-20051003T2040
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/alpha/ldiv.S2
-rw-r--r--sysdeps/generic/fdopendir.c (renamed from sysdeps/unix/sysv/i386/sigreturn.S)22
-rw-r--r--sysdeps/i386/fpu/libm-test-ulps16
-rw-r--r--sysdeps/posix/getaddrinfo.c29
-rw-r--r--sysdeps/posix/spawni.c12
-rw-r--r--sysdeps/powerpc/fpu/libm-test-ulps18
-rw-r--r--sysdeps/powerpc/nofpu/Dist3
-rw-r--r--sysdeps/powerpc/nofpu/Makefile9
-rw-r--r--sysdeps/powerpc/nofpu/Versions13
-rw-r--r--sysdeps/powerpc/nofpu/fclrexcpt.c37
-rw-r--r--sysdeps/powerpc/nofpu/fedisblxcpt.c33
-rw-r--r--sysdeps/powerpc/nofpu/fegetenv.c49
-rw-r--r--sysdeps/powerpc/nofpu/fegetexcept.c28
-rw-r--r--sysdeps/powerpc/nofpu/fegetround.c29
-rw-r--r--sysdeps/powerpc/nofpu/feholdexcpt.c43
-rw-r--r--sysdeps/powerpc/nofpu/fenv_const.c35
-rw-r--r--sysdeps/powerpc/nofpu/fesetenv.c48
-rw-r--r--sysdeps/powerpc/nofpu/fesetround.c33
-rw-r--r--sysdeps/powerpc/nofpu/feupdateenv.c50
-rw-r--r--sysdeps/powerpc/nofpu/fgetexcptflg.c38
-rw-r--r--sysdeps/powerpc/nofpu/fraiseexcpt.c46
-rw-r--r--sysdeps/powerpc/nofpu/fsetexcptflg.c40
-rw-r--r--sysdeps/powerpc/nofpu/ftestexcept.c28
-rw-r--r--sysdeps/powerpc/nofpu/libm-test-ulps890
-rw-r--r--sysdeps/powerpc/nofpu/sim-full.c45
-rw-r--r--sysdeps/powerpc/nofpu/soft-supp.h37
-rw-r--r--sysdeps/unix/alpha/sysdep.h63
-rw-r--r--sysdeps/unix/fdopendir.c (renamed from sysdeps/powerpc/nofpu/feenablxcpt.c)33
-rw-r--r--sysdeps/unix/opendir.c33
-rw-r--r--sysdeps/unix/sockatmark.c6
-rw-r--r--sysdeps/unix/sysv/i386/signal.S31
-rw-r--r--sysdeps/unix/sysv/linux/lddlibc4.c4
-rw-r--r--sysdeps/unix/sysv/linux/mips/brk.c5
-rw-r--r--sysdeps/unix/sysv/linux/mips/getpagesize.c1
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S10
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/syscall.S31
36 files changed, 199 insertions, 1651 deletions
diff --git a/sysdeps/alpha/ldiv.S b/sysdeps/alpha/ldiv.S
index 3909672782..0a971a7ed0 100644
--- a/sysdeps/alpha/ldiv.S
+++ b/sysdeps/alpha/ldiv.S
@@ -214,3 +214,5 @@ $divbyzero:
ret
.end ldiv
+
+weak_alias (ldiv, lldiv)
diff --git a/sysdeps/unix/sysv/i386/sigreturn.S b/sysdeps/generic/fdopendir.c
index edf4418c5b..597ccd5a5e 100644
--- a/sysdeps/unix/sysv/i386/sigreturn.S
+++ b/sysdeps/generic/fdopendir.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,12 +16,18 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <sysdep.h>
+#include <errno.h>
+#include <stddef.h>
+#include <dirent.h>
-.text
-ENTRY (__sigreturn)
- addl $4, %esp /* Pop the return PC. */
- lcall $0xf, $0 /* Do the magic sigreturn trap. */
- /* NOTREACHED */
-weak_alias (__sigreturn, sigreturn)
+/* Open a directory stream on FD. */
+DIR *
+fdopendir (int fd)
+{
+ __set_errno (ENOSYS);
+ return NULL;
+}
+
+stub_warning (fdopendir)
+#include <stub-tag.h>
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index 302ca77812..e5a4cdf7ed 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -149,7 +149,9 @@ float: 1
idouble: 1
ifloat: 1
Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
# cexp
@@ -354,7 +356,9 @@ ifloat: 1
ildouble: 2
ldouble: 2
Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -377,7 +381,9 @@ Test "Real part of: ctan (0.75 + 1.25 i) == 0.1608077859162064267251660581734386
ildouble: 1
ldouble: 1
Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 3
ldouble: 3
@@ -395,7 +401,9 @@ Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
float: 1
ifloat: 1
Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
+double: 1
float: 1
+idouble: 1
ifloat: 1
Test "Imaginary part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
double: 1
@@ -504,7 +512,9 @@ Test "j1 (0.75) == 0.349243602174862192523281016426251335":
double: 1
idouble: 1
Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -551,7 +561,9 @@ Test "jn (1, 0.75) == 0.349243602174862192523281016426251335":
double: 1
idouble: 1
Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 1
ldouble: 1
@@ -682,6 +694,7 @@ ldouble: 1
# sinh
Test "sinh (0.75) == 0.822316731935829980703661634446913849":
+double: 1
ildouble: 1
# tan
@@ -1087,7 +1100,9 @@ ildouble: 3
ldouble: 3
Function: Real part of "ctanh":
+double: 1
float: 1
+idouble: 1
ifloat: 1
ildouble: 5
ldouble: 5
@@ -1179,6 +1194,7 @@ ildouble: 1
ldouble: 1
Function: "sinh":
+double: 1
ildouble: 1
Function: "tan":
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index d97b95b5e0..934aae009c 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -1266,7 +1266,7 @@ match_prefix (const struct sockaddr_storage *ss, const struct prefixlist *list,
uint8_t *mask = list[idx].prefix.s6_addr;
uint8_t *val = in6->sin6_addr.s6_addr;
- while (bits > 8)
+ while (bits >= 8)
{
if (*mask != *val)
break;
@@ -1304,6 +1304,19 @@ get_precedence (const struct sockaddr_storage *ss)
}
+/* Find last bit set in a word. */
+static int
+fls (uint32_t a)
+{
+ uint32_t mask;
+ int n = 0;
+ for (n = 0, mask = 1 << 31; n < 32; mask >>= 1, ++n)
+ if ((a & mask) != 0)
+ break;
+ return n;
+}
+
+
static int
rfc3484_sort (const void *p1, const void *p2)
{
@@ -1407,8 +1420,10 @@ rfc3484_sort (const void *p1, const void *p2)
in2_dst = (struct sockaddr_in *) a2->dest_addr->ai_addr;
in2_src = (struct sockaddr_in *) &a2->source_addr;
- bit1 = ffs (in1_dst->sin_addr.s_addr ^ in1_src->sin_addr.s_addr);
- bit2 = ffs (in2_dst->sin_addr.s_addr ^ in2_src->sin_addr.s_addr);
+ bit1 = fls (ntohl (in1_dst->sin_addr.s_addr
+ ^ in1_src->sin_addr.s_addr));
+ bit2 = fls (ntohl (in2_dst->sin_addr.s_addr
+ ^ in2_src->sin_addr.s_addr));
}
else if (a1->dest_addr->ai_family == PF_INET6)
{
@@ -1435,10 +1450,10 @@ rfc3484_sort (const void *p1, const void *p2)
if (i < 4)
{
- bit1 = ffs (in1_dst->sin6_addr.s6_addr32[i]
- ^ in1_src->sin6_addr.s6_addr32[i]);
- bit2 = ffs (in2_dst->sin6_addr.s6_addr32[i]
- ^ in2_src->sin6_addr.s6_addr32[i]);
+ bit1 = fls (ntohl (in1_dst->sin6_addr.s6_addr32[i]
+ ^ in1_src->sin6_addr.s6_addr32[i]));
+ bit2 = fls (ntohl (in2_dst->sin6_addr.s6_addr32[i]
+ ^ in2_src->sin6_addr.s6_addr32[i]));
}
}
diff --git a/sysdeps/posix/spawni.c b/sysdeps/posix/spawni.c
index 69106c480e..27699f4df8 100644
--- a/sysdeps/posix/spawni.c
+++ b/sysdeps/posix/spawni.c
@@ -1,5 +1,5 @@
/* Guts of POSIX spawn interface. Generic POSIX.1 version.
- Copyright (C) 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2000,2001,2002,2003,2004,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -81,7 +81,15 @@ __spawni (pid_t *pid, const char *file,
short int flags = attrp == NULL ? 0 : attrp->__flags;
/* Generate the new process. */
- if (flags & POSIX_SPAWN_USEVFORK)
+ if ((flags & POSIX_SPAWN_USEVFORK) != 0
+ /* If no major work is done, allow using vfork. Note that we
+ might perform the path searching. But this would be done by
+ a call to execvp(), too, and such a call must be OK according
+ to POSIX. */
+ || ((flags & (POSIX_SPAWN_SETSIGMASK | POSIX_SPAWN_SETSIGDEF
+ | POSIX_SPAWN_SETSCHEDPARAM | POSIX_SPAWN_SETSCHEDULER
+ | POSIX_SPAWN_SETPGROUP | POSIX_SPAWN_RESETIDS)) == 0
+ && file_actions == NULL))
new_pid = __vfork ();
else
new_pid = __fork ();
diff --git a/sysdeps/powerpc/fpu/libm-test-ulps b/sysdeps/powerpc/fpu/libm-test-ulps
index 1ea3b60d9d..272431307c 100644
--- a/sysdeps/powerpc/fpu/libm-test-ulps
+++ b/sysdeps/powerpc/fpu/libm-test-ulps
@@ -535,6 +535,12 @@ idouble: 1
ifloat: 1
# y1
+Test "y1 (0.125) == -5.19993611253477499595928744876579921":
+double: 1
+idouble: 1
+Test "y1 (1.5) == -0.412308626973911295952829820633445323":
+float: 1
+ifloat: 1
Test "y1 (10.0) == 0.249015424206953883923283474663222803":
double: 3
float: 1
@@ -575,6 +581,12 @@ double: 1
float: 1
idouble: 1
ifloat: 1
+Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
+double: 1
+idouble: 1
+Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
+float: 2
+ifloat: 2
Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
double: 3
float: 1
@@ -590,6 +602,12 @@ double: 1
float: 2
idouble: 1
ifloat: 2
+Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
+double: 1
+idouble: 1
+Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
+double: 1
+idouble: 1
Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
double: 1
float: 2
diff --git a/sysdeps/powerpc/nofpu/Dist b/sysdeps/powerpc/nofpu/Dist
deleted file mode 100644
index 35a33ab2d5..0000000000
--- a/sysdeps/powerpc/nofpu/Dist
+++ /dev/null
@@ -1,3 +0,0 @@
-sim-full.c
-fenv_const.c
-soft-supp.h
diff --git a/sysdeps/powerpc/nofpu/Makefile b/sysdeps/powerpc/nofpu/Makefile
deleted file mode 100644
index f85cb0b7a3..0000000000
--- a/sysdeps/powerpc/nofpu/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# Makefile fragment for PowerPC with no FPU.
-
-ifeq ($(subdir),soft-fp)
-sysdep_routines += $(gcc-single-routines) $(gcc-double-routines) sim-full
-endif
-
-ifeq ($(subdir),math)
-libm-support += fenv_const fe_nomask
-endif
diff --git a/sysdeps/powerpc/nofpu/Versions b/sysdeps/powerpc/nofpu/Versions
deleted file mode 100644
index 4103db50bf..0000000000
--- a/sysdeps/powerpc/nofpu/Versions
+++ /dev/null
@@ -1,13 +0,0 @@
-libc {
- GLIBC_2.3.2 {
- __sim_exceptions; __sim_disabled_exceptions; __sim_round_mode;
- __adddf3; __addsf3; __divdf3; __divsf3; __eqdf2; __eqsf2;
- __extendsfdf2; __fixdfdi; __fixdfsi; __fixsfdi; __fixsfsi;
- __fixtfdi; __fixtfsi;
- __fixunsdfdi; __fixunsdfsi; __fixunssfdi; __fixunssfsi;
- __floatdidf; __floatdisf; __floatsidf; __floatsisf;
- __gedf2; __gesf2; __ledf2; __lesf2; __muldf3; __mulsf3;
- __negdf2; __negsf2; __sqrtdf2; __sqrtsf2; __subdf3;
- __subsf3; __truncdfsf2; __trunctfsf2;
- }
-}
diff --git a/sysdeps/powerpc/nofpu/fclrexcpt.c b/sysdeps/powerpc/nofpu/fclrexcpt.c
deleted file mode 100644
index 16e96baeaf..0000000000
--- a/sysdeps/powerpc/nofpu/fclrexcpt.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Clear floating-point exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-__feclearexcept (int x)
-{
- __sim_exceptions &= ~x;
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feclearexcept, __old_feclearexcept)
-compat_symbol (libm, __old_feclearexcept, feclearexcept, GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, __feclearexcept, feclearexcept, GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fedisblxcpt.c b/sysdeps/powerpc/nofpu/fedisblxcpt.c
deleted file mode 100644
index 3d8dd4462f..0000000000
--- a/sysdeps/powerpc/nofpu/fedisblxcpt.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Disable exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <fenv.h>
-
-int
-fedisableexcept (int x)
-{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
-
- __sim_disabled_exceptions |= x;
-
- return old_exceptions;
-}
diff --git a/sysdeps/powerpc/nofpu/fegetenv.c b/sysdeps/powerpc/nofpu/fegetenv.c
deleted file mode 100644
index 3cc8b13dac..0000000000
--- a/sysdeps/powerpc/nofpu/fegetenv.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Store current floating-point environment (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <bp-sym.h>
-
-extern int __sim_exceptions;
-extern int __sim_disabled_exceptions;
-extern int __sim_round_mode;
-
-int
-__fegetenv (fenv_t *envp)
-{
- fenv_union_t u;
-
- u.l[0] = __sim_exceptions;
- u.l[0] |= __sim_round_mode;
- u.l[1] = __sim_disabled_exceptions;
-
- *envp = u.fenv;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetenv, __old_fegetenv)
-compat_symbol (libm, BP_SYM (__old_fegetenv), BP_SYM (fegetenv), GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, BP_SYM (__fegetenv), BP_SYM (fegetenv), GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fegetexcept.c b/sysdeps/powerpc/nofpu/fegetexcept.c
deleted file mode 100644
index 0a47a09ac0..0000000000
--- a/sysdeps/powerpc/nofpu/fegetexcept.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Get floating-point exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fegetexcept (void)
-{
- return (__sim_disabled_exceptions ^ FE_ALL_EXCEPT) & FE_ALL_EXCEPT;
-}
diff --git a/sysdeps/powerpc/nofpu/fegetround.c b/sysdeps/powerpc/nofpu/fegetround.c
deleted file mode 100644
index 0d01e4411f..0000000000
--- a/sysdeps/powerpc/nofpu/fegetround.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Return current rounding mode (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-#undef fegetround
-int
-fegetround (void)
-{
- return __sim_round_mode;
-}
diff --git a/sysdeps/powerpc/nofpu/feholdexcpt.c b/sysdeps/powerpc/nofpu/feholdexcpt.c
deleted file mode 100644
index 786c691a4b..0000000000
--- a/sysdeps/powerpc/nofpu/feholdexcpt.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Store current floating-point environment and clear exceptions
- (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-feholdexcept (fenv_t *envp)
-{
- fenv_union_t u;
-
- /* Get the current state. */
- fegetenv (envp);
-
- u.fenv = *envp;
- /* Clear everything except the rounding mode. */
- u.l[0] &= 0x3;
-
- /* ?? Should we clear the disabled exceptions as well ?? */
-
- /* Put the new state in effect. */
- fesetenv (envp);
-
- return 0;
-}
diff --git a/sysdeps/powerpc/nofpu/fenv_const.c b/sysdeps/powerpc/nofpu/fenv_const.c
deleted file mode 100644
index 7dc2e817c8..0000000000
--- a/sysdeps/powerpc/nofpu/fenv_const.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Constants for fenv_bits.h (soft float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-/* We want to specify the bit pattern of the __fe_*_env constants, so
- pretend they're really `long long' instead of `double'. */
-
-/* If the default argument is used we use this value. Disable all
- signalling exceptions as default. */
-const unsigned long long __fe_dfl_env __attribute__ ((aligned (8))) =
-0x000000003e000000ULL;
-
-/* Floating-point environment where none of the exceptions are masked. */
-const unsigned long long __fe_enabled_env __attribute__ ((aligned (8))) =
-0xfff80000000000f8ULL;
-
-/* Floating-point environment with the NI bit set. */
-const unsigned long long __fe_nonieee_env __attribute__ ((aligned (8))) =
-0xfff8000000000004ULL;
diff --git a/sysdeps/powerpc/nofpu/fesetenv.c b/sysdeps/powerpc/nofpu/fesetenv.c
deleted file mode 100644
index 43d03a45e2..0000000000
--- a/sysdeps/powerpc/nofpu/fesetenv.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Set floating point environment (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <bp-sym.h>
-
-extern int __sim_exceptions attribute_hidden;
-extern int __sim_disabled_exceptions attribute_hidden;
-extern int __sim_round_mode attribute_hidden;
-
-int
-__fesetenv (const fenv_t *envp)
-{
- fenv_union_t u;
-
- u.fenv = *envp;
- __sim_exceptions = u.l[0] & FE_ALL_EXCEPT;
- __sim_round_mode = u.l[0] & 0x3;
- __sim_disabled_exceptions = u.l[1];
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetenv, __old_fesetenv)
-compat_symbol (libm, BP_SYM (__old_fesetenv), BP_SYM (fesetenv), GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__fesetenv, fesetenv)
-versioned_symbol (libm, BP_SYM (__fesetenv), BP_SYM (fesetenv), GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fesetround.c b/sysdeps/powerpc/nofpu/fesetround.c
deleted file mode 100644
index 842614a974..0000000000
--- a/sysdeps/powerpc/nofpu/fesetround.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Set rounding mode (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fesetround (int round)
-{
- if ((unsigned int) round > FE_DOWNWARD)
- return 1;
-
- __sim_round_mode = round;
-
- return 0;
-}
diff --git a/sysdeps/powerpc/nofpu/feupdateenv.c b/sysdeps/powerpc/nofpu/feupdateenv.c
deleted file mode 100644
index 5073776e7d..0000000000
--- a/sysdeps/powerpc/nofpu/feupdateenv.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Install given floating-point environment and raise exceptions
- (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <bp-sym.h>
-
-int
-__feupdateenv (const fenv_t *envp)
-{
- fenv_union_t u;
- int saved_exceptions;
-
- /* Save currently set exceptions. */
- saved_exceptions = __sim_exceptions;
-
- /* Set environment. */
- fesetenv (envp);
-
- /* Raise old exceptions. */
- __sim_exceptions |= saved_exceptions;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feupdateenv, __old_feupdateenv)
-compat_symbol (libm, BP_SYM (__old_feupdateenv), BP_SYM (feupdateenv), GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, BP_SYM (__feupdateenv), BP_SYM (feupdateenv), GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fgetexcptflg.c b/sysdeps/powerpc/nofpu/fgetexcptflg.c
deleted file mode 100644
index 713bd92881..0000000000
--- a/sysdeps/powerpc/nofpu/fgetexcptflg.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Store current representation for exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <bp-sym.h>
-
-__fegetexceptflag (fexcept_t *flagp, int excepts)
-{
- *flagp = (fexcept_t) __sim_exceptions & excepts & FE_ALL_EXCEPT;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fegetexceptflag, __old_fegetexceptflag)
-compat_symbol (libm, BP_SYM (__old_fegetexceptflag), BP_SYM (fegetexceptflag), GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, BP_SYM (__fegetexceptflag), BP_SYM (fegetexceptflag), GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fraiseexcpt.c b/sysdeps/powerpc/nofpu/fraiseexcpt.c
deleted file mode 100644
index cd915027e1..0000000000
--- a/sysdeps/powerpc/nofpu/fraiseexcpt.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Raise given exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <signal.h>
-#include <bp-sym.h>
-
-#undef feraiseexcept
-int
-__feraiseexcept (int x)
-{
- __sim_exceptions |= x;
- if (x == 0 || __sim_disabled_exceptions & x)
- /* Ignore exception. */
- ;
- else
- raise (SIGFPE);
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__feraiseexcept, __old_feraiseexcept)
-compat_symbol (libm, BP_SYM (__old_feraiseexcept), BP_SYM (feraiseexcept), GLIBC_2_1);
-#endif
-
-libm_hidden_ver (__feraiseexcept, feraiseexcept)
-versioned_symbol (libm, BP_SYM (__feraiseexcept), BP_SYM (feraiseexcept), GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/fsetexcptflg.c b/sysdeps/powerpc/nofpu/fsetexcptflg.c
deleted file mode 100644
index 85fd88f01f..0000000000
--- a/sysdeps/powerpc/nofpu/fsetexcptflg.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Set floating-point environment exception handling (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-#include <bp-sym.h>
-
-int
-__fesetexceptflag(const fexcept_t *flagp, int excepts)
-{
- /* Ignore exceptions not listed in 'excepts'. */
- __sim_exceptions = *flagp & excepts;
-
- return 0;
-}
-
-#include <shlib-compat.h>
-#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2)
-strong_alias (__fesetexceptflag, __old_fesetexceptflag)
-compat_symbol (libm, BP_SYM (__old_fesetexceptflag), BP_SYM (fesetexceptflag), GLIBC_2_1);
-#endif
-
-versioned_symbol (libm, BP_SYM (__fesetexceptflag), BP_SYM (fesetexceptflag), GLIBC_2_2);
diff --git a/sysdeps/powerpc/nofpu/ftestexcept.c b/sysdeps/powerpc/nofpu/ftestexcept.c
deleted file mode 100644
index ce8044fe0a..0000000000
--- a/sysdeps/powerpc/nofpu/ftestexcept.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Test floating-point exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-int
-fetestexcept (int x)
-{
- return __sim_exceptions & x;
-}
diff --git a/sysdeps/powerpc/nofpu/libm-test-ulps b/sysdeps/powerpc/nofpu/libm-test-ulps
deleted file mode 100644
index 73172b49a0..0000000000
--- a/sysdeps/powerpc/nofpu/libm-test-ulps
+++ /dev/null
@@ -1,890 +0,0 @@
-# Begin of automatic generation
-
-# atan2
-Test "atan2 (-0.75, -1.0) == -2.49809154479650885165983415456218025":
-float: 3
-ifloat: 3
-Test "atan2 (0.75, -1.0) == 2.49809154479650885165983415456218025":
-float: 3
-ifloat: 3
-Test "atan2 (1.390625, 0.9296875) == 0.981498387184244311516296577615519772":
-float: 1
-ifloat: 1
-
-# atanh
-Test "atanh (0.75) == 0.972955074527656652552676371721589865":
-float: 1
-ifloat: 1
-
-# cacosh
-Test "Real part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
-double: 1
-float: 7
-idouble: 1
-ifloat: 7
-Test "Imaginary part of: cacosh (-2 - 3 i) == -1.9833870299165354323470769028940395 + 2.1414491111159960199416055713254211 i":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-
-# casin
-Test "Real part of: casin (0.75 + 1.25 i) == 0.453276177638793913448921196101971749 + 1.13239363160530819522266333696834467 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# casinh
-Test "Real part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-Test "Imaginary part of: casinh (-2 - 3 i) == -1.9686379257930962917886650952454982 - 0.96465850440760279204541105949953237 i":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-Test "Real part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: casinh (0.75 + 1.25 i) == 1.03171853444778027336364058631006594 + 0.911738290968487636358489564316731207 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# catan
-Test "Real part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
-float: 3
-ifloat: 3
-Test "Imaginary part of: catan (-2 - 3 i) == -1.4099210495965755225306193844604208 - 0.22907268296853876629588180294200276 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Real part of: catan (0.75 + 1.25 i) == 1.10714871779409050301706546017853704 + 0.549306144334054845697622618461262852 i":
-float: 4
-ifloat: 4
-
-# catanh
-Test "Real part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
-double: 4
-idouble: 4
-Test "Imaginary part of: catanh (-2 - 3 i) == -0.14694666622552975204743278515471595 - 1.3389725222944935611241935759091443 i":
-float: 4
-ifloat: 4
-Test "Real part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
-double: 1
-idouble: 1
-Test "Imaginary part of: catanh (0.75 + 1.25 i) == 0.261492138795671927078652057366532140 + 0.996825126463918666098902241310446708 i":
-float: 6
-ifloat: 6
-
-# cbrt
-Test "cbrt (-27.0) == -3.0":
-double: 1
-idouble: 1
-Test "cbrt (0.75) == 0.908560296416069829445605878163630251":
-double: 1
-idouble: 1
-Test "cbrt (0.9921875) == 0.997389022060725270579075195353955217":
-double: 1
-idouble: 1
-
-# ccos
-Test "Imaginary part of: ccos (-2 - 3 i) == -4.18962569096880723013255501961597373 - 9.10922789375533659797919726277886212 i":
-float: 1
-ifloat: 1
-Test "Real part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccos (0.75 + 1.25 i) == 1.38173873063425888530729933139078645 - 1.09193013555397466170919531722024128 i":
-float: 1
-ifloat: 1
-
-# ccosh
-Test "Real part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (-2 - 3 i) == -3.72454550491532256547397070325597253 + 0.511822569987384608834463849801875634 i":
-float: 1
-ifloat: 1
-Test "Real part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "Imaginary part of: ccosh (0.75 + 1.25 i) == 0.408242591877968807788852146397499084 + 0.780365930845853240391326216300863152 i":
-float: 1
-ifloat: 1
-
-# cexp
-Test "Imaginary part of: cexp (-2.0 - 3.0 i) == -0.13398091492954261346140525546115575 - 0.019098516261135196432576240858800925 i":
-float: 1
-ifloat: 1
-Test "Real part of: cexp (0.75 + 1.25 i) == 0.667537446429131586942201977015932112 + 2.00900045494094876258347228145863909 i":
-float: 1
-ifloat: 1
-
-# clog
-Test "Imaginary part of: clog (-2 - 3 i) == 1.2824746787307683680267437207826593 - 2.1587989303424641704769327722648368 i":
-float: 3
-ifloat: 3
-Test "Real part of: clog (0.75 + 1.25 i) == 0.376885901188190075998919126749298416 + 1.03037682652431246378774332703115153 i":
-float: 1
-ifloat: 1
-
-# clog10
-Test "Imaginary part of: clog10 (-0 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-0 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-2 - 3 i) == 0.556971676153418384603252578971164214 - 0.937554462986374708541507952140189646 i":
-double: 1
-float: 5
-idouble: 1
-ifloat: 5
-Test "Imaginary part of: clog10 (-3 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-3 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 0 i) == inf + pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf + 1 i) == inf + pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 0 i) == inf - pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (-inf - 1 i) == inf - pi*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (0 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Real part of: clog10 (0.75 + 1.25 i) == 0.163679467193165171449476605077428975 + 0.447486970040493067069984724340855636 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 + inf i) == inf + pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (3 - inf i) == inf - pi/2*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf + inf i) == inf + pi/4*log10(e) i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: clog10 (inf - inf i) == inf - pi/4*log10(e) i":
-float: 1
-ifloat: 1
-
-# cos
-Test "cos (M_PI_6l * 2.0) == 0.5":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "cos (M_PI_6l * 4.0) == -0.5":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "cos (pi/2) == 0":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# cpow
-Test "Real part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: cpow (0.75 + 1.25 i, 0.0 + 1.0 i) == 0.331825439177608832276067945276730566 + 0.131338600281188544930936345230903032 i":
-float: 1
-ifloat: 1
-Test "Real part of: cpow (0.75 + 1.25 i, 0.75 + 1.25 i) == 0.117506293914473555420279832210420483 + 0.346552747708338676483025352060418001 i":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-Test "Real part of: cpow (0.75 + 1.25 i, 1.0 + 1.0 i) == 0.0846958290317209430433805274189191353 + 0.513285749182902449043287190519090481 i":
-double: 2
-float: 3
-idouble: 2
-ifloat: 3
-Test "Real part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-double: 1
-float: 4
-idouble: 1
-ifloat: 4
-Test "Imaginary part of: cpow (2 + 3 i, 4 + 0 i) == -119.0 - 120.0 i":
-float: 2
-ifloat: 2
-Test "Imaginary part of: cpow (e + 0 i, 0 + 2 * M_PIl i) == 1.0 + 0.0 i":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-# csinh
-Test "Imaginary part of: csinh (-2 - 3 i) == 3.59056458998577995201256544779481679 - 0.530921086248519805267040090660676560 i":
-double: 1
-idouble: 1
-Test "Real part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
-float: 1
-ifloat: 1
-Test "Imaginary part of: csinh (0.75 + 1.25 i) == 0.259294854551162779153349830618433028 + 1.22863452409509552219214606515777594 i":
-float: 1
-ifloat: 1
-
-# csqrt
-Test "Real part of: csqrt (-2 + 3 i) == 0.89597747612983812471573375529004348 + 1.6741492280355400404480393008490519 i":
-float: 1
-ifloat: 1
-Test "Real part of: csqrt (-2 - 3 i) == 0.89597747612983812471573375529004348 - 1.6741492280355400404480393008490519 i":
-float: 1
-ifloat: 1
-
-# ctan
-Test "Real part of: ctan (-2 - 3 i) == 0.376402564150424829275122113032269084e-2 - 1.00323862735360980144635859782192726 i":
-double: 1
-idouble: 1
-Test "Imaginary part of: ctan (0.75 + 1.25 i) == 0.160807785916206426725166058173438663 + 0.975363285031235646193581759755216379 i":
-double: 1
-idouble: 1
-
-# ctanh
-Test "Real part of: ctanh (-2 - 3 i) == -0.965385879022133124278480269394560686 + 0.988437503832249372031403430350121098e-2 i":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "Imaginary part of: ctanh (0 + pi/4 i) == 0.0 + 1.0 i":
-float: 1
-ifloat: 1
-Test "Real part of: ctanh (0.75 + 1.25 i) == 1.37260757053378320258048606571226857 + 0.385795952609750664177596760720790220 i":
-double: 1
-idouble: 1
-
-# erf
-Test "erf (1.25) == 0.922900128256458230136523481197281140":
-double: 1
-idouble: 1
-
-# erfc
-Test "erfc (2.0) == 0.00467773498104726583793074363274707139":
-double: 1
-idouble: 1
-Test "erfc (4.125) == 0.542340079956506600531223408575531062e-8":
-double: 1
-idouble: 1
-
-# exp10
-Test "exp10 (-1) == 0.1":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "exp10 (0.75) == 5.62341325190349080394951039776481231":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "exp10 (3) == 1000":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-
-# expm1
-Test "expm1 (0.75) == 1.11700001661267466854536981983709561":
-double: 1
-idouble: 1
-Test "expm1 (1) == M_El - 1.0":
-float: 1
-ifloat: 1
-
-# hypot
-Test "hypot (-0.7, -12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-0.7, 12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, -0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (-12.4, 0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (0.7, -12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (0.7, 12.4) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (12.4, -0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-Test "hypot (12.4, 0.7) == 12.419742348374220601176836866763271":
-float: 1
-ifloat: 1
-
-# j0
-Test "j0 (-4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (0.75) == 0.864242275166648623555731103820923211":
-float: 1
-ifloat: 1
-Test "j0 (10.0) == -0.245935764451348335197760862485328754":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "j0 (2.0) == 0.223890779141235668051827454649948626":
-float: 2
-ifloat: 2
-Test "j0 (4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "j0 (8.0) == 0.171650807137553906090869407851972001":
-float: 1
-ifloat: 1
-
-# j1
-Test "j1 (10.0) == 0.0434727461688614366697487680258592883":
-float: 2
-ifloat: 2
-Test "j1 (2.0) == 0.576724807756873387202448242269137087":
-double: 1
-idouble: 1
-Test "j1 (8.0) == 0.234636346853914624381276651590454612":
-double: 1
-idouble: 1
-
-# jn
-Test "jn (0, -4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 0.75) == 0.864242275166648623555731103820923211":
-float: 1
-ifloat: 1
-Test "jn (0, 10.0) == -0.245935764451348335197760862485328754":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "jn (0, 2.0) == 0.223890779141235668051827454649948626":
-float: 2
-ifloat: 2
-Test "jn (0, 4.0) == -3.9714980986384737228659076845169804197562E-1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (0, 8.0) == 0.171650807137553906090869407851972001":
-float: 1
-ifloat: 1
-Test "jn (1, 10.0) == 0.0434727461688614366697487680258592883":
-float: 2
-ifloat: 2
-Test "jn (1, 2.0) == 0.576724807756873387202448242269137087":
-double: 1
-idouble: 1
-Test "jn (1, 8.0) == 0.234636346853914624381276651590454612":
-double: 1
-idouble: 1
-Test "jn (10, 0.125) == 0.250543369809369890173993791865771547e-18":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (10, 0.75) == 0.149621713117596814698712483621682835e-10":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (10, 10.0) == 0.207486106633358857697278723518753428":
-double: 4
-float: 3
-idouble: 4
-ifloat: 3
-Test "jn (10, 2.0) == 0.251538628271673670963516093751820639e-6":
-float: 4
-ifloat: 4
-Test "jn (3, 0.125) == 0.406503832554912875023029337653442868e-4":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 0.75) == 0.848438342327410884392755236884386804e-2":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "jn (3, 10.0) == 0.0583793793051868123429354784103409563":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "jn (3, 2.0) == 0.128943249474402051098793332969239835":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# lgamma
-Test "lgamma (0.7) == 0.260867246531666514385732417016759578":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "lgamma (1.2) == -0.853740900033158497197028392998854470e-1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# log10
-Test "log10 (0.75) == -0.124938736608299953132449886193870744":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "log10 (e) == log10(e)":
-float: 1
-ifloat: 1
-
-# log1p
-Test "log1p (-0.25) == -0.287682072451780927439219005993827432":
-float: 1
-ifloat: 1
-
-# sincos
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in sin_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "sincos (pi/6, &sin_res, &cos_res) puts 0.86602540378443864676372317075293616 in cos_res":
-float: 1
-ifloat: 1
-
-# tan
-Test "tan (pi/4) == 1":
-double: 1
-idouble: 1
-
-# tgamma
-Test "tgamma (-0.5) == -2 sqrt (pi)":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "tgamma (0.5) == sqrt (pi)":
-float: 1
-ifloat: 1
-Test "tgamma (0.7) == 1.29805533264755778568117117915281162":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# y0
-Test "y0 (1.0) == 0.0882569642156769579829267660235151628":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (1.5) == 0.382448923797758843955068554978089862":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "y0 (10.0) == 0.0556711672835993914244598774101900481":
-float: 1
-ifloat: 1
-Test "y0 (8.0) == 0.223521489387566220527323400498620359":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-# y1
-Test "y1 (0.125) == -5.19993611253477499595928744876579921":
-double: 1
-idouble: 1
-Test "y1 (1.5) == -0.412308626973911295952829820633445323":
-float: 1
-ifloat: 1
-Test "y1 (10.0) == 0.249015424206953883923283474663222803":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "y1 (2.0) == -0.107032431540937546888370772277476637":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "y1 (8.0) == -0.158060461731247494255555266187483550":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-# yn
-Test "yn (0, 1.0) == 0.0882569642156769579829267660235151628":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 1.5) == 0.382448923797758843955068554978089862":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-Test "yn (0, 10.0) == 0.0556711672835993914244598774101900481":
-float: 1
-ifloat: 1
-Test "yn (0, 8.0) == 0.223521489387566220527323400498620359":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (1, 0.125) == -5.19993611253477499595928744876579921":
-double: 1
-idouble: 1
-Test "yn (1, 1.5) == -0.412308626973911295952829820633445323":
-float: 1
-ifloat: 1
-Test "yn (1, 10.0) == 0.249015424206953883923283474663222803":
-double: 3
-float: 1
-idouble: 3
-ifloat: 1
-Test "yn (1, 2.0) == -0.107032431540937546888370772277476637":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (1, 8.0) == -0.158060461731247494255555266187483550":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-Test "yn (10, 0.125) == -127057845771019398.252538486899753195":
-double: 1
-idouble: 1
-Test "yn (10, 0.75) == -2133501638.90573424452445412893839236":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (10, 1.0) == -121618014.278689189288130426667971145":
-double: 1
-idouble: 1
-Test "yn (10, 10.0) == -0.359814152183402722051986577343560609":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (10, 2.0) == -129184.542208039282635913145923304214":
-double: 2
-idouble: 2
-Test "yn (3, 0.125) == -2612.69757350066712600220955744091741":
-double: 1
-idouble: 1
-Test "yn (3, 0.75) == -12.9877176234475433186319774484809207":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 10.0) == -0.251362657183837329779204747654240998":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-Test "yn (3, 2.0) == -1.12778377684042778608158395773179238":
-double: 1
-idouble: 1
-
-# Maximal error of functions:
-Function: "atan2":
-float: 3
-ifloat: 3
-
-Function: "atanh":
-float: 1
-ifloat: 1
-
-Function: Real part of "cacosh":
-double: 1
-float: 7
-idouble: 1
-ifloat: 7
-
-Function: Imaginary part of "cacosh":
-double: 1
-float: 3
-idouble: 1
-ifloat: 3
-
-Function: Real part of "casin":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "casinh":
-double: 5
-float: 1
-idouble: 5
-ifloat: 1
-
-Function: Imaginary part of "casinh":
-double: 3
-float: 6
-idouble: 3
-ifloat: 6
-
-Function: Real part of "catan":
-float: 4
-ifloat: 4
-
-Function: Imaginary part of "catan":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "catanh":
-double: 4
-idouble: 4
-
-Function: Imaginary part of "catanh":
-float: 6
-ifloat: 6
-
-Function: "cbrt":
-double: 1
-idouble: 1
-
-Function: Real part of "ccos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccos":
-float: 1
-ifloat: 1
-
-Function: Real part of "ccosh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Imaginary part of "ccosh":
-float: 1
-ifloat: 1
-
-Function: Real part of "cexp":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "cexp":
-float: 1
-ifloat: 1
-
-Function: Real part of "clog":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "clog":
-float: 3
-ifloat: 3
-
-Function: Real part of "clog10":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "clog10":
-double: 1
-float: 5
-idouble: 1
-ifloat: 5
-
-Function: "cos":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: Real part of "cpow":
-double: 2
-float: 4
-idouble: 2
-ifloat: 4
-
-Function: Imaginary part of "cpow":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: Real part of "csinh":
-float: 1
-ifloat: 1
-
-Function: Imaginary part of "csinh":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: Real part of "csqrt":
-float: 1
-ifloat: 1
-
-Function: Real part of "ctan":
-double: 1
-idouble: 1
-
-Function: Imaginary part of "ctan":
-double: 1
-idouble: 1
-
-Function: Real part of "ctanh":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: Imaginary part of "ctanh":
-float: 1
-ifloat: 1
-
-Function: "erf":
-double: 1
-idouble: 1
-
-Function: "erfc":
-double: 1
-idouble: 1
-
-Function: "exp10":
-double: 6
-float: 2
-idouble: 6
-ifloat: 2
-
-Function: "expm1":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "hypot":
-float: 1
-ifloat: 1
-
-Function: "j0":
-double: 2
-float: 2
-idouble: 2
-ifloat: 2
-
-Function: "j1":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "jn":
-double: 4
-float: 4
-idouble: 4
-ifloat: 4
-
-Function: "lgamma":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "log10":
-double: 1
-float: 2
-idouble: 1
-ifloat: 2
-
-Function: "log1p":
-float: 1
-ifloat: 1
-
-Function: "sincos":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "tan":
-double: 1
-idouble: 1
-
-Function: "tgamma":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-
-Function: "y0":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "y1":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-Function: "yn":
-double: 3
-float: 2
-idouble: 3
-ifloat: 2
-
-# end of automatic generation
diff --git a/sysdeps/powerpc/nofpu/sim-full.c b/sysdeps/powerpc/nofpu/sim-full.c
deleted file mode 100644
index d018240e6d..0000000000
--- a/sysdeps/powerpc/nofpu/sim-full.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Software floating-point exception handling emulation.
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <signal.h>
-#include "soft-fp.h"
-#include "soft-supp.h"
-
-/* Global to store sticky exceptions. */
-int __sim_exceptions __attribute__ ((nocommon));
-libc_hidden_data_def (__sim_exceptions);
-
-/* By default, no exceptions should trap. */
-int __sim_disabled_exceptions = 0xffffffff;
-libc_hidden_data_def (__sim_disabled_exceptions);
-
-int __sim_round_mode __attribute__ ((nocommon));
-libc_hidden_data_def (__sim_round_mode);
-
-void
-__simulate_exceptions (int x)
-{
- __sim_exceptions |= x;
- if (x == 0 || __sim_disabled_exceptions & x)
- /* Ignore exception. */
- ;
- else
- raise (SIGFPE);
-}
diff --git a/sysdeps/powerpc/nofpu/soft-supp.h b/sysdeps/powerpc/nofpu/soft-supp.h
deleted file mode 100644
index 3922426bd0..0000000000
--- a/sysdeps/powerpc/nofpu/soft-supp.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Internal support stuff for complete soft float.
- Copyright (C) 2002, 2004 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <fenv.h>
-
-typedef union
-{
- fenv_t fenv;
- unsigned int l[2];
-} fenv_union_t;
-
-
-extern int __sim_exceptions;
-libc_hidden_proto (__sim_exceptions);
-extern int __sim_disabled_exceptions;
-libc_hidden_proto (__sim_disabled_exceptions);
-extern int __sim_round_mode;
-libc_hidden_proto (__sim_round_mode);
-
-extern void __simulate_exceptions (int x) attribute_hidden;
diff --git a/sysdeps/unix/alpha/sysdep.h b/sysdeps/unix/alpha/sysdep.h
index f9f1dd6e41..a154db8e41 100644
--- a/sysdeps/unix/alpha/sysdep.h
+++ b/sysdeps/unix/alpha/sysdep.h
@@ -242,9 +242,10 @@ __LABEL(name) \
register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_19 __asm__("$19"); \
+ register long _tmp_16 = (long) (arg1); \
\
_sc_0 = name; \
- _sc_16 = (long) (arg1); \
+ _sc_16 = _tmp_16; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3" \
: inline_syscall_r0_out_constraint (_sc_0), \
@@ -261,10 +262,12 @@ __LABEL(name) \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_19 __asm__("$19"); \
+ register long _tmp_16 = (long) (arg1); \
+ register long _tmp_17 = (long) (arg2); \
\
_sc_0 = name; \
- _sc_16 = (long) (arg1); \
- _sc_17 = (long) (arg2); \
+ _sc_16 = _tmp_16; \
+ _sc_17 = _tmp_17; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4" \
: inline_syscall_r0_out_constraint (_sc_0), \
@@ -282,11 +285,14 @@ __LABEL(name) \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
+ register long _tmp_16 = (long) (arg1); \
+ register long _tmp_17 = (long) (arg2); \
+ register long _tmp_18 = (long) (arg3); \
\
_sc_0 = name; \
- _sc_16 = (long) (arg1); \
- _sc_17 = (long) (arg2); \
- _sc_18 = (long) (arg3); \
+ _sc_16 = _tmp_16; \
+ _sc_17 = _tmp_17; \
+ _sc_18 = _tmp_18; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4 %5" \
: inline_syscall_r0_out_constraint (_sc_0), \
@@ -305,12 +311,16 @@ __LABEL(name) \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
+ register long _tmp_16 = (long) (arg1); \
+ register long _tmp_17 = (long) (arg2); \
+ register long _tmp_18 = (long) (arg3); \
+ register long _tmp_19 = (long) (arg4); \
\
_sc_0 = name; \
- _sc_16 = (long) (arg1); \
- _sc_17 = (long) (arg2); \
- _sc_18 = (long) (arg3); \
- _sc_19 = (long) (arg4); \
+ _sc_16 = _tmp_16; \
+ _sc_17 = _tmp_17; \
+ _sc_18 = _tmp_18; \
+ _sc_19 = _tmp_19; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4 %5 %6" \
: inline_syscall_r0_out_constraint (_sc_0), \
@@ -330,13 +340,18 @@ __LABEL(name) \
register long _sc_18 __asm__("$18"); \
register long _sc_19 __asm__("$19"); \
register long _sc_20 __asm__("$20"); \
+ register long _tmp_16 = (long) (arg1); \
+ register long _tmp_17 = (long) (arg2); \
+ register long _tmp_18 = (long) (arg3); \
+ register long _tmp_19 = (long) (arg4); \
+ register long _tmp_20 = (long) (arg5); \
\
_sc_0 = name; \
- _sc_16 = (long) (arg1); \
- _sc_17 = (long) (arg2); \
- _sc_18 = (long) (arg3); \
- _sc_19 = (long) (arg4); \
- _sc_20 = (long) (arg5); \
+ _sc_16 = _tmp_16; \
+ _sc_17 = _tmp_17; \
+ _sc_18 = _tmp_18; \
+ _sc_19 = _tmp_19; \
+ _sc_20 = _tmp_20; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7" \
: inline_syscall_r0_out_constraint (_sc_0), \
@@ -357,14 +372,20 @@ __LABEL(name) \
register long _sc_19 __asm__("$19"); \
register long _sc_20 __asm__("$20"); \
register long _sc_21 __asm__("$21"); \
+ register long _tmp_16 = (long) (arg1); \
+ register long _tmp_17 = (long) (arg2); \
+ register long _tmp_18 = (long) (arg3); \
+ register long _tmp_19 = (long) (arg4); \
+ register long _tmp_20 = (long) (arg5); \
+ register long _tmp_21 = (long) (arg6); \
\
_sc_0 = name; \
- _sc_16 = (long) (arg1); \
- _sc_17 = (long) (arg2); \
- _sc_18 = (long) (arg3); \
- _sc_19 = (long) (arg4); \
- _sc_20 = (long) (arg5); \
- _sc_21 = (long) (arg6); \
+ _sc_16 = _tmp_16; \
+ _sc_17 = _tmp_17; \
+ _sc_18 = _tmp_18; \
+ _sc_19 = _tmp_19; \
+ _sc_20 = _tmp_20; \
+ _sc_21 = _tmp_21; \
__asm__ __volatile__ \
("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \
: inline_syscall_r0_out_constraint (_sc_0), \
diff --git a/sysdeps/powerpc/nofpu/feenablxcpt.c b/sysdeps/unix/fdopendir.c
index 060e450590..3c481fcf0d 100644
--- a/sysdeps/powerpc/nofpu/feenablxcpt.c
+++ b/sysdeps/unix/fdopendir.c
@@ -1,6 +1,4 @@
-/* Enable exceptions (soft-float edition).
- Copyright (C) 2002 Free Software Foundation, Inc.
- Contributed by Aldy Hernandez <aldyh@redhat.com>, 2002.
+/* Copyright (C) 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -18,16 +16,27 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <fenv.h>
+#include <dirent.h>
+#include <errno.h>
+#include <sys/stat.h>
-extern int __sim_disabled_exceptions;
+#include <not-cancel.h>
-int
-feenableexcept (int exceptions)
-{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
-
- __sim_disabled_exceptions &= ~exceptions;
- return old_exceptions;
+DIR *
+fdopendir (int fd)
+{
+ struct stat64 statbuf;
+
+ if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &statbuf), 0) < 0)
+ goto out;
+ if (__builtin_expect (! S_ISDIR (statbuf.st_mode), 0))
+ {
+ __set_errno (ENOTDIR);
+ out:
+ close_not_cancel_no_status (fd);
+ return NULL;
+ }
+
+ return __alloc_dir (fd, &statbuf);
}
diff --git a/sysdeps/unix/opendir.c b/sysdeps/unix/opendir.c
index 5e03ed9b20..366670b79c 100644
--- a/sysdeps/unix/opendir.c
+++ b/sysdeps/unix/opendir.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1996,98,2000-2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1996,98,2000-2003,2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -78,11 +78,7 @@ tryopen_o_directory (void)
DIR *
__opendir (const char *name)
{
- DIR *dirp;
struct stat64 statbuf;
- int fd;
- size_t allocation;
- int save_errno;
if (__builtin_expect (name[0], '\1') == '\0')
{
@@ -113,7 +109,7 @@ __opendir (const char *name)
}
}
- fd = open_not_cancel_2 (name, O_RDONLY|O_NDELAY|EXTRA_FLAGS|O_LARGEFILE);
+ int fd = open_not_cancel_2 (name, O_RDONLY|O_NDELAY|EXTRA_FLAGS|O_LARGEFILE);
if (__builtin_expect (fd, 0) < 0)
return NULL;
@@ -129,18 +125,30 @@ __opendir (const char *name)
{
if (__builtin_expect (! S_ISDIR (statbuf.st_mode), 0))
{
- save_errno = ENOTDIR;
- goto lose;
+ __set_errno (ENOTDIR);
+ lose:
+ close_not_cancel_no_status (fd);
+ return NULL;
}
}
+ return __alloc_dir (fd, &statbuf);
+}
+weak_alias (__opendir, opendir)
+
+
+DIR *
+internal_function
+__alloc_dir (int fd, struct stat64 *statp)
+{
if (__builtin_expect (__fcntl (fd, F_SETFD, FD_CLOEXEC), 0) < 0)
goto lose;
+ size_t allocation;
#ifdef _STATBUF_ST_BLKSIZE
- if (__builtin_expect ((size_t) statbuf.st_blksize >= sizeof (struct dirent64),
+ if (__builtin_expect ((size_t) statp->st_blksize >= sizeof (struct dirent64),
1))
- allocation = statbuf.st_blksize;
+ allocation = statp->st_blksize;
else
#endif
allocation = (BUFSIZ < sizeof (struct dirent64)
@@ -148,11 +156,11 @@ __opendir (const char *name)
const int pad = -sizeof (DIR) % __alignof__ (struct dirent64);
- dirp = (DIR *) malloc (sizeof (DIR) + allocation + pad);
+ DIR *dirp = (DIR *) malloc (sizeof (DIR) + allocation + pad);
if (dirp == NULL)
lose:
{
- save_errno = errno;
+ int save_errno = errno;
close_not_cancel_no_status (fd);
__set_errno (save_errno);
return NULL;
@@ -166,4 +174,3 @@ __opendir (const char *name)
return dirp;
}
-weak_alias (__opendir, opendir)
diff --git a/sysdeps/unix/sockatmark.c b/sysdeps/unix/sockatmark.c
index 306ab36ee1..a2476415ac 100644
--- a/sysdeps/unix/sockatmark.c
+++ b/sysdeps/unix/sockatmark.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -24,5 +24,7 @@ int
sockatmark (fd)
int fd;
{
- return __ioctl (fd, SIOCATMARK);
+ int answ;
+
+ return __ioctl (fd, SIOCATMARK, &answ) == -1 ? -1 : answ;
}
diff --git a/sysdeps/unix/sysv/i386/signal.S b/sysdeps/unix/sysv/i386/signal.S
deleted file mode 100644
index af51bc5182..0000000000
--- a/sysdeps/unix/sysv/i386/signal.S
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1992, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#include <sysdep.h>
-
-/* This is just a standard system call, except we need to load %edx
- with the address of the `__sigreturn' function. */
-
- .globl syscall_error
- .globl C_SYMBOL_NAME(__sigreturn)
-ENTRY (signal)
- lea SYS_signal, %eax
- lea C_SYMBOL_NAME(__sigreturn), %edx
- .byte 0x9a, 0, 0, 0, 0, 7, 0 /* lcall $7, $0 -- GAS bug. */
- jb syscall_error
- ret
diff --git a/sysdeps/unix/sysv/linux/lddlibc4.c b/sysdeps/unix/sysv/linux/lddlibc4.c
index f7b208e7d8..7683ec2efd 100644
--- a/sysdeps/unix/sysv/linux/lddlibc4.c
+++ b/sysdeps/unix/sysv/linux/lddlibc4.c
@@ -1,5 +1,5 @@
/* Stub for ldd script to print Linux libc4 dependencies.
- Copyright (C) 1998 Free Software Foundation, Inc.
+ Copyright (C) 1998, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@@ -84,5 +84,5 @@ main (int argc, char *argv[])
putenv (buf);
/* Now we can execute the binary. */
- return execl (filename, NULL) ? 4 : 0;
+ return execv (filename, &argv[argc]) ? 4 : 0;
}
diff --git a/sysdeps/unix/sysv/linux/mips/brk.c b/sysdeps/unix/sysv/linux/mips/brk.c
index 4be88a9c5f..5c31bec5ee 100644
--- a/sysdeps/unix/sysv/linux/mips/brk.c
+++ b/sysdeps/unix/sysv/linux/mips/brk.c
@@ -1,5 +1,5 @@
/* brk system call for Linux/MIPS.
- Copyright (C) 2000 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -37,9 +37,10 @@ __brk (void *addr)
register long int res __asm__ ("$2");
asm ("move\t$4,%2\n\t"
+ "li\t%0,%1\n\t"
"syscall" /* Perform the system call. */
: "=r" (res)
- : "0" (SYS_ify (brk)), "r" (addr)
+ : "I" (SYS_ify (brk)), "r" (addr)
: "$4", "$7");
newbrk = (void *) res;
}
diff --git a/sysdeps/unix/sysv/linux/mips/getpagesize.c b/sysdeps/unix/sysv/linux/mips/getpagesize.c
new file mode 100644
index 0000000000..49492e5137
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/getpagesize.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/ia64/getpagesize.c>
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S b/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S
index 7b14089bcb..e4b4f00a8c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/ioctl.S
@@ -1,4 +1,4 @@
-/* Copyright 2003 Free Software Foundation, Inc.
+/* Copyright 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -25,16 +25,16 @@
.text
ENTRY (__ioctl)
+ sll a1, a1, 0
li v0, __NR_ioctl
- sll a1,a1,0
syscall /* Do the system call. */
bne a3, zero, L(error)
ret
L(error):
- .cpsetup t9, a0, __ioctl
- PTR_LA t9,__syscall_error
- .cprestore
+ SETUP_GP64 (a0, __ioctl)
+ PTR_LA t9, __syscall_error
+ RESTORE_GP64
jr t9
PSEUDO_END (__ioctl)
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/syscall.S b/sysdeps/unix/sysv/linux/mips/mips64/syscall.S
index ea5bf491d6..3c6aaac810 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/syscall.S
+++ b/sysdeps/unix/sysv/linux/mips/mips64/syscall.S
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -20,17 +20,20 @@
#include <sys/asm.h>
-/* Please consult the file sysdeps/unix/sysv/linux/x86-64/sysdep.h for
- more information about the value -4095 used below. */
+/* Usage:
+ long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
-/* Usage: long syscall (syscall_number, arg1, arg2, arg3, arg4, arg5)
- We need to do some arg shifting, the syscall_number will be in
- rax. */
+ We need to do some arg shifting, syscall_number will be in v0. */
.text
-ENTRY (syscall)
- move v0, a0 /* Syscall number -> v0 */
+NESTED (syscall, SZREG, ra)
+ .mask 0x00010000, -SZREG
+ .fmask 0x00000000, 0
+ PTR_ADDIU sp, -SZREG
+ REG_S s0, (sp)
+
+ move s0, a0
move a0, a1 /* shift arg1 - arg7. */
move a1, a2
move a2, a3
@@ -39,15 +42,19 @@ ENTRY (syscall)
move a5, a6
move a6, a7
+ move v0, s0 /* Syscall number -> v0 */
syscall /* Do the system call. */
+
+ REG_L s0, (sp)
+ PTR_ADDIU sp, SZREG
bne a3, zero, L(error)
ret
L(error):
- .cpsetup t9, a0, syscall
- PTR_LA t9,__syscall_error
- .cprestore
+ SETUP_GP64 (a0, syscall)
+ PTR_LA t9, __syscall_error
+ RESTORE_GP64
jr t9
-PSEUDO_END (syscall)
+END (syscall)