From 63ae7b6309964400c6289d9030c7d336a33b304f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 31 Oct 1999 23:32:56 +0000 Subject: 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 * 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 . * 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 * 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 --- sysdeps/arm/fpu/fclrexcpt.c | 16 +++++++++++----- sysdeps/arm/fpu/fegetenv.c | 12 +++++++++--- sysdeps/arm/fpu/fesetenv.c | 16 +++++++++++----- sysdeps/arm/fpu/fraiseexcpt.c | 16 +++++++++++----- sysdeps/arm/fpu/fsetexcptflg.c | 16 +++++++++++----- 5 files changed, 53 insertions(+), 23 deletions(-) (limited to 'sysdeps/arm') diff --git a/sysdeps/arm/fpu/fclrexcpt.c b/sysdeps/arm/fpu/fclrexcpt.c index 34ad36dfa8..0bcdfdf5d9 100644 --- a/sysdeps/arm/fpu/fclrexcpt.c +++ b/sysdeps/arm/fpu/fclrexcpt.c @@ -1,5 +1,5 @@ /* Clear given exceptions in current floating-point environment. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 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 #include -void -feclearexcept (int excepts) +int +__feclearexcept (int excepts) { unsigned long int temp; @@ -29,11 +29,17 @@ feclearexcept (int excepts) excepts &= FE_ALL_EXCEPT; /* Get the current floating point status. */ - _FPU_GETCW(temp); + _FPU_GETCW (temp); /* Clear the relevant bits. */ temp &= excepts ^ FE_ALL_EXCEPT; /* Put the new data in effect. */ - _FPU_SETCW(temp); + _FPU_SETCW (temp); + + /* 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/arm/fpu/fegetenv.c b/sysdeps/arm/fpu/fegetenv.c index 99dc1f0d8c..7fde5f21e4 100644 --- a/sysdeps/arm/fpu/fegetenv.c +++ b/sysdeps/arm/fpu/fegetenv.c @@ -20,10 +20,16 @@ #include #include -void -fegetenv (fenv_t *envp) +int +__fegetenv (fenv_t *envp) { unsigned long int temp; - _FPU_GETCW(temp); + _FPU_GETCW (temp); envp->__cw = temp; + + /* 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/arm/fpu/fesetenv.c b/sysdeps/arm/fpu/fesetenv.c index 7f3a434778..13cda82554 100644 --- a/sysdeps/arm/fpu/fesetenv.c +++ b/sysdeps/arm/fpu/fesetenv.c @@ -20,14 +20,20 @@ #include #include -void -fesetenv (const fenv_t *envp) +int +__fesetenv (const fenv_t *envp) { if (envp == FE_DFL_ENV) - _FPU_SETCW(_FPU_DEFAULT); + _FPU_SETCW (_FPU_DEFAULT); else { - unsigned long temp = envp->__cw; - _FPU_SETCW(temp); + unsigned long int temp = envp->__cw; + _FPU_SETCW (temp); } + + /* 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/arm/fpu/fraiseexcpt.c b/sysdeps/arm/fpu/fraiseexcpt.c index 0fbfb16c94..77d928a32b 100644 --- a/sysdeps/arm/fpu/fraiseexcpt.c +++ b/sysdeps/arm/fpu/fraiseexcpt.c @@ -1,5 +1,5 @@ /* Raise given exceptions. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 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 @@ -21,12 +21,18 @@ #include #include -void -feraiseexcept (int excepts) +int +__feraiseexcept (int excepts) { /* Raise exceptions represented by EXPECTS. */ fexcept_t temp; - _FPU_GETCW(temp); + _FPU_GETCW (temp); temp |= (excepts & FE_ALL_EXCEPT); - _FPU_SETCW(temp); + _FPU_SETCW (temp); + + /* 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/arm/fpu/fsetexcptflg.c b/sysdeps/arm/fpu/fsetexcptflg.c index f5c06a6f6c..ef157a27ed 100644 --- a/sysdeps/arm/fpu/fsetexcptflg.c +++ b/sysdeps/arm/fpu/fsetexcptflg.c @@ -1,5 +1,5 @@ /* Set floating-point environment exception handling. - Copyright (C) 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 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 @@ -21,18 +21,24 @@ #include #include -void -fesetexceptflag (const fexcept_t *flagp, int excepts) +int +__fesetexceptflag (const fexcept_t *flagp, int excepts) { fexcept_t temp; /* Get the current environment. */ - _FPU_GETCW(temp); + _FPU_GETCW (temp); /* Set the desired exception mask. */ temp &= ~((excepts & FE_ALL_EXCEPT) << FE_EXCEPT_SHIFT); temp |= (*flagp & excepts & FE_ALL_EXCEPT) << FE_EXCEPT_SHIFT; /* Save state back to the FPU. */ - _FPU_SETCW(temp); + _FPU_SETCW (temp); + + /* 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); -- cgit v1.2.3