about summary refs log tree commit diff
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