diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2013-08-17 01:24:00 -0300 |
---|---|---|
committer | Alexandre Oliva <aoliva@redhat.com> | 2013-08-17 01:24:00 -0300 |
commit | 3f8b479fe0d50e8c7d759b71d1db69d6f0aec0c0 (patch) | |
tree | 1049e70d3641bba6f9f04cf81836dfef2917e3b3 | |
parent | 91ce40854d0b7f865cf5024ef95a8026b76096f3 (diff) | |
download | glibc-3f8b479fe0d50e8c7d759b71d1db69d6f0aec0c0.tar.gz glibc-3f8b479fe0d50e8c7d759b71d1db69d6f0aec0c0.tar.xz glibc-3f8b479fe0d50e8c7d759b71d1db69d6f0aec0c0.zip |
PR 15483
* sysdeps/powerpc/nofpu/sim-full.c: Add FIXME note about the need for thread-specific variables preserved across signal handlers. * sysdeps/powerpc/nofpu/soft-supp.h: Likewise. * sysdeps/powerpc/soft-fp/sfp-machine.h: Likewise.
-rw-r--r-- | ports/ChangeLog.powerpc | 9 | ||||
-rw-r--r-- | ports/sysdeps/powerpc/nofpu/sim-full.c | 5 | ||||
-rw-r--r-- | ports/sysdeps/powerpc/nofpu/soft-supp.h | 5 | ||||
-rw-r--r-- | ports/sysdeps/powerpc/soft-fp/sfp-machine.h | 5 |
4 files changed, 24 insertions, 0 deletions
diff --git a/ports/ChangeLog.powerpc b/ports/ChangeLog.powerpc index 8272ef3a9d..e503682ce1 100644 --- a/ports/ChangeLog.powerpc +++ b/ports/ChangeLog.powerpc @@ -1,3 +1,12 @@ +2013-08-17 Alexandre Oliva <aoliva@redhat.com> + + PR 15483 + * sysdeps/powerpc/nofpu/sim-full.c: Add FIXME note about + the need for thread-specific variables preserved across signal + handlers. + * sysdeps/powerpc/nofpu/soft-supp.h: Likewise. + * sysdeps/powerpc/soft-fp/sfp-machine.h: Likewise. + 2013-07-03 Joseph Myers <joseph@codesourcery.com> * sysdeps/powerpc/nofpu/libm-test-ulps: Regenerated. diff --git a/ports/sysdeps/powerpc/nofpu/sim-full.c b/ports/sysdeps/powerpc/nofpu/sim-full.c index fc061d0c00..e16703323d 100644 --- a/ports/sysdeps/powerpc/nofpu/sim-full.c +++ b/ports/sysdeps/powerpc/nofpu/sim-full.c @@ -21,6 +21,11 @@ #include "soft-fp.h" #include "soft-supp.h" +/* FIXME: these variables should be thread specific (see bugzilla bug + 15483) and ideally preserved across signal handlers, like hardware + FP status words, but the latter is quite difficult to accomplish in + userland. */ + /* Global to store sticky exceptions. */ int __sim_exceptions __attribute__ ((nocommon)); libc_hidden_data_def (__sim_exceptions); diff --git a/ports/sysdeps/powerpc/nofpu/soft-supp.h b/ports/sysdeps/powerpc/nofpu/soft-supp.h index b9638bbba9..64a3d2a1d2 100644 --- a/ports/sysdeps/powerpc/nofpu/soft-supp.h +++ b/ports/sysdeps/powerpc/nofpu/soft-supp.h @@ -26,6 +26,11 @@ typedef union } fenv_union_t; +/* FIXME: these variables should be thread specific (see bugzilla bug + 15483) and ideally preserved across signal handlers, like hardware + FP status words, but the latter is quite difficult to accomplish in + userland. */ + extern int __sim_exceptions; libc_hidden_proto (__sim_exceptions); extern int __sim_disabled_exceptions; diff --git a/ports/sysdeps/powerpc/soft-fp/sfp-machine.h b/ports/sysdeps/powerpc/soft-fp/sfp-machine.h index c2a190e7ef..508d8698d4 100644 --- a/ports/sysdeps/powerpc/soft-fp/sfp-machine.h +++ b/ports/sysdeps/powerpc/soft-fp/sfp-machine.h @@ -54,6 +54,11 @@ #define FP_ROUNDMODE __sim_round_mode #define FP_TRAPPING_EXCEPTIONS (~__sim_disabled_exceptions & 0x3e000000) +/* FIXME: these variables should be thread specific (see bugzilla bug + 15483) and ideally preserved across signal handlers, like hardware + FP status words, but the latter is quite difficult to accomplish in + userland. */ + extern int __sim_exceptions; libc_hidden_proto (__sim_exceptions); extern int __sim_disabled_exceptions; |