summary refs log tree commit diff
path: root/math/Makefile
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-03-26 18:59:08 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-03-26 18:59:08 +0000
commit9be36fb8cb5bcdab5bbbc7a36388dc9a3d1cc397 (patch)
tree2cc35309dc7cb65fbe9f8fe46762edf8a50a7f02 /math/Makefile
parent60a2f3c166cebf56048d00cee47b9ed1969844d6 (diff)
downloadglibc-9be36fb8cb5bcdab5bbbc7a36388dc9a3d1cc397.tar.gz
glibc-9be36fb8cb5bcdab5bbbc7a36388dc9a3d1cc397.tar.xz
glibc-9be36fb8cb5bcdab5bbbc7a36388dc9a3d1cc397.zip
Make x86_64 fegetenv preserve exception mask (bug 16198).
Bug 16198 is x86_64 fegetenv wrongly masking exceptions for which
traps are enabled, because that's a side-effect of the fnstenv
instruction.  This patch fixes it to use fldenv immediately after
fnstenv, like the i386 version.  Tested x86_64 and x86.

	[BZ #16198]
	* sysdeps/x86_64/fpu/fegetenv.c (fegetenv): Use fldenv after
	fnstenv.
	* math/test-fenv-preserve.c: New file.
	* math/Makefile (tests): Add test-fenv-preserve.
Diffstat (limited to 'math/Makefile')
-rw-r--r--math/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile
index 09d14a0dcd..c13ca80cf8 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -90,7 +90,7 @@ tests = test-matherr test-fenv atest-exp atest-sincos atest-exp2 basic-test \
 	test-misc test-fpucw test-fpucw-ieee tst-definitions test-tgmath \
 	test-tgmath-ret bug-nextafter bug-nexttoward bug-tgmath1 \
 	test-tgmath-int test-tgmath2 test-powl tst-CMPLX tst-CMPLX2 test-snan \
-	test-fenv-tls $(tests-static)
+	test-fenv-tls test-fenv-preserve $(tests-static)
 tests-static = test-fpucw-static test-fpucw-ieee-static
 # We do the `long double' tests only if this data type is available and
 # distinct from `double'.