diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-12-18 04:02:31 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-12-18 04:02:31 +0000 |
commit | 592f26a3ed6e74aad8ff65eec9c139a6bc4aa89e (patch) | |
tree | 3eabb471cd2153b059302d3dedc628241fbb9071 /sysdeps/hppa/fpu/feupdateenv.c | |
parent | 4ae4facccf1286dae59ccc4758b64a76ab985aff (diff) | |
download | glibc-592f26a3ed6e74aad8ff65eec9c139a6bc4aa89e.tar.gz glibc-592f26a3ed6e74aad8ff65eec9c139a6bc4aa89e.tar.xz glibc-592f26a3ed6e74aad8ff65eec9c139a6bc4aa89e.zip |
Update.
2003-12-17 Carlos O'Donell <carlos@baldric.uwo.ca> * sysdeps/hppa/fpu/fclrexcpt.c (feclearexcept): Right shift FE_ALL_EXCEPT before complimenting. * sysdeps/hppa/fpu/fegetenv.c (fegetenv): Use asm 'ma,' completer, and gcc '+r' constraint. * sysdeps/hppa/fpu/feholdexcpt.c (feholdexcept): Likewise. * sysdeps/hppa/fpu/fesetenv.c (fesetenv): Likewise. * sysdeps/hppa/fpu/feupdateenv.c (feupdateenv): Read raised exception bits, OR with envp, pass to fesetenv. * sysdeps/hppa/fpu/fraiseexcpt.c (feraiseexcept): Add delayed exception flushing, FE_UNDERFLOW is DBL_MIN/3.0, FE_INEXACT is triggered by M_PI/69.69 converted to single precision. * sysdeps/hppa/fpu/fsetexcptflg.c (fesetexceptflag): Set enable bits not raised exception bits. * sysdeps/hppa/Makefile: Add dl-symaddr and dl-fptr to the correct build strings. * sysdeps/hppa/dl-fptr.h: New file. * sysdeps/hppa/dl-fptr.c: Removed. * sysdeps/hppa/dl-symaddr.c (_dl_symbol_address): Use _dl_make_ftpr, remove const qualifier for map. (_dl_function_address): Removed. * sysdeps/hppa/dl-lookupcfg.h: DL_LOOKUP_ADDRESS must clear PLABEL32 bits, define DL_AUTO_FUNCTION_ADDRESS and DL_STATIC_FUNCTION_ADDRESS, DL_DT_INIT_ADDRESS and DL_DT_FINI_ADDRESS use the previous two macros. * misc/mntent_r.c: Change encoding to match recently changed decoder.
Diffstat (limited to 'sysdeps/hppa/fpu/feupdateenv.c')
-rw-r--r-- | sysdeps/hppa/fpu/feupdateenv.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/sysdeps/hppa/fpu/feupdateenv.c b/sysdeps/hppa/fpu/feupdateenv.c index c61b7b298a..8980dfd69c 100644 --- a/sysdeps/hppa/fpu/feupdateenv.c +++ b/sysdeps/hppa/fpu/feupdateenv.c @@ -27,14 +27,12 @@ feupdateenv (const fenv_t *envp) /* Get the current exception status. */ __asm__ ("fstd %%fr0,0(%1)" : "=m" (*sw) : "r" (sw)); - sw[0] &= (FE_ALL_EXCEPT << 27); - + sw[0] &= FE_ALL_EXCEPT; + envp->__status_word = envp->__status_word | sw[0]; + /* Install new environment. */ fesetenv (envp); - /* Raise the saved exception. */ - feraiseexcept (sw[0] >> 27); - /* Success. */ return 0; } |