From 860aacdad2d52af48bc549650726b29510feaba6 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Fri, 4 Nov 2016 17:19:13 +0000 Subject: [PATCH] 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. --- ChangeLog | 4 ++++ sysdeps/alpha/fpu/feholdexcpt.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 45e7364e8b..3cf5347e01 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2016-11-04 Joseph Myers + [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);