aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog30
-rw-r--r--NEWS6
-rw-r--r--manual/math.texi3
-rw-r--r--sysdeps/generic/libm-alias-ldouble.h9
-rw-r--r--sysdeps/ieee754/ldbl-128/Makeconfig3
-rw-r--r--sysdeps/ieee754/ldbl-128/bits/floatn.h80
-rw-r--r--sysdeps/ieee754/ldbl-128/float128-abi.h2
-rw-r--r--sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h8
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist104
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist5
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist104
23 files changed, 906 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index eae1159cf3..1bd3f73ac4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,33 @@
+2017-10-18 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/ieee754/ldbl-128/Makeconfig: New file.
+ * sysdeps/ieee754/ldbl-128/bits/floatn.h: Likewise.
+ * sysdeps/ieee754/ldbl-128/float128-abi.h: Likewise.
+ * sysdeps/generic/libm-alias-ldouble.h: Include <bits/floatn.h>.
+ [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128]
+ (libm_alias_ldouble_other_r): Also create _Float128 alias.
+ * sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Include
+ <bits/floatn.h>.
+ [__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128]
+ (libm_alias_ldouble_other_r): Also create _Float128 alias.
+ * manual/math.texi (Mathematics): Document additional architecture
+ support for _Float128.
+ * sysdeps/unix/sysv/linux/aarch64/libc.abilist: Update.
+ * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist: Likewise.
+ * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise.
+
2017-10-18 Renlin Li <renlin.li@arm.com>
* sysdeps/aarch64/dl-machine.h (elf_machine_load_address): Use
diff --git a/NEWS b/NEWS
index 464d1ce9b3..ad680db874 100644
--- a/NEWS
+++ b/NEWS
@@ -29,6 +29,12 @@ Major new features:
in deadlocks and further data corruption. This change also affects
process aborts as the result of assertion failures.
+* On platforms where long double has the IEEE binary128 format (aarch64,
+ alpha, mips64, s390 and sparc), the math library now implements _Float128
+ interfaces for that type, as defined by ISO/IEC TS 18661-3:2015. These
+ are the same interfaces added in version 2.26 for some platforms where
+ this format is supported but is not the format of long double.
+
Deprecated and removed features, and other changes affecting compatibility:
* On GNU/Linux, the obsolete Linux constant PTRACE_SEIZE_DEVEL is no longer
diff --git a/manual/math.texi b/manual/math.texi
index f5602c9be3..e6aa342076 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -67,7 +67,8 @@ these functions are described along with the @code{double},
Currently, support for @code{_Float@var{N}} or @code{_Float@var{N}x}
types is only provided for @code{_Float128} on powerpc64le (PowerPC
-64-bits little-endian), x86_64, x86 and ia64.
+64-bits little-endian), x86_64, x86, ia64, aarch64, alpha, mips64,
+s390 and sparc.
@menu
* Mathematical Constants:: Precise numeric values for often-used
diff --git a/sysdeps/generic/libm-alias-ldouble.h b/sysdeps/generic/libm-alias-ldouble.h
index 82dafd513e..7b9bf9a0e3 100644
--- a/sysdeps/generic/libm-alias-ldouble.h
+++ b/sysdeps/generic/libm-alias-ldouble.h
@@ -19,11 +19,18 @@
#ifndef _LIBM_ALIAS_LDOUBLE_H
#define _LIBM_ALIAS_LDOUBLE_H
+#include <bits/floatn.h>
+
/* Define _FloatN / _FloatNx aliases for a long double libm function
that has internal name FROM ## l ## R and public names TO ## suffix
## R for each suffix of a supported _FloatN / _FloatNx
floating-point type with the same format as long double. */
-#define libm_alias_ldouble_other_r(from, to, r)
+#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
+# define libm_alias_ldouble_other_r(from, to, r) \
+ weak_alias (from ## l ## r, to ## f128 ## r)
+#else
+# define libm_alias_ldouble_other_r(from, to, r)
+#endif
/* Likewise, but without the R suffix. */
#define libm_alias_ldouble_other(from, to) \
diff --git a/sysdeps/ieee754/ldbl-128/Makeconfig b/sysdeps/ieee754/ldbl-128/Makeconfig
new file mode 100644
index 0000000000..1f8e2562f0
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-128/Makeconfig
@@ -0,0 +1,3 @@
+# Include this earlier so it can be used earlier in Makefiles,
+# and sysdep/ makefiles.
+float128-alias-fcts = yes
diff --git a/sysdeps/ieee754/ldbl-128/bits/floatn.h b/sysdeps/ieee754/ldbl-128/bits/floatn.h
new file mode 100644
index 0000000000..5c87366aef
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-128/bits/floatn.h
@@ -0,0 +1,80 @@
+/* Macros to control TS 18661-3 glibc features on ldbl-128 platforms.
+ Copyright (C) 2017 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _BITS_FLOATN_H
+#define _BITS_FLOATN_H
+
+#include <features.h>
+#include <bits/long-double.h>
+
+/* Defined to 1 if the current compiler invocation provides a
+ floating-point type with the IEEE 754 binary128 format, and this
+ glibc includes corresponding *f128 interfaces for it. */
+#ifndef __NO_LONG_DOUBLE_MATH
+# define __HAVE_FLOAT128 1
+#else
+/* glibc does not support _Float128 for platforms where long double is
+ normally binary128 when building with long double as binary64.
+ GCC's default for supported scalar modes does not support it either
+ in that case. */
+# define __HAVE_FLOAT128 0
+#endif
+
+/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+ from the default float, double and long double types in this glibc. */
+#define __HAVE_DISTINCT_FLOAT128 0
+
+/* Defined to concatenate the literal suffix to be used with _Float128
+ types, if __HAVE_FLOAT128 is 1. */
+#if __HAVE_FLOAT128
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+/* The literal suffix f128 exists only since GCC 7.0. */
+# define __f128(x) x##l
+# else
+# define __f128(x) x##f128
+# endif
+#endif
+
+/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
+#if __HAVE_FLOAT128
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# define __CFLOAT128 _Complex long double
+# else
+# define __CFLOAT128 _Complex _Float128
+# endif
+#endif
+
+/* The remaining of this file provides support for older compilers. */
+#if __HAVE_FLOAT128
+
+/* The type _Float128 exists only since GCC 7.0. */
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef long double _Float128;
+# endif
+
+/* Various built-in functions do not exist before GCC 7.0. */
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf128() (__builtin_huge_vall ())
+# define __builtin_inff128() (__builtin_infl ())
+# define __builtin_nanf128(x) (__builtin_nanl (x))
+# define __builtin_nansf128(x) (__builtin_nansl (x))
+# endif
+
+#endif
+
+#endif /* _BITS_FLOATN_H */
diff --git a/sysdeps/ieee754/ldbl-128/float128-abi.h b/sysdeps/ieee754/ldbl-128/float128-abi.h
new file mode 100644
index 0000000000..3077ffc7fe
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-128/float128-abi.h
@@ -0,0 +1,2 @@
+/* ABI version for _Float128 ABI introduction. */
+#define FLOAT128_VERSION GLIBC_2.27
diff --git a/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h b/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
index 291a5f56cb..ad31f69f1a 100644
--- a/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
+++ b/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
@@ -19,6 +19,7 @@
#ifndef _LIBM_ALIAS_LDOUBLE_H
#define _LIBM_ALIAS_LDOUBLE_H
+#include <bits/floatn.h>
#include <math_ldbl_opt.h>
#include <ldbl-compat-choose.h>
@@ -26,7 +27,12 @@
that has internal name FROM ## l ## R and public names TO ## suffix
## R for each suffix of a supported _FloatN / _FloatNx
floating-point type with the same format as long double. */
-#define libm_alias_ldouble_other_r(from, to, r)
+#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
+# define libm_alias_ldouble_other_r(from, to, r) \
+ weak_alias (from ## l ## r, to ## f128 ## r)
+#else
+# define libm_alias_ldouble_other_r(from, to, r)
+#endif
/* Likewise, but without the R suffix. */
#define libm_alias_ldouble_other(from, to) \
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index e7438c5c1d..ed598aedac 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2106,3 +2106,8 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index 3f0190ae03..b21d136e9d 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -461,8 +461,112 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 4836ea0374..4e57f36bcf 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2017,6 +2017,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index 78edc5e3d9..3ba02a1966 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -471,11 +471,115 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
GLIBC_2.3.4 GLIBC_2.3.4 A
GLIBC_2.3.4 __c1_cabsf F
GLIBC_2.3.4 __c1_cacosf F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index f33ba0576b..92a46b6b30 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -463,9 +463,113 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
GLIBC_2.4 GLIBC_2.4 A
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index e119842b47..ade654dbea 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1956,6 +1956,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 67f10f5641..56032c3f82 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1951,6 +1951,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 271eccc853..dbd411ceb1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1989,6 +1989,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 2b758e80fd..f3c4f77264 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -461,11 +461,115 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 8b96e16916..5617784ca0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1890,6 +1890,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 62c9bb57a8..eb113fd37c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -459,11 +459,115 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index a62463be3d..bb7e1042c7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1982,6 +1982,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 92de6edab9..152a83a869 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -468,11 +468,115 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index a50485efd8..4053b0a51c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1919,6 +1919,11 @@ GLIBC_2.26 reallocarray F
GLIBC_2.27 GLIBC_2.27 A
GLIBC_2.27 glob F
GLIBC_2.27 glob64 F
+GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strtof128 F
+GLIBC_2.27 strtof128_l F
+GLIBC_2.27 wcstof128 F
+GLIBC_2.27 wcstof128_l F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 __ctype_b_loc F
GLIBC_2.3 __ctype_tolower_loc F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index b5412c9b48..ff6962d7e7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -462,9 +462,113 @@ GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf128 F
+GLIBC_2.27 acoshf128 F
+GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinhf128 F
+GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanhf128 F
+GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 cargf128 F
+GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinhf128 F
+GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanhf128 F
+GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ceilf128 F
+GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cimagf128 F
+GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clogf128 F
+GLIBC_2.27 conjf128 F
+GLIBC_2.27 copysignf128 F
+GLIBC_2.27 cosf128 F
+GLIBC_2.27 coshf128 F
+GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cprojf128 F
+GLIBC_2.27 crealf128 F
+GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erff128 F
+GLIBC_2.27 exp10f128 F
GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f128 F
GLIBC_2.27 expf F
+GLIBC_2.27 expf128 F
+GLIBC_2.27 expm1f128 F
+GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fdimf128 F
+GLIBC_2.27 floorf128 F
+GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fmodf128 F
+GLIBC_2.27 frexpf128 F
+GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 hypotf128 F
+GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 j0f128 F
+GLIBC_2.27 j1f128 F
+GLIBC_2.27 jnf128 F
+GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 lgammaf128 F
+GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llroundf128 F
+GLIBC_2.27 log10f128 F
+GLIBC_2.27 log1pf128 F
GLIBC_2.27 log2f F
+GLIBC_2.27 log2f128 F
+GLIBC_2.27 logbf128 F
GLIBC_2.27 logf F
+GLIBC_2.27 logf128 F
+GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lroundf128 F
+GLIBC_2.27 modff128 F
+GLIBC_2.27 nanf128 F
+GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextupf128 F
GLIBC_2.27 powf F
+GLIBC_2.27 powf128 F
+GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remquof128 F
+GLIBC_2.27 rintf128 F
+GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundf128 F
+GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 truncf128 F
+GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 y0f128 F
+GLIBC_2.27 y1f128 F
+GLIBC_2.27 ynf128 F
GLIBC_2.4 GLIBC_2.4 A