aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorSiddhesh Poyarekar <siddhesh@sourceware.org>2021-03-30 14:58:19 +0530
committerSiddhesh Poyarekar <siddhesh@sourceware.org>2021-03-30 14:58:19 +0530
commitabadbef5c89f33bfc084cb00da2345be63c3a0c8 (patch)
treecd2e8d15fc4b4202f3ef6831d4e50e3899df1160 /sysdeps/ieee754
parent64786a7090d104a2e4e2e225b1eff08951fe008a (diff)
downloadglibc-abadbef5c89f33bfc084cb00da2345be63c3a0c8.zip
glibc-abadbef5c89f33bfc084cb00da2345be63c3a0c8.tar.gz
glibc-abadbef5c89f33bfc084cb00da2345be63c3a0c8.tar.bz2
Move __isnanf128 to libc.so
All of the isnan functions are in libc.so due to printf_fp, so move __isnanf128 there too for consistency. Reviewed-by: Tulio Magno Quites Machado Filho <tuliom@ascii.art.br> Reviewed-by: Florian Weimer <fweimer@redhat.com>
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/float128/Versions5
-rw-r--r--sysdeps/ieee754/float128/s_isnanf128.c19
-rw-r--r--sysdeps/ieee754/ldbl-128/float128-abi.h1
3 files changed, 24 insertions, 1 deletions
diff --git a/sysdeps/ieee754/float128/Versions b/sysdeps/ieee754/float128/Versions
index 2eebc6f..2be97f8 100644
--- a/sysdeps/ieee754/float128/Versions
+++ b/sysdeps/ieee754/float128/Versions
@@ -4,9 +4,13 @@
%endif
libc {
FLOAT128_VERSION {
+ __isnanf128;
__strtof128_internal;
__wcstof128_internal;
}
+ GLIBC_2.34 {
+ __isnanf128;
+ }
GLIBC_PRIVATE {
# For __nanf128.
__strtof128_nan;
@@ -30,7 +34,6 @@ libm {
__hypotf128_finite;
__iseqsigf128;
__isinff128;
- __isnanf128;
__issignalingf128;
__j0f128_finite;
__j1f128_finite;
diff --git a/sysdeps/ieee754/float128/s_isnanf128.c b/sysdeps/ieee754/float128/s_isnanf128.c
index efba240..59f7153 100644
--- a/sysdeps/ieee754/float128/s_isnanf128.c
+++ b/sysdeps/ieee754/float128/s_isnanf128.c
@@ -1,2 +1,21 @@
+#include <shlib-compat.h>
#include <float128_private.h>
+#if !IS_IN (libm)
+#undef __isnanl
+#define __isnanl __isnanf128_impl
+#undef weak_alias
+#define weak_alias(n,a)
+#undef mathx_hidden_def
+#define mathx_hidden_def(x)
+#endif
#include "../ldbl-128/s_isnanl.c"
+#if !IS_IN (libm)
+#include <float128-abi.h>
+hidden_ver (__isnanf128_impl, __isnanf128)
+_weak_alias (__isnanf128_impl, isnanl)
+versioned_symbol (libc, __isnanf128_impl, __isnanf128, GLIBC_2_34);
+#if (SHLIB_COMPAT (libc, FLOAT128_VERSION_M, GLIBC_2_34))
+strong_alias (__isnanf128_impl, __isnanf128_alias)
+compat_symbol (libc, __isnanf128_alias, __isnanf128, FLOAT128_VERSION_M);
+#endif
+#endif
diff --git a/sysdeps/ieee754/ldbl-128/float128-abi.h b/sysdeps/ieee754/ldbl-128/float128-abi.h
index 3077ffc..8251ce8 100644
--- a/sysdeps/ieee754/ldbl-128/float128-abi.h
+++ b/sysdeps/ieee754/ldbl-128/float128-abi.h
@@ -1,2 +1,3 @@
/* ABI version for _Float128 ABI introduction. */
#define FLOAT128_VERSION GLIBC_2.27
+#define FLOAT128_VERSION_M GLIBC_2_27