[PATCH v3 4/7] math: Fix isnanf128 static build
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 2 Apr 2024 14:06:41 +0000 (11:06 -0300)
committerSamuel Thibault <sthibault@debian.org>
Mon, 10 Jun 2024 20:25:19 +0000 (22:25 +0200)
Message-Id: <20240402140644.2172819-5-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.

Gbp-Pq: Topic any
Gbp-Pq: Name submitted-static-isnanf128.diff

sysdeps/ieee754/float128/float128_private.h
sysdeps/ieee754/float128/s_isnanf128.c

index 1fbc9dae0aac340ad142284960cc1bafd356ac81..aedb0d844acd7595c46a4b9ae3901bcd7945e6d1 100644 (file)
 #define frexpl frexpf128
 #define getpayloadl getpayloadf128
 #define isinfl isinff128_do_not_use
-#define isnanl isnanf128_do_not_use
+#define isnanl isnanf128
 #define ldexpl ldexpf128
 #define llrintl llrintf128
 #define llroundl llroundf128
index 59f71533cedc752ec0d9a80d221e2dc63e4ab999..b73a4e80d707eeb8a213b4ffb0b6316cf5630717 100644 (file)
 #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))