diff options
author | Roland McGrath <roland@gnu.org> | 2008-11-26 07:26:32 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2008-11-26 07:26:32 +0000 |
commit | c0439b95b88bccacb5562e372f881beb23376a72 (patch) | |
tree | aea008f060bef693d43f285f5adb5ece05cb7db6 /sysdeps/alpha/fpu/fesetenv.c | |
parent | f1092afe15ad779d61a1420c05854a9122d3ce5e (diff) | |
download | glibc-c0439b95b88bccacb5562e372f881beb23376a72.tar.gz |
Moved alpha to ports repository.
2008-11-25 Roland McGrath <roland@redhat.com>
* sysdeps/alpha, sysdeps/unix/bsd/osf/alpha,
sysdeps/unix/bsd/Attic/osf1/alpha, sysdeps/unix/sysv/linux/alpha,
sysdeps/unix/sysv/linux/alpha/alpha, sysdeps/unix/alpha,
sysdeps/mach/alpha, sysdeps/mach/hurd/alpha:
Subdirectories moved to ports repository.
* configure.in (base_machine): Remove alpha case.
Diffstat (limited to 'sysdeps/alpha/fpu/fesetenv.c')
-rw-r--r-- | sysdeps/alpha/fpu/fesetenv.c | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/sysdeps/alpha/fpu/fesetenv.c b/sysdeps/alpha/fpu/fesetenv.c deleted file mode 100644 index c76e882891..0000000000 --- a/sysdeps/alpha/fpu/fesetenv.c +++ /dev/null @@ -1,57 +0,0 @@ -/* Install given floating-point environment. - Copyright (C) 1997,99,2000,01,02 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Richard Henderson <rth@tamu.edu>, 1997 - - 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_libc.h> - -int -__fesetenv (const fenv_t *envp) -{ - unsigned long int fpcr; - fenv_t env; - - /* Magic encoding of default values: high bit set (never possible for a - user-space address) is not indirect. And we don't even have to get - rid of it since we mask things around just below. */ - if ((long int) envp >= 0) - env = *envp; - else - env = (unsigned long int) envp; - - /* Reset the rounding mode with the hardware fpcr. Note that the following - system call is an implied trap barrier for our modification. */ - __asm__ __volatile__ ("excb; mf_fpcr %0" : "=f" (fpcr)); - fpcr = (fpcr & ~FPCR_ROUND_MASK) | (env & FPCR_ROUND_MASK); - __asm__ __volatile__ ("mt_fpcr %0" : : "f" (fpcr)); - - /* Reset the exception status and mask with the kernel's FP code. */ - __ieee_set_fp_control (env & SWCR_ALL_MASK); - - /* Success. */ - return 0; -} - -#include <shlib-compat.h> -#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_2) -strong_alias (__fesetenv, __old_fesetenv) -compat_symbol (libm, __old_fesetenv, fesetenv, GLIBC_2_1); -#endif - -libm_hidden_ver (__fesetenv, fesetenv) -versioned_symbol (libm, __fesetenv, fesetenv, GLIBC_2_2); |