diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-10-31 23:32:56 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-10-31 23:32:56 +0000 |
commit | 63ae7b6309964400c6289d9030c7d336a33b304f (patch) | |
tree | b4b63c3c08a2221de53048493b2c586a9aa79689 /sysdeps/sparc | |
parent | b4cbd37109d882aa052e7973684774eaa887071b (diff) | |
download | glibc-63ae7b6309964400c6289d9030c7d336a33b304f.tar glibc-63ae7b6309964400c6289d9030c7d336a33b304f.tar.gz glibc-63ae7b6309964400c6289d9030c7d336a33b304f.tar.bz2 glibc-63ae7b6309964400c6289d9030c7d336a33b304f.zip |
Update.
* Versions.def (libm): Add GLIBC_2.1.3.
ISO C99 TR1 changes various fe* functions to return an error value.
* math/Versions [GLIBC_2.1.3]: Add feclearexcept, fegetexceptflag,
feraiseexcept, fesetexceptflag, fegetenv, fesetenv, and feupdateenv.
* sysdeps/alpha/fpu/fclrexcpt.c: Return value and add alias.
* sysdeps/alpha/fpu/fegetenv.c: Likewise.
* sysdeps/alpha/fpu/fesetenv.c: Likewise.
* sysdeps/alpha/fpu/feupdateenv.c: Likewise.
* sysdeps/alpha/fpu/fgetexcptflg.c: Likewise.
* sysdeps/alpha/fpu/fraiseexcpt.c: Likewise.
* sysdeps/alpha/fpu/fsetexcptflg.c: Likewise.
* sysdeps/arm/fpu/fclrexcpt.c: Likewise.
* sysdeps/arm/fpu/fegetenv.c: Likewise.
* sysdeps/arm/fpu/fesetenv.c: Likewise.
* sysdeps/arm/fpu/fraiseexcpt.c: Likewise.
* sysdeps/arm/fpu/fsetexcptflg.c: Likewise.
* sysdeps/generic/fclrexcpt.c: Likewise.
* sysdeps/generic/fegetenv.c: Likewise.
* sysdeps/generic/fesetenv.c: Likewise.
* sysdeps/generic/feupdateenv.c: Likewise.
* sysdeps/generic/fgetexcptflg.c: Likewise.
* sysdeps/generic/fraiseexcpt.c: Likewise.
* sysdeps/generic/fsetexcptflg.c: Likewise.
* sysdeps/i386/fpu/fclrexcpt.c: Likewise.
* sysdeps/i386/fpu/fegetenv.c: Likewise.
* sysdeps/i386/fpu/fesetenv.c: Likewise.
* sysdeps/i386/fpu/feupdateenv.c: Likewise.
* sysdeps/i386/fpu/fgetexcptflg.c: Likewise.
* sysdeps/i386/fpu/fraiseexcpt.c: Likewise.
* sysdeps/i386/fpu/fsetexcptflg.c: Likewise.
* sysdeps/m68k/fpu/fclrexcpt.c: Likewise.
* sysdeps/m68k/fpu/fegetenv.c: Likewise.
* sysdeps/m68k/fpu/fesetenv.c: Likewise.
* sysdeps/m68k/fpu/feupdateenv.c: Likewise.
* sysdeps/m68k/fpu/fgetexcptflg.c: Likewise.
* sysdeps/m68k/fpu/fraiseexcpt.c: Likewise.
* sysdeps/m68k/fpu/fsetexcptflg.c: Likewise.
* sysdeps/mips/fclrexcpt.c: Likewise.
* sysdeps/mips/fegetenv.c: Likewise.
* sysdeps/mips/fesetenv.c: Likewise.
* sysdeps/mips/feupdateenv.c: Likewise.
* sysdeps/mips/fgetexcptflg.c: Likewise.
* sysdeps/powerpc/fclrexcpt.c: Likewise.
* sysdeps/powerpc/fegetenv.c: Likewise.
* sysdeps/powerpc/fesetenv.c: Likewise.
* sysdeps/powerpc/feupdateenv.c: Likewise.
* sysdeps/powerpc/fgetexcptflg.c: Likewise.
* sysdeps/powerpc/fraiseexcpt.c: Likewise.
* sysdeps/powerpc/fsetexcptflg.c: Likewise.
* sysdeps/sparc/fpu/fclrexcpt.c: Likewise.
* sysdeps/sparc/fpu/fegetenv.c: Likewise.
* sysdeps/sparc/fpu/fesetenv.c: Likewise.
* sysdeps/sparc/fpu/feupdateenv.c: Likewise.
* sysdeps/sparc/fpu/fgetexcptflg.c: Likewise.
* sysdeps/sparc/fpu/fraiseexcpt.c: Likewise.
* sysdeps/sparc/fpu/fsetexcptflg.c: Likewise.
* math/fenv.h: Adjust prototypes.: Likewise.
* manual/arith.texi: Adjust documentation for these changes.
* manual/arith.texi: Document feraiseexcept.
* sysdeps/powerpc/fegetenv.c: Moved to...
* sysdeps/powerpc/fpu/fegetenv.c: ...here.
* sysdeps/powerpc/fegetround.c: Moved to...
* sysdeps/powerpc/fpu/fegetround.c: ...here.
* sysdeps/powerpc/feholdexcpt.c: Moved to...
* sysdeps/powerpc/fpu/feholdexcpt.c: ...here.
* sysdeps/powerpc/fesetenv.c: Moved to...
* sysdeps/powerpc/fpu/fesetenv.c: ...here.
* sysdeps/powerpc/fenv_libc.h: Moved to...
* sysdeps/powerpc/fpu/fenv_libc.h: ...here.
* sysdeps/powerpc/feupdateenv.c: Moved to...
* sysdeps/powerpc/fpu/feupdateenv.c: ...here.
* sysdeps/powerpc/fgetexcptflg.c: Moved to...
* sysdeps/powerpc/fpu/fgetexcptflg.c: ...here.
* sysdeps/powerpc/fraiseexcpt.c: Moved to...
* sysdeps/powerpc/fpu/fraiseexcpt.c: ...here.
* sysdeps/powerpc/fsetexcptflg.c: Moved to...
* sysdeps/powerpc/fpu/fsetexcptflg.c: ...here.
* sysdeps/powerpc/ftestexcept.c: Moved to...
* sysdeps/powerpc/fpu/ftestexcept.c: ...here.
* sysdeps/powerpc/fesetround.c: Moved to...
* sysdeps/powerpc/fpu/fesetround.c: ...here
* sysdeps/powerpc/fenv_const.c: Moved to...
* sysdeps/powerpc/fpu/fenv_const.c: ...here.
1999-10-29 Jakub Jelinek <jakub@redhat.com>
* stdlib/longlong.h: Avoid UDIV_TIME redefinition.
* sysdeps/sparc/sparc32/dl-machine.h: Fix loading of SPARC v8plus
libraries from statically linked programs.
* sysdeps/unix/sysv/linux/sparc/bits/sigaction.h: POSIX 199309
fix for sigaction on SPARC.
Patches by David S. Miller <davem@redhat.com>.
* sysdeps/unix/sysv/linux/sparc/sys/ucontext.h: Declare
gregset_t and other required structures and defines for SPARC 64bit
ABI as well, not only 32bit ABI.
1999-10-31 Andreas Jaeger <aj@suse.de>
* sysdeps/sparc/sparc64/fpu/bits/huge_val.h: Replace __USE_ISOC9X
by __USE_ISOC99 and update comments.
* math/complex.h: Update comments for ISO C99.
* math/fenv.h: Likewise.
* math/test-fenv.c: Likewise.
* math/tgmath.h: Likewise.
* libio/stdio.h: Likewise.
* posix/sys/types.h: Likewise.
* sysdeps/generic/inttypes.h: Likewise.
* sysdeps/generic/stdint.h: Likewise.
1999-10-31 Ulrich Drepper <drepper@cygnus.com>
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r-- | sysdeps/sparc/fpu/fclrexcpt.c | 12 | ||||
-rw-r--r-- | sysdeps/sparc/fpu/fegetenv.c | 12 | ||||
-rw-r--r-- | sysdeps/sparc/fpu/fesetenv.c | 12 | ||||
-rw-r--r-- | sysdeps/sparc/fpu/feupdateenv.c | 12 | ||||
-rw-r--r-- | sysdeps/sparc/fpu/fgetexcptflg.c | 12 | ||||
-rw-r--r-- | sysdeps/sparc/fpu/fraiseexcpt.c | 34 | ||||
-rw-r--r-- | sysdeps/sparc/fpu/fsetexcptflg.c | 12 | ||||
-rw-r--r-- | sysdeps/sparc/sparc32/dl-machine.h | 4 | ||||
-rw-r--r-- | sysdeps/sparc/sparc64/fpu/bits/huge_val.h | 6 |
9 files changed, 75 insertions, 41 deletions
diff --git a/sysdeps/sparc/fpu/fclrexcpt.c b/sysdeps/sparc/fpu/fclrexcpt.c index 8dc68e84e9..89673962e2 100644 --- a/sysdeps/sparc/fpu/fclrexcpt.c +++ b/sysdeps/sparc/fpu/fclrexcpt.c @@ -1,5 +1,5 @@ /* Clear given exceptions in current floating-point environment. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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 @@ -19,8 +19,8 @@ #include <fenv.h> -void -feclearexcept (int excepts) +int +__feclearexcept (int excepts) { fenv_t tmp; @@ -29,4 +29,10 @@ feclearexcept (int excepts) tmp &= ~(excepts & FE_ALL_EXCEPT); __fenv_ldfsr (tmp); + + /* Success. */ + return 0; } +strong_alias (__feclearexcept, __old_feclearexcept) +symbol_version (__old_feclearexcept, feclearexcept, GLIBC_2.1); +default_symbol_version (__feclearexcept, feclearexcept, GLIBC_2.1.3); diff --git a/sysdeps/sparc/fpu/fegetenv.c b/sysdeps/sparc/fpu/fegetenv.c index a796ccb731..f526cdd9c5 100644 --- a/sysdeps/sparc/fpu/fegetenv.c +++ b/sysdeps/sparc/fpu/fegetenv.c @@ -1,5 +1,5 @@ /* Store current floating-point environment. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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 @@ -19,8 +19,14 @@ #include <fenv.h> -void -fegetenv (fenv_t *envp) +int +__fegetenv (fenv_t *envp) { __fenv_stfsr (*envp); + + /* Success. */ + return 0; } +strong_alias (__fegetenv, __old_fegetenv) +symbol_version (__old_fegetenv, fegetenv, GLIBC_2.1) +default_symbol_version (__fegetenv, fegetenv, GLIBC_2.1.3) diff --git a/sysdeps/sparc/fpu/fesetenv.c b/sysdeps/sparc/fpu/fesetenv.c index 44c5b2629c..85c695a505 100644 --- a/sysdeps/sparc/fpu/fesetenv.c +++ b/sysdeps/sparc/fpu/fesetenv.c @@ -1,5 +1,5 @@ /* Install given floating-point environment. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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 @@ -19,8 +19,8 @@ #include <fenv.h> -void -fesetenv (const fenv_t *envp) +int +__fesetenv (const fenv_t *envp) { fenv_t dummy; @@ -40,4 +40,10 @@ fesetenv (const fenv_t *envp) } __fenv_ldfsr (*envp); + + /* Success. */ + return 0; } +strong_alias (__fesetenv, __old_fesetenv) +symbol_version (__old_fesetenv, fesetenv, GLIBC_2.1); +default_symbol_version (__fesetenv, fesetenv, GLIBC_2.1.3); diff --git a/sysdeps/sparc/fpu/feupdateenv.c b/sysdeps/sparc/fpu/feupdateenv.c index 0fba9975f8..6fce23e0eb 100644 --- a/sysdeps/sparc/fpu/feupdateenv.c +++ b/sysdeps/sparc/fpu/feupdateenv.c @@ -1,5 +1,5 @@ /* Install given floating-point environment and raise exceptions. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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 @@ -19,8 +19,8 @@ #include <fenv.h> -void -feupdateenv (const fenv_t *envp) +int +__feupdateenv (const fenv_t *envp) { fexcept_t tmp; @@ -35,4 +35,10 @@ feupdateenv (const fenv_t *envp) defined format of the values in objects of type fexcept_t is the same as the ones specified using the FE_* constants. */ feraiseexcept ((int) tmp); + + /* Success. */ + return 0; } +strong_alias (__feupdateenv, __old_feupdateenv) +symbol_version (__old_feupdateenv, feupdateenv, GLIBC_2.1); +default_symbol_version (__feupdateenv, feupdateenv, GLIBC_2.1.3); diff --git a/sysdeps/sparc/fpu/fgetexcptflg.c b/sysdeps/sparc/fpu/fgetexcptflg.c index 977c93e2ca..2674d3ac84 100644 --- a/sysdeps/sparc/fpu/fgetexcptflg.c +++ b/sysdeps/sparc/fpu/fgetexcptflg.c @@ -1,5 +1,5 @@ /* Store current representation for exceptions. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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 @@ -19,8 +19,8 @@ #include <fenv.h> -void -fegetexceptflag (fexcept_t *flagp, int excepts) +int +__fegetexceptflag (fexcept_t *flagp, int excepts) { fexcept_t tmp; @@ -28,4 +28,10 @@ fegetexceptflag (fexcept_t *flagp, int excepts) __fenv_stfsr (tmp); *flagp = tmp & excepts & FE_ALL_EXCEPT; + + /* Success. */ + return 0; } +strong_alias (__fegetexceptflag, __old_fegetexceptflag) +symbol_version (__old_fegetexceptflag, fegetexceptflag, GLIBC_2.1); +default_symbol_version (__fegetexceptflag, fegetexceptflag, GLIBC_2.1.3); diff --git a/sysdeps/sparc/fpu/fraiseexcpt.c b/sysdeps/sparc/fpu/fraiseexcpt.c index 28db8b360a..4b0b848ff7 100644 --- a/sysdeps/sparc/fpu/fraiseexcpt.c +++ b/sysdeps/sparc/fpu/fraiseexcpt.c @@ -1,5 +1,5 @@ /* Raise given exceptions. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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,8 +20,8 @@ #include <fenv.h> #include <math.h> -void -feraiseexcept (int excepts) +int +__feraiseexcept (int excepts) { static volatile double sink; static const struct { @@ -37,32 +37,28 @@ feraiseexcept (int excepts) /* First: invalid exception. */ if ((FE_INVALID & excepts) != 0) - { - /* One example of a invalid operation is 0/0. */ - sink = c.zero / c.zero; - } + /* One example of a invalid operation is 0/0. */ + sink = c.zero / c.zero; /* Next: division by zero. */ if ((FE_DIVBYZERO & excepts) != 0) - { - sink = c.one / c.zero; - } + sink = c.one / c.zero; /* Next: overflow. */ if ((FE_OVERFLOW & excepts) != 0) - { - sink = c.max * c.max; - } + sink = c.max * c.max; /* Next: underflow. */ if ((FE_UNDERFLOW & excepts) != 0) - { - sink = c.min / c.sixteen; - } + sink = c.min / c.sixteen; /* Last: inexact. */ if ((FE_INEXACT & excepts) != 0) - { - sink = c.one / c.pi; - } + sink = c.one / c.pi; + + /* Success. */ + return 0; } +strong_alias (__feraiseexcept, __old_feraiseexcept) +symbol_version (__old_feraiseexcept, feraiseexcept, GLIBC_2.1); +default_symbol_version (__feraiseexcept, feraiseexcept, GLIBC_2.1.3); diff --git a/sysdeps/sparc/fpu/fsetexcptflg.c b/sysdeps/sparc/fpu/fsetexcptflg.c index 1029cde03d..8d8a33b5e6 100644 --- a/sysdeps/sparc/fpu/fsetexcptflg.c +++ b/sysdeps/sparc/fpu/fsetexcptflg.c @@ -1,5 +1,5 @@ /* Set floating-point environment exception handling. - Copyright (C) 1997 Free Software Foundation, Inc. + Copyright (C) 1997, 1999 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,8 +20,8 @@ #include <fenv.h> #include <math.h> -void -fesetexceptflag (const fexcept_t *flagp, int excepts) +int +__fesetexceptflag (const fexcept_t *flagp, int excepts) { fenv_t tmp; @@ -31,4 +31,10 @@ fesetexceptflag (const fexcept_t *flagp, int excepts) tmp |= *flagp & excepts & FE_ALL_EXCEPT; __fenv_ldfsr (tmp); + + /* Success. */ + return 0; } +strong_alias (__fesetexceptflag, __old_fesetexceptflag) +symbol_version (__old_fesetexceptflag, fesetexceptflag, GLIBC_2.1); +default_symbol_version (__fesetexceptflag, fesetexceptflag, GLIBC_2.1.3); diff --git a/sysdeps/sparc/sparc32/dl-machine.h b/sysdeps/sparc/sparc32/dl-machine.h index e6debe05ac..8750791fe0 100644 --- a/sysdeps/sparc/sparc32/dl-machine.h +++ b/sysdeps/sparc/sparc32/dl-machine.h @@ -56,7 +56,9 @@ elf_machine_matches_host (Elf32_Half e_machine) weak_extern (_dl_hwcap_mask); hwcap = WEAKADDR(_dl_hwcap); - return hwcap && (*hwcap & _dl_hwcap_mask & HWCAP_SPARC_V9); + /* XXX The following is wrong! Dave Miller rejected to implement it + correctly. If this causes problems shoot *him*! */ + return hwcap == NULL || (*hwcap & _dl_hwcap_mask & HWCAP_SPARC_V9); } else return 0; diff --git a/sysdeps/sparc/sparc64/fpu/bits/huge_val.h b/sysdeps/sparc/sparc64/fpu/bits/huge_val.h index 788527477c..cd93257cbd 100644 --- a/sysdeps/sparc/sparc64/fpu/bits/huge_val.h +++ b/sysdeps/sparc/sparc64/fpu/bits/huge_val.h @@ -54,9 +54,9 @@ static __huge_val_t __huge_val = { __HUGE_VAL_bytes }; #endif /* GCC. */ -/* ISO C 9X extensions: (float) HUGE_VALF and (long double) HUGE_VALL. */ +/* ISO C99 extensions: (float) HUGE_VALF and (long double) HUGE_VALL. */ -#ifdef __USE_ISOC9X +#ifdef __USE_ISOC99 # if __GNUC_PREREQ(2,95) @@ -119,4 +119,4 @@ static __huge_vall_t __huge_vall = { __HUGE_VALL_bytes }; # endif /* GCC 2.95. */ -#endif /* __USE_ISOC9X. */ +#endif /* __USE_ISOC99. */ |