aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/powerpc/nofpu/feenablxcpt.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-11-19 13:39:56 +0000
committerJoseph Myers <joseph@codesourcery.com>2013-11-19 13:39:56 +0000
commit73c1ce4fdbdf117b4d91b6e894686228155bd702 (patch)
treea996f6b56852c7fc2a39dec8d5a41456365990cf /sysdeps/powerpc/nofpu/feenablxcpt.c
parentb5449b12962da665c29f0a1c85f705de4bc4abf2 (diff)
downloadglibc-73c1ce4fdbdf117b4d91b6e894686228155bd702.zip
glibc-73c1ce4fdbdf117b4d91b6e894686228155bd702.tar.gz
glibc-73c1ce4fdbdf117b4d91b6e894686228155bd702.tar.bz2
Make powerpc-nofpu floating-point state thread-local (bug 15483).
Diffstat (limited to 'sysdeps/powerpc/nofpu/feenablxcpt.c')
-rw-r--r--sysdeps/powerpc/nofpu/feenablxcpt.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sysdeps/powerpc/nofpu/feenablxcpt.c b/sysdeps/powerpc/nofpu/feenablxcpt.c
index 93249ab..09eb823 100644
--- a/sysdeps/powerpc/nofpu/feenablxcpt.c
+++ b/sysdeps/powerpc/nofpu/feenablxcpt.c
@@ -17,16 +17,17 @@
License along with the GNU C Library. If not, see
<http://www.gnu.org/licenses/>. */
+#include "soft-supp.h"
#include <fenv.h>
-extern int __sim_disabled_exceptions;
-
int
feenableexcept (int exceptions)
{
- int old_exceptions = ~__sim_disabled_exceptions & FE_ALL_EXCEPT;
+ int old_exceptions = ~__sim_disabled_exceptions_thread & FE_ALL_EXCEPT;
- __sim_disabled_exceptions &= ~exceptions;
+ __sim_disabled_exceptions_thread &= ~exceptions;
+ SIM_SET_GLOBAL (__sim_disabled_exceptions_global,
+ __sim_disabled_exceptions_thread);
return old_exceptions;
}