From abadbef5c89f33bfc084cb00da2345be63c3a0c8 Mon Sep 17 00:00:00 2001 From: Siddhesh Poyarekar Date: Tue, 30 Mar 2021 14:58:19 +0530 Subject: [PATCH] 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 Reviewed-by: Florian Weimer --- 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 - .../sysv/linux/powerpc/powerpc64/le/float128-abi.h | 1 + .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 ++ .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ sysdeps/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 6b954cc..8e7616b 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 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 #include +#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 +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 diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index e10a286..7424dc9 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 a19a69c..bb077b9 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 cdb6ec5..cfd4e55 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 0ab740d..335b5e7 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 d0424a8..426e15f 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 c8e8fd7..ec82b83 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 6b954cc..8e7616b 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 d99afb2..ec9ae25 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 4f8d3c1..8266bc3 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 dde107a..da0974f 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 89c4ac4..b6a088c 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 dcea87c..d3d155e 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 d3c9cec..dfb5a7f 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 6b954cc..8e7616b 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.7.4