[COMMITTED 2.39 3/4] math: Fix isnanf128 static build (BZ 31774)

Aurelien Jarno aurelien@aurel32.net
Tue Jul 2 21:34:03 GMT 2024


From: Adhemerval Zanella <adhemerval.zanella@linaro.org>

Some static implementation of float128 routines might call __isnanf128,
which is not provided by the static object.

Checked on x86_64-linux-gnu.
Reviewed-by: H.J. Lu <hjl.tools@gmail.com>

(cherry picked from commit 5d4999e519ec77e75bef920e2540e8605015680a)
---
 sysdeps/ieee754/float128/s_isnanf128.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sysdeps/ieee754/float128/s_isnanf128.c b/sysdeps/ieee754/float128/s_isnanf128.c
index 59f71533ce..b73a4e80d7 100644
--- a/sysdeps/ieee754/float128/s_isnanf128.c
+++ b/sysdeps/ieee754/float128/s_isnanf128.c
@@ -11,7 +11,11 @@
 #include "../ldbl-128/s_isnanl.c"
 #if !IS_IN (libm)
 #include <float128-abi.h>
+#ifdef SHARED
 hidden_ver (__isnanf128_impl, __isnanf128)
+#else
+strong_alias (__isnanf128_impl, __isnanf128)
+#endif
 _weak_alias (__isnanf128_impl, isnanl)
 versioned_symbol (libc, __isnanf128_impl, __isnanf128, GLIBC_2_34);
 #if (SHLIB_COMPAT (libc, FLOAT128_VERSION_M, GLIBC_2_34))
-- 
2.43.0



More information about the Libc-stable mailing list