diff options
author | Joseph Myers <joseph@codesourcery.com> | 2013-11-19 13:39:56 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2013-11-19 13:39:56 +0000 |
commit | 73c1ce4fdbdf117b4d91b6e894686228155bd702 (patch) | |
tree | a996f6b56852c7fc2a39dec8d5a41456365990cf /sysdeps/powerpc/nofpu/fesetenv.c | |
parent | b5449b12962da665c29f0a1c85f705de4bc4abf2 (diff) | |
download | glibc-73c1ce4fdbdf117b4d91b6e894686228155bd702.tar.gz glibc-73c1ce4fdbdf117b4d91b6e894686228155bd702.tar.xz glibc-73c1ce4fdbdf117b4d91b6e894686228155bd702.zip |
Make powerpc-nofpu floating-point state thread-local (bug 15483).
Diffstat (limited to 'sysdeps/powerpc/nofpu/fesetenv.c')
-rw-r--r-- | sysdeps/powerpc/nofpu/fesetenv.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sysdeps/powerpc/nofpu/fesetenv.c b/sysdeps/powerpc/nofpu/fesetenv.c index 3f35909b6d..fa84169836 100644 --- a/sysdeps/powerpc/nofpu/fesetenv.c +++ b/sysdeps/powerpc/nofpu/fesetenv.c @@ -26,9 +26,13 @@ __fesetenv (const fenv_t *envp) fenv_union_t u; u.fenv = *envp; - __sim_exceptions = u.l[0] & FE_ALL_EXCEPT; - __sim_round_mode = u.l[0] & 0x3; - __sim_disabled_exceptions = u.l[1]; + __sim_exceptions_thread = u.l[0] & FE_ALL_EXCEPT; + SIM_SET_GLOBAL (__sim_exceptions_global, __sim_exceptions_thread); + __sim_round_mode_thread = u.l[0] & 0x3; + SIM_SET_GLOBAL (__sim_round_mode_global, __sim_round_mode_thread); + __sim_disabled_exceptions_thread = u.l[1]; + SIM_SET_GLOBAL (__sim_disabled_exceptions_global, + __sim_disabled_exceptions_thread); return 0; } |