about summary refs log tree commit diff
path: root/sysdeps/s390/fpu/feupdateenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/s390/fpu/feupdateenv.c')
-rw-r--r--sysdeps/s390/fpu/feupdateenv.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/sysdeps/s390/fpu/feupdateenv.c b/sysdeps/s390/fpu/feupdateenv.c
index e6b1ff8ff1..9ddff724e6 100644
--- a/sysdeps/s390/fpu/feupdateenv.c
+++ b/sysdeps/s390/fpu/feupdateenv.c
@@ -18,21 +18,13 @@
    <https://www.gnu.org/licenses/>.  */
 
 
-#include <fenv_libc.h>
-#include <fpu_control.h>
+#include <fenv_private.h>
 
 int
 __feupdateenv (const fenv_t *envp)
 {
-  fexcept_t temp;
-
-  _FPU_GETCW (temp);
-  temp = (temp & FPC_FLAGS_MASK) >> FPC_FLAGS_SHIFT;
-
-  /* Raise the exceptions since the last call to feholdenv  */
-  /* re install saved environment.  */
-  __fesetenv (envp);
-  __feraiseexcept ((int) temp);
+  fenv_t env = libc_handle_user_fenv_s390 (envp);
+  libc_feupdateenv_s390 (&env);
 
   /* Success.  */
   return 0;