about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2016-11-04 17:19:13 +0000
committerJoseph Myers <joseph@codesourcery.com>2016-11-04 17:19:13 +0000
commit860aacdad2d52af48bc549650726b29510feaba6 (patch)
tree9917522a27a71d263d632c4ca218c6be744e6a2f
parent799131036e53c0536d0ce796e705f8dc295eeba2 (diff)
downloadglibc-860aacdad2d52af48bc549650726b29510feaba6.tar.gz
glibc-860aacdad2d52af48bc549650726b29510feaba6.tar.xz
glibc-860aacdad2d52af48bc549650726b29510feaba6.zip
Fix alpha sqrt fegetenv namespace (bug 20768).
On alpha, sqrt (a C90 function) brings in references to fegetenv
(C99), resulting in linknamespace test failures:

[initial] __sqrt -> [libm.a(w_sqrt.o)] __ieee754_sqrt ->
[libm.a(e_sqrt.o)] __feholdexcept -> [libm.a(feholdexcpt.o)] fegetenv

This patch fixes this by making __feholdexcept call __fegetenv instead
of fegetenv.

Tested for Alpha (compilation only).

	[BZ #20768]
	* sysdeps/alpha/fpu/feholdexcpt.c (__feholdexcept): Call
	__fegetenv instead of fegetenv.
-rw-r--r--ChangeLog4
-rw-r--r--sysdeps/alpha/fpu/feholdexcpt.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 45e7364e8b..3cf5347e01 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2016-11-04  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #20768]
+	* sysdeps/alpha/fpu/feholdexcpt.c (__feholdexcept): Call
+	__fegetenv instead of fegetenv.
+
 	[BZ #14139]
 	* manual/libm-err-tab.pl (%pplatforms): Initialize to empty.
 	(find_files): Obtain platform name from libm-test-ulps-name and
diff --git a/sysdeps/alpha/fpu/feholdexcpt.c b/sysdeps/alpha/fpu/feholdexcpt.c
index 019d30b5a2..36bb0514b5 100644
--- a/sysdeps/alpha/fpu/feholdexcpt.c
+++ b/sysdeps/alpha/fpu/feholdexcpt.c
@@ -23,7 +23,7 @@ int
 __feholdexcept (fenv_t *envp)
 {
   /* Save the current state.  */
-  fegetenv(envp);
+  __fegetenv(envp);
 
   /* Clear all exception status bits and exception enable bits.  */
   __ieee_set_fp_control(*envp & SWCR_MAP_MASK);