glibc/sysdeps
Joseph Myers 0b9af583a5 Fix i386/x86_64 fesetenv SSE exception clearing (bug 19181).
The i386 and x86_64 versions of fesetenv, when called with FE_DFL_ENV
or FE_NOMASK_ENV as argument, do not clear SSE exceptions raised in
MXCSR.  These arguments should, like other fenv_t values, represent
the whole of the floating-point state, so such exceptions should be
cleared; this patch adds the required clearing.  (Discovered while
working on bug 16068.)

Tested for x86_64 and x86.

	[BZ #19181]
	* sysdeps/i386/fpu/fesetenv.c (__fesetenv): Clear already-raised
	SSE exceptions when argument is FE_DFL_ENV or FE_NOMASK_ENV.
	* sysdeps/x86_64/fpu/fesetenv.c (__fesetenv): Likewise.
	* math/test-fenv-clear-main.c: New file.
	* math/test-fenv-clear.c: Likewise.
	* math/Makefile (tests): Add test-fenv-clear.
	* sysdeps/x86/fpu/test-fenv-clear-sse.c: New file.
	* sysdeps/x86/fpu/Makefile [$(subdir) = math] (tests): Add
	test-fenv-clear-sse.
	[$(subdir) = math] (CFLAGS-test-fenv-clear-sse.c): New variable.
2015-10-28 18:50:20 +00:00
..
aarch64 Regenerate aarch64 libm-test-ulps 2015-09-24 14:22:31 +01:00
alpha Move bits/atomic.h to atomic-machine.h (bug 14912). 2015-09-11 20:00:19 +00:00
arm Remove configure test for ARM TLS descriptors support. 2015-10-27 23:56:50 +00:00
generic malloc: Rewrite with explicit TLS access using __thread 2015-10-17 12:06:48 +02:00
gnu Add more TCP_* values to netinet/tcp.h. 2015-09-01 13:45:49 +00:00
hppa Rename bits/linkmap.h to linkmap.h (bug 14912). 2015-09-04 19:44:27 +00:00
i386 Fix i386/x86_64 fesetenv SSE exception clearing (bug 19181). 2015-10-28 18:50:20 +00:00
ia64 Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
ieee754 Remove GCC version conditionals on -Wmaybe-uninitialized pragmas. 2015-10-27 23:42:20 +00:00
init_array NPTL: Initializer for .init_array-only configurations. 2015-02-13 13:19:11 -08:00
m68k Convert miscellaneous function definitions to prototype style. 2015-10-20 21:27:22 +00:00
mach Convert 24 more function definitions to prototype style (array parameters). 2015-10-20 11:51:03 +00:00
microblaze Use soft-fp fma for MicroBlaze (bug 13304). 2015-09-25 17:29:19 +00:00
mips Remove MIPS16 atomics using __sync_* (bug 17404). 2015-10-27 23:47:56 +00:00
nacl NaCl: Do not install <sys/mtio.h>. 2015-09-11 14:16:18 -07:00
nios2 Fixes extern protected data handling testcases elf/tst-protected1a 2015-07-26 05:27:18 -07:00
nptl Remove sysdeps/nptl/configure.ac. 2015-10-27 21:46:03 +00:00
posix Convert 69 more function definitions to prototype style (line wrap cases). 2015-10-19 21:23:47 +00:00
powerpc powerpc: Provide __tls_get_addr () in static libc 2015-10-28 11:42:23 -02:00
pthread Convert 113 more function definitions to prototype style (files with assertions). 2015-10-20 11:54:09 +00:00
s390 Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
sh Convert 231 sysdeps function definitions to prototype style. 2015-10-19 12:04:33 +00:00
sparc Convert 69 more function definitions to prototype style (line wrap cases). 2015-10-19 21:23:47 +00:00
tile tile: regenerate libm-test-ulps 2015-10-22 12:00:31 -04:00
unix powerpc: Fix usage of elision transient failure adapt param 2015-10-27 17:27:41 -02:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2015-01-02 16:29:47 +00:00
x86 Fix i386/x86_64 fesetenv SSE exception clearing (bug 19181). 2015-10-28 18:50:20 +00:00
x86_64 Fix i386/x86_64 fesetenv SSE exception clearing (bug 19181). 2015-10-28 18:50:20 +00:00