summaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/nofpu/feupdateenv.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/powerpc/nofpu/feupdateenv.c')
-rw-r--r--sysdeps/powerpc/nofpu/feupdateenv.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sysdeps/powerpc/nofpu/feupdateenv.c b/sysdeps/powerpc/nofpu/feupdateenv.c
index 163f673102..8a26cb86d1 100644
--- a/sysdeps/powerpc/nofpu/feupdateenv.c
+++ b/sysdeps/powerpc/nofpu/feupdateenv.c
@@ -28,14 +28,15 @@ __feupdateenv (const fenv_t *envp)
int saved_exceptions;
/* Save currently set exceptions. */
- saved_exceptions = __sim_exceptions;
+ saved_exceptions = __sim_exceptions_thread;
/* Set environment. */
fesetenv (envp);
/* Raise old exceptions. */
- __sim_exceptions |= saved_exceptions;
- if (saved_exceptions & ~__sim_disabled_exceptions)
+ __sim_exceptions_thread |= saved_exceptions;
+ SIM_SET_GLOBAL (__sim_exceptions_global, __sim_exceptions_thread);
+ if (saved_exceptions & ~__sim_disabled_exceptions_thread)
raise (SIGFPE);
return 0;