From: Siddhesh Poyarekar <siddhesh@sourceware.org>
To: libc-alpha@sourceware.org
Cc: Tulio Magno Quites Machado Filho <tuliom@ascii.art.br>,
Florian Weimer <fweimer@redhat.com>
Subject: [COMMITTED] Move __isnanf128 to libc.so
Date: Tue, 30 Mar 2021 15:01:13 +0530 [thread overview]
Message-ID: <20210330093113.744625-1-siddhesh@sourceware.org> (raw)
In-Reply-To: <87lfa51uuk.fsf@linux.ibm.com>
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>
---
sysdeps/ia64/float128-abi.h | 1 +
sysdeps/ieee754/float128/Versions | 5 ++++-
sysdeps/ieee754/float128/s_isnanf128.c | 19 +++++++++++++++++++
sysdeps/ieee754/ldbl-128/float128-abi.h | 1 +
sysdeps/mach/hurd/i386/libc.abilist | 2 ++
sysdeps/mach/hurd/i386/libm.abilist | 1 -
sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++
sysdeps/unix/sysv/linux/i386/libm.abilist | 1 -
sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 ++
sysdeps/unix/sysv/linux/ia64/libm.abilist | 1 -
.../linux/powerpc/powerpc64/le/float128-abi.h | 1 +
.../linux/powerpc/powerpc64/le/libc.abilist | 2 ++
.../linux/powerpc/powerpc64/le/libm.abilist | 1 -
.../unix/sysv/linux/x86_64/64/libc.abilist | 2 ++
.../unix/sysv/linux/x86_64/64/libm.abilist | 1 -
.../unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++
.../unix/sysv/linux/x86_64/x32/libm.abilist | 1 -
sysdeps/x86/float128-abi.h | 1 +
18 files changed, 39 insertions(+), 7 deletions(-)
diff --git a/sysdeps/ia64/float128-abi.h b/sysdeps/ia64/float128-abi.h
index 6b954cc673..8e7616bc7e 100644
--- a/sysdeps/ia64/float128-abi.h
+++ b/sysdeps/ia64/float128-abi.h
@@ -1,2 +1,3 @@
/* ABI version for _Float128 ABI introduction. */
#define FLOAT128_VERSION GLIBC_2.26
+#define FLOAT128_VERSION_M GLIBC_2_26
diff --git a/sysdeps/ieee754/float128/Versions b/sysdeps/ieee754/float128/Versions
index 2eebc6f1b0..2be97f8564 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 efba24059a..59f71533ce 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 3077ffc7fe..8251ce841f 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
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index e10a286d2e..7424dc9166 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -1995,6 +1995,7 @@ GLIBC_2.25 gnu_dev_minor F
GLIBC_2.25 strfromd F
GLIBC_2.25 strfromf F
GLIBC_2.25 strfroml F
+GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __strtof128_internal F
GLIBC_2.26 __wcstof128_internal F
GLIBC_2.26 _hurd_exec_paths F
@@ -2203,6 +2204,7 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F
GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
+GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.4 __confstr_chk F
GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index a19a69ce6a..bb077b9030 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -474,7 +474,6 @@ GLIBC_2.26 __gammaf128_r_finite F
GLIBC_2.26 __hypotf128_finite F
GLIBC_2.26 __iseqsigf128 F
GLIBC_2.26 __isinff128 F
-GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __issignalingf128 F
GLIBC_2.26 __j0f128_finite F
GLIBC_2.26 __j1f128_finite F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index cdb6ec501a..cfd4e55e57 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2011,6 +2011,7 @@ GLIBC_2.25 getrandom F
GLIBC_2.25 strfromd F
GLIBC_2.25 strfromf F
GLIBC_2.25 strfroml F
+GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __strtof128_internal F
GLIBC_2.26 __wcstof128_internal F
GLIBC_2.26 preadv2 F
@@ -2250,6 +2251,7 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F
GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
+GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 pthread_kill F
GLIBC_2.4 __confstr_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index 0ab740dd97..335b5e7aa2 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -481,7 +481,6 @@ GLIBC_2.26 __gammaf128_r_finite F
GLIBC_2.26 __hypotf128_finite F
GLIBC_2.26 __iseqsigf128 F
GLIBC_2.26 __isinff128 F
-GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __issignalingf128 F
GLIBC_2.26 __j0f128_finite F
GLIBC_2.26 __j1f128_finite F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index d0424a8b1a..426e15f4f6 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1873,6 +1873,7 @@ GLIBC_2.25 getrandom F
GLIBC_2.25 strfromd F
GLIBC_2.25 strfromf F
GLIBC_2.25 strfroml F
+GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __strtof128_internal F
GLIBC_2.26 __wcstof128_internal F
GLIBC_2.26 preadv2 F
@@ -2107,6 +2108,7 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F
GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
+GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 pthread_kill F
GLIBC_2.4 __confstr_chk F
diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist
index c8e8fd7142..ec82b83e6f 100644
--- a/sysdeps/unix/sysv/linux/ia64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist
@@ -411,7 +411,6 @@ GLIBC_2.26 __gammaf128_r_finite F
GLIBC_2.26 __hypotf128_finite F
GLIBC_2.26 __iseqsigf128 F
GLIBC_2.26 __isinff128 F
-GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __issignalingf128 F
GLIBC_2.26 __j0f128_finite F
GLIBC_2.26 __j1f128_finite F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h
index 6b954cc673..8e7616bc7e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h
@@ -1,2 +1,3 @@
/* ABI version for _Float128 ABI introduction. */
#define FLOAT128_VERSION GLIBC_2.26
+#define FLOAT128_VERSION_M GLIBC_2_26
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index d99afb2f60..ec9ae25539 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -2184,6 +2184,7 @@ GLIBC_2.25 getrandom F
GLIBC_2.25 strfromd F
GLIBC_2.25 strfromf F
GLIBC_2.25 strfroml F
+GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __strtof128_internal F
GLIBC_2.26 __wcstof128_internal F
GLIBC_2.26 preadv2 F
@@ -2367,5 +2368,6 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F
GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
+GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 4f8d3c1191..8266bc32f4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -478,7 +478,6 @@ GLIBC_2.26 __gammaf128_r_finite F
GLIBC_2.26 __hypotf128_finite F
GLIBC_2.26 __iseqsigf128 F
GLIBC_2.26 __isinff128 F
-GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __issignalingf128 F
GLIBC_2.26 __j0f128_finite F
GLIBC_2.26 __j1f128_finite F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index dde107a249..da0974f11a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1854,6 +1854,7 @@ GLIBC_2.25 getrandom F
GLIBC_2.25 strfromd F
GLIBC_2.25 strfromf F
GLIBC_2.25 strfroml F
+GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __strtof128_internal F
GLIBC_2.26 __wcstof128_internal F
GLIBC_2.26 preadv2 F
@@ -2089,6 +2090,7 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F
GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
+GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 pthread_kill F
GLIBC_2.4 __confstr_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 89c4ac484d..b6a088ca64 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -472,7 +472,6 @@ GLIBC_2.26 __gammaf128_r_finite F
GLIBC_2.26 __hypotf128_finite F
GLIBC_2.26 __iseqsigf128 F
GLIBC_2.26 __isinff128 F
-GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __issignalingf128 F
GLIBC_2.26 __j0f128_finite F
GLIBC_2.26 __j1f128_finite F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index dcea87ca22..d3d155e7c0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2107,6 +2107,7 @@ GLIBC_2.25 getrandom F
GLIBC_2.25 strfromd F
GLIBC_2.25 strfromf F
GLIBC_2.25 strfroml F
+GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __strtof128_internal F
GLIBC_2.26 __wcstof128_internal F
GLIBC_2.26 preadv2 F
@@ -2186,5 +2187,6 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F
GLIBC_2.33 stat F
GLIBC_2.33 stat64 F
+GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F
GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index d3c9cec71a..dfb5a7fa79 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -472,7 +472,6 @@ GLIBC_2.26 __gammaf128_r_finite F
GLIBC_2.26 __hypotf128_finite F
GLIBC_2.26 __iseqsigf128 F
GLIBC_2.26 __isinff128 F
-GLIBC_2.26 __isnanf128 F
GLIBC_2.26 __issignalingf128 F
GLIBC_2.26 __j0f128_finite F
GLIBC_2.26 __j1f128_finite F
diff --git a/sysdeps/x86/float128-abi.h b/sysdeps/x86/float128-abi.h
index 6b954cc673..8e7616bc7e 100644
--- a/sysdeps/x86/float128-abi.h
+++ b/sysdeps/x86/float128-abi.h
@@ -1,2 +1,3 @@
/* ABI version for _Float128 ABI introduction. */
#define FLOAT128_VERSION GLIBC_2.26
+#define FLOAT128_VERSION_M GLIBC_2_26
--
2.29.2
next prev parent reply other threads:[~2021-03-30 9:31 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-11 10:19 [PATCH 0/2] math symbols cleanup Siddhesh Poyarekar
2021-02-11 10:19 ` [PATCH 1/2] Move __isnanf128 to libc.so Siddhesh Poyarekar
2021-02-11 10:27 ` Florian Weimer
2021-02-11 14:14 ` [PATCH v2 " Siddhesh Poyarekar
2021-02-11 16:03 ` Florian Weimer
2021-03-29 13:57 ` Siddhesh Poyarekar
2021-03-29 22:02 ` Tulio Magno Quites Machado Filho
2021-03-30 9:31 ` Siddhesh Poyarekar [this message]
2021-02-11 10:19 ` [PATCH 2/2] Avoid adding duplicated symbols into static libraries Siddhesh Poyarekar
2021-03-30 19:47 ` Adhemerval Zanella
2021-03-31 2:57 ` Siddhesh Poyarekar
2021-03-31 13:54 ` Tulio Magno Quites Machado Filho
2021-03-31 14:05 ` Siddhesh Poyarekar
2021-03-02 6:09 ` [PING][PATCH 0/2] math symbols cleanup Siddhesh Poyarekar
2021-03-22 4:36 ` Siddhesh Poyarekar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210330093113.744625-1-siddhesh@sourceware.org \
--to=siddhesh@sourceware.org \
--cc=fweimer@redhat.com \
--cc=libc-alpha@sourceware.org \
--cc=tuliom@ascii.art.br \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).