This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-830-ga23aa5b


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  a23aa5b7272ec4a04578d82399ec2bf536281119 (commit)
      from  c2c299fd24e87b83c63191ff979d41a86b37d714 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a23aa5b7272ec4a04578d82399ec2bf536281119

commit a23aa5b7272ec4a04578d82399ec2bf536281119
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Nov 27 14:16:47 2017 +0000

    Add _Float64x function aliases.
    
    This patch continues filling out TS 18661-3 support by adding *f64x
    function aliases on platforms with _Float64x support.  (It so happens
    the set of such platforms is exactly the same as the set of platforms
    with _Float128 support, although on x86_64, x86 and ia32 the _Float64x
    format is Intel extended rather than binary128.)  The API provided
    corresponds exactly to that provided for _Float128, mostly coming from
    TS 18661-3.  As these functions always alias those for another type
    (long double, _Float128 or both), __* function names are not provided,
    as in other cases of alias types.
    
    Given the preparation done in previous patches, this one just enables
    the feature via Makeconfig and bits/floatn.h, adds symbol versions,
    and updates documentation and ABI baselines.  The symbol versions are
    present unconditionally as GLIBC_2.27 in the relevant Versions files,
    as it's OK for those to specify versions for functions that may not be
    present in some configurations; no additional complexity is needed
    unless in future some configuration gains support for this type that
    didn't have such support in 2.27.  The Makeconfig additions for ia64
    and x86 aren't strictly needed, as those configurations also get
    float64x-alias-fcts definitions from
    sysdeps/ieee754/float128/Makeconfig, but still seem appropriate given
    that _Float64x is not _Float128 for those configurations.
    
    A libm-test-ulps update for x86 is included.  This is because
    bits/mathinline.h does not have _Float64x support added and for two
    functions the use of out-of-line functions results in increased ulps
    (ifloat64x shares ulps with ildouble / ifloat128 as appropriate).
    Given that we'd like generally to eliminate bits/mathinline.h
    optimizations, preferring to have such optimizations in GCC instead,
    it seems reasonable not to add such support there for new types.  GCC
    support for _FloatN / _FloatNx built-in functions is limited, but has
    been improved in GCC 8, and at some point I hope the full set of libm
    built-in functions in GCC, and other optimizations with
    per-floating-type aspects, will be enabled for all _FloatN / _FloatNx
    types.
    
    Tested for x86_64 and x86, and with build-many-glibcs.py, with both
    GCC 6 and GCC 7.
    
    	* sysdeps/ia64/Makeconfig (float64x-alias-fcts): New variable.
    	* sysdeps/ieee754/float128/Makeconfig (float64x-alias-fcts):
    	Likewise.
    	* sysdeps/ieee754/ldbl-128/Makeconfig (float64x-alias-fcts):
    	Likewise.
    	* sysdeps/x86/Makeconfig: New file.
    	* bits/floatn-common.h (__HAVE_FLOAT64X): Remove macro.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* bits/floatn.h (__HAVE_FLOAT64X): New macro.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* sysdeps/ia64/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* sysdeps/ieee754/ldbl-128/bits/floatn.h (__HAVE_FLOAT64X):
    	Likewise.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* sysdeps/mips/ieee754/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* sysdeps/powerpc/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* sysdeps/x86/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
    	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
    	* manual/math.texi (Mathematics): Document support for _Float64x.
    	* math/Versions (GLIBC_2.27): Add _Float64x functions.
    	* stdlib/Versions (GLIBC_2.27): Likewise.
    	* wcsmbs/Versions (GLIBC_2.27): Likewise.
    	* 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/i386/libc.abilist: Likewise.
    	* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
    	* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
    	* sysdeps/unix/sysv/linux/ia64/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/powerpc/powerpc64/libc-le.abilist:
    	Likewise.
    	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.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.
    	* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
    	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
    	* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
    	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
    	* sysdeps/i386/fpu/libm-test-ulps: Likewise.
    	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.

diff --git a/ChangeLog b/ChangeLog
index 1131526..389e39e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,60 @@
+2017-11-27  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/ia64/Makeconfig (float64x-alias-fcts): New variable.
+	* sysdeps/ieee754/float128/Makeconfig (float64x-alias-fcts):
+	Likewise.
+	* sysdeps/ieee754/ldbl-128/Makeconfig (float64x-alias-fcts):
+	Likewise.
+	* sysdeps/x86/Makeconfig: New file.
+	* bits/floatn-common.h (__HAVE_FLOAT64X): Remove macro.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* bits/floatn.h (__HAVE_FLOAT64X): New macro.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* sysdeps/ia64/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* sysdeps/ieee754/ldbl-128/bits/floatn.h (__HAVE_FLOAT64X):
+	Likewise.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* sysdeps/mips/ieee754/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* sysdeps/powerpc/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* sysdeps/x86/bits/floatn.h (__HAVE_FLOAT64X): Likewise.
+	(__HAVE_FLOAT64X_LONG_DOUBLE): Likewise.
+	* manual/math.texi (Mathematics): Document support for _Float64x.
+	* math/Versions (GLIBC_2.27): Add _Float64x functions.
+	* stdlib/Versions (GLIBC_2.27): Likewise.
+	* wcsmbs/Versions (GLIBC_2.27): Likewise.
+	* 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/i386/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/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/powerpc/powerpc64/libc-le.abilist:
+	Likewise.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.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.
+	* sysdeps/unix/sysv/linux/x86_64/64/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist: Likewise.
+	* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
+	* sysdeps/i386/fpu/libm-test-ulps: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/libm-test-ulps: Likewise.
+
 2017-11-27  Andreas Schwab  <schwab@suse.de>
 
 	* elf/Makefile (dl-routines): Add dl-sort-maps.
diff --git a/NEWS b/NEWS
index ab14d1e..33c62ab 100644
--- a/NEWS
+++ b/NEWS
@@ -35,6 +35,12 @@ Major new features:
   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.
 
+* On platforms with support for _Float64x (aarch64, alpha, i386, ia64,
+  mips64, powerpc64le, s390, sparc and x86_64), the math library now
+  implements interfaces for that type, as defined by ISO/IEC TS
+  18661-3:2015.  These are corresponding interfaces to those supported for
+  _Float128.
+
 * glibc now implements the memfd_create function on Linux.
 
 Deprecated and removed features, and other changes affecting compatibility:
diff --git a/bits/floatn-common.h b/bits/floatn-common.h
index 2182c9d..4d38a91 100644
--- a/bits/floatn-common.h
+++ b/bits/floatn-common.h
@@ -34,7 +34,6 @@
 #define __HAVE_FLOAT32 0
 #define __HAVE_FLOAT64 0
 #define __HAVE_FLOAT32X 0
-#define __HAVE_FLOAT64X 0
 #define __HAVE_FLOAT128X 0
 
 /* Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
@@ -56,12 +55,6 @@
 #define __HAVE_DISTINCT_FLOAT64X 0
 #define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X
 
-/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
-   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
-   the format of _Float128, which must be different from that of long
-   double.  */
-#define __HAVE_FLOAT64X_LONG_DOUBLE 0
-
 /* Defined to 1 if any _FloatN or _FloatNx types that are not
    ABI-distinct are however distinct types at the C language level (so
    for the purposes of __builtin_types_compatible_p and _Generic).  */
diff --git a/bits/floatn.h b/bits/floatn.h
index dc0cf93..89114b5 100644
--- a/bits/floatn.h
+++ b/bits/floatn.h
@@ -25,6 +25,17 @@
    from the default float, double and long double types in this glibc.  */
 #define __HAVE_DISTINCT_FLOAT128 0
 
+/* Defined to 1 if the current compiler invocation provides a
+   floating-point type with the right format for _Float64x, and this
+   glibc includes corresponding *f64x interfaces for it.  */
+#define __HAVE_FLOAT64X 0
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+   the format of _Float128, which must be different from that of long
+   double.  */
+#define __HAVE_FLOAT64X_LONG_DOUBLE 0
+
 #ifndef __ASSEMBLER__
 
 /* Defined to concatenate the literal suffix to be used with _Float128
diff --git a/manual/math.texi b/manual/math.texi
index e6aa342..08e5dae 100644
--- a/manual/math.texi
+++ b/manual/math.texi
@@ -66,9 +66,9 @@ these functions are described along with the @code{double},
 @w{ISO/IEC TS 18661-3}, unless explicitly stated otherwise.
 
 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, ia64, aarch64, alpha, mips64,
-s390 and sparc.
+types is only provided for @code{_Float128} and @code{_Float64x} on
+powerpc64le (PowerPC 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/math/Versions b/math/Versions
index c10e326..d4018f6 100644
--- a/math/Versions
+++ b/math/Versions
@@ -340,5 +340,109 @@ libm {
 %endif
   GLIBC_2.27 {
     expf; exp2f; logf; log2f; powf;
+    acosf64x;
+    acoshf64x;
+    asinf64x;
+    asinhf64x;
+    atan2f64x;
+    atanf64x;
+    atanhf64x;
+    cabsf64x;
+    cacosf64x;
+    cacoshf64x;
+    canonicalizef64x;
+    cargf64x;
+    casinf64x;
+    casinhf64x;
+    catanf64x;
+    catanhf64x;
+    cbrtf64x;
+    ccosf64x;
+    ccoshf64x;
+    ceilf64x;
+    cexpf64x;
+    cimagf64x;
+    clog10f64x;
+    clogf64x;
+    conjf64x;
+    copysignf64x;
+    cosf64x;
+    coshf64x;
+    cpowf64x;
+    cprojf64x;
+    crealf64x;
+    csinf64x;
+    csinhf64x;
+    csqrtf64x;
+    ctanf64x;
+    ctanhf64x;
+    erfcf64x;
+    erff64x;
+    exp10f64x;
+    exp2f64x;
+    expf64x;
+    expm1f64x;
+    fabsf64x;
+    fdimf64x;
+    floorf64x;
+    fmaf64x;
+    fmaxf64x;
+    fmaxmagf64x;
+    fminf64x;
+    fminmagf64x;
+    fmodf64x;
+    frexpf64x;
+    fromfpf64x;
+    fromfpxf64x;
+    getpayloadf64x;
+    hypotf64x;
+    ilogbf64x;
+    j0f64x;
+    j1f64x;
+    jnf64x;
+    ldexpf64x;
+    lgammaf64x;
+    lgammaf64x_r;
+    llogbf64x;
+    llrintf64x;
+    llroundf64x;
+    log10f64x;
+    log1pf64x;
+    log2f64x;
+    logbf64x;
+    logf64x;
+    lrintf64x;
+    lroundf64x;
+    modff64x;
+    nanf64x;
+    nearbyintf64x;
+    nextafterf64x;
+    nextdownf64x;
+    nextupf64x;
+    powf64x;
+    remainderf64x;
+    remquof64x;
+    rintf64x;
+    roundevenf64x;
+    roundf64x;
+    scalblnf64x;
+    scalbnf64x;
+    setpayloadf64x;
+    setpayloadsigf64x;
+    sincosf64x;
+    sinf64x;
+    sinhf64x;
+    sqrtf64x;
+    tanf64x;
+    tanhf64x;
+    tgammaf64x;
+    totalorderf64x;
+    totalordermagf64x;
+    truncf64x;
+    ufromfpf64x;
+    ufromfpxf64x;
+    y0f64x;
+    y1f64x;
+    ynf64x;
   }
 }
diff --git a/stdlib/Versions b/stdlib/Versions
index bf2172f..66f6b35 100644
--- a/stdlib/Versions
+++ b/stdlib/Versions
@@ -129,6 +129,11 @@ libc {
     strtof128_l;
   }
 %endif
+  GLIBC_2.27 {
+    strfromf64x;
+    strtof64x;
+    strtof64x_l;
+  }
   GLIBC_PRIVATE {
     # functions which have an additional interface since they are
     # are cancelable.
diff --git a/sysdeps/i386/fpu/libm-test-ulps b/sysdeps/i386/fpu/libm-test-ulps
index be6aadf..c0ed6a9 100644
--- a/sysdeps/i386/fpu/libm-test-ulps
+++ b/sysdeps/i386/fpu/libm-test-ulps
@@ -222,7 +222,7 @@ float128: 4
 idouble: 1
 ifloat: 1
 ifloat128: 4
-ildouble: 3
+ildouble: 4
 ldouble: 4
 
 Function: "atanh_towardzero":
@@ -2488,7 +2488,7 @@ float128: 3
 idouble: 1
 ifloat: 1
 ifloat128: 3
-ildouble: 4
+ildouble: 5
 ldouble: 5
 
 Function: "sinh_towardzero":
@@ -2498,7 +2498,7 @@ float128: 3
 idouble: 1
 ifloat: 1
 ifloat128: 3
-ildouble: 3
+ildouble: 4
 ldouble: 4
 
 Function: "sinh_upward":
@@ -2508,7 +2508,7 @@ float128: 4
 idouble: 1
 ifloat: 1
 ifloat128: 4
-ildouble: 4
+ildouble: 5
 ldouble: 5
 
 Function: "tan":
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index 26d90ec..e67837c 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -222,7 +222,7 @@ float128: 4
 idouble: 1
 ifloat: 1
 ifloat128: 4
-ildouble: 3
+ildouble: 4
 ldouble: 4
 
 Function: "atanh_towardzero":
@@ -2472,7 +2472,7 @@ float128: 3
 idouble: 1
 ifloat: 1
 ifloat128: 3
-ildouble: 4
+ildouble: 5
 ldouble: 5
 
 Function: "sinh_towardzero":
@@ -2482,7 +2482,7 @@ float128: 3
 idouble: 1
 ifloat: 1
 ifloat128: 3
-ildouble: 3
+ildouble: 4
 ldouble: 4
 
 Function: "sinh_upward":
@@ -2492,7 +2492,7 @@ float128: 4
 idouble: 1
 ifloat: 1
 ifloat128: 4
-ildouble: 4
+ildouble: 5
 ldouble: 5
 
 Function: "tan":
diff --git a/sysdeps/ia64/Makeconfig b/sysdeps/ia64/Makeconfig
index d1d3f6c..2f1abe8 100644
--- a/sysdeps/ia64/Makeconfig
+++ b/sysdeps/ia64/Makeconfig
@@ -1,2 +1,4 @@
 # ia64 does not provide crtbeginT.o, so use crtbegin.o.
 +prectorT = $(+prector)
+
+float64x-alias-fcts = yes
diff --git a/sysdeps/ia64/bits/floatn.h b/sysdeps/ia64/bits/floatn.h
index d0aeb3f..938a5dd 100644
--- a/sysdeps/ia64/bits/floatn.h
+++ b/sysdeps/ia64/bits/floatn.h
@@ -40,6 +40,17 @@
 # define __HAVE_DISTINCT_FLOAT128 0
 #endif
 
+/* Defined to 1 if the current compiler invocation provides a
+   floating-point type with the right format for _Float64x, and this
+   glibc includes corresponding *f64x interfaces for it.  */
+#define __HAVE_FLOAT64X 1
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+   the format of _Float128, which must be different from that of long
+   double.  */
+#define __HAVE_FLOAT64X_LONG_DOUBLE 1
+
 #ifndef __ASSEMBLER__
 
 /* Defined to concatenate the literal suffix to be used with _Float128
diff --git a/sysdeps/ieee754/float128/Makeconfig b/sysdeps/ieee754/float128/Makeconfig
index 6c385d2..a493ff1 100644
--- a/sysdeps/ieee754/float128/Makeconfig
+++ b/sysdeps/ieee754/float128/Makeconfig
@@ -1,3 +1,4 @@
 # Include this earlier so it can be used earlier in Makefiles,
 # and sysdep/ makefiles.
 float128-fcts = yes
+float64x-alias-fcts = yes
diff --git a/sysdeps/ieee754/ldbl-128/Makeconfig b/sysdeps/ieee754/ldbl-128/Makeconfig
index 1f8e256..ca17c1b 100644
--- a/sysdeps/ieee754/ldbl-128/Makeconfig
+++ b/sysdeps/ieee754/ldbl-128/Makeconfig
@@ -1,3 +1,4 @@
 # Include this earlier so it can be used earlier in Makefiles,
 # and sysdep/ makefiles.
 float128-alias-fcts = yes
+float64x-alias-fcts = yes
diff --git a/sysdeps/ieee754/ldbl-128/bits/floatn.h b/sysdeps/ieee754/ldbl-128/bits/floatn.h
index 01009f0..7489bcf 100644
--- a/sysdeps/ieee754/ldbl-128/bits/floatn.h
+++ b/sysdeps/ieee754/ldbl-128/bits/floatn.h
@@ -39,6 +39,17 @@
    from the default float, double and long double types in this glibc.  */
 #define __HAVE_DISTINCT_FLOAT128 0
 
+/* Defined to 1 if the current compiler invocation provides a
+   floating-point type with the right format for _Float64x, and this
+   glibc includes corresponding *f64x interfaces for it.  */
+#define __HAVE_FLOAT64X __HAVE_FLOAT128
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+   the format of _Float128, which must be different from that of long
+   double.  */
+#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
+
 #ifndef __ASSEMBLER__
 
 /* Defined to concatenate the literal suffix to be used with _Float128
diff --git a/sysdeps/mips/ieee754/bits/floatn.h b/sysdeps/mips/ieee754/bits/floatn.h
index 4131991..ab74ccf 100644
--- a/sysdeps/mips/ieee754/bits/floatn.h
+++ b/sysdeps/mips/ieee754/bits/floatn.h
@@ -39,6 +39,17 @@
    from the default float, double and long double types in this glibc.  */
 #define __HAVE_DISTINCT_FLOAT128 0
 
+/* Defined to 1 if the current compiler invocation provides a
+   floating-point type with the right format for _Float64x, and this
+   glibc includes corresponding *f64x interfaces for it.  */
+#define __HAVE_FLOAT64X __HAVE_FLOAT128
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+   the format of _Float128, which must be different from that of long
+   double.  */
+#define __HAVE_FLOAT64X_LONG_DOUBLE __HAVE_FLOAT128
+
 #ifndef __ASSEMBLER__
 
 /* Defined to concatenate the literal suffix to be used with _Float128
diff --git a/sysdeps/powerpc/bits/floatn.h b/sysdeps/powerpc/bits/floatn.h
index 09a1c30..e2595e7 100644
--- a/sysdeps/powerpc/bits/floatn.h
+++ b/sysdeps/powerpc/bits/floatn.h
@@ -40,6 +40,17 @@
 # define __HAVE_DISTINCT_FLOAT128 0
 #endif
 
+/* Defined to 1 if the current compiler invocation provides a
+   floating-point type with the right format for _Float64x, and this
+   glibc includes corresponding *f64x interfaces for it.  */
+#define __HAVE_FLOAT64X __HAVE_FLOAT128
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+   the format of _Float128, which must be different from that of long
+   double.  */
+#define __HAVE_FLOAT64X_LONG_DOUBLE 0
+
 #ifndef __ASSEMBLER__
 
 /* Defined to concatenate the literal suffix to be used with _Float128
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 140ca28..af60b4f 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -2108,7 +2108,12 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_l F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index b21d136..4174e64 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -462,111 +462,215 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index f698e1b..98c6a17 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2019,10 +2019,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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 3ba02a1..75bd55c 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -472,114 +472,218 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x 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/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 51ead9e..1526778 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2037,6 +2037,11 @@ GLIBC_2.27 GLIBC_2.27 A
 GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
+GLIBC_2.27 strfromf64x F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index 1a7e6bf..274ca86 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -612,9 +612,113 @@ GLIBC_2.26 y0f128 F
 GLIBC_2.26 y1f128 F
 GLIBC_2.26 ynf128 F
 GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf64x F
+GLIBC_2.27 acoshf64x F
+GLIBC_2.27 asinf64x F
+GLIBC_2.27 asinhf64x F
+GLIBC_2.27 atan2f64x F
+GLIBC_2.27 atanf64x F
+GLIBC_2.27 atanhf64x F
+GLIBC_2.27 cabsf64x F
+GLIBC_2.27 cacosf64x F
+GLIBC_2.27 cacoshf64x F
+GLIBC_2.27 canonicalizef64x F
+GLIBC_2.27 cargf64x F
+GLIBC_2.27 casinf64x F
+GLIBC_2.27 casinhf64x F
+GLIBC_2.27 catanf64x F
+GLIBC_2.27 catanhf64x F
+GLIBC_2.27 cbrtf64x F
+GLIBC_2.27 ccosf64x F
+GLIBC_2.27 ccoshf64x F
+GLIBC_2.27 ceilf64x F
+GLIBC_2.27 cexpf64x F
+GLIBC_2.27 cimagf64x F
+GLIBC_2.27 clog10f64x F
+GLIBC_2.27 clogf64x F
+GLIBC_2.27 conjf64x F
+GLIBC_2.27 copysignf64x F
+GLIBC_2.27 cosf64x F
+GLIBC_2.27 coshf64x F
+GLIBC_2.27 cpowf64x F
+GLIBC_2.27 cprojf64x F
+GLIBC_2.27 crealf64x F
+GLIBC_2.27 csinf64x F
+GLIBC_2.27 csinhf64x F
+GLIBC_2.27 csqrtf64x F
+GLIBC_2.27 ctanf64x F
+GLIBC_2.27 ctanhf64x F
+GLIBC_2.27 erfcf64x F
+GLIBC_2.27 erff64x F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
+GLIBC_2.27 expf64x F
+GLIBC_2.27 expm1f64x F
+GLIBC_2.27 fabsf64x F
+GLIBC_2.27 fdimf64x F
+GLIBC_2.27 floorf64x F
+GLIBC_2.27 fmaf64x F
+GLIBC_2.27 fmaxf64x F
+GLIBC_2.27 fmaxmagf64x F
+GLIBC_2.27 fminf64x F
+GLIBC_2.27 fminmagf64x F
+GLIBC_2.27 fmodf64x F
+GLIBC_2.27 frexpf64x F
+GLIBC_2.27 fromfpf64x F
+GLIBC_2.27 fromfpxf64x F
+GLIBC_2.27 getpayloadf64x F
+GLIBC_2.27 hypotf64x F
+GLIBC_2.27 ilogbf64x F
+GLIBC_2.27 j0f64x F
+GLIBC_2.27 j1f64x F
+GLIBC_2.27 jnf64x F
+GLIBC_2.27 ldexpf64x F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
+GLIBC_2.27 llogbf64x F
+GLIBC_2.27 llrintf64x F
+GLIBC_2.27 llroundf64x F
+GLIBC_2.27 log10f64x F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
+GLIBC_2.27 log2f64x F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
+GLIBC_2.27 logf64x F
+GLIBC_2.27 lrintf64x F
+GLIBC_2.27 lroundf64x F
+GLIBC_2.27 modff64x F
+GLIBC_2.27 nanf64x F
+GLIBC_2.27 nearbyintf64x F
+GLIBC_2.27 nextafterf64x F
+GLIBC_2.27 nextdownf64x F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
+GLIBC_2.27 powf64x F
+GLIBC_2.27 remainderf64x F
+GLIBC_2.27 remquof64x F
+GLIBC_2.27 rintf64x F
+GLIBC_2.27 roundevenf64x F
+GLIBC_2.27 roundf64x F
+GLIBC_2.27 scalblnf64x F
+GLIBC_2.27 scalbnf64x F
+GLIBC_2.27 setpayloadf64x F
+GLIBC_2.27 setpayloadsigf64x F
+GLIBC_2.27 sincosf64x F
+GLIBC_2.27 sinf64x F
+GLIBC_2.27 sinhf64x F
+GLIBC_2.27 sqrtf64x F
+GLIBC_2.27 tanf64x F
+GLIBC_2.27 tanhf64x F
+GLIBC_2.27 tgammaf64x F
+GLIBC_2.27 totalorderf64x F
+GLIBC_2.27 totalordermagf64x F
+GLIBC_2.27 truncf64x F
+GLIBC_2.27 ufromfpf64x F
+GLIBC_2.27 ufromfpxf64x F
+GLIBC_2.27 y0f64x F
+GLIBC_2.27 y1f64x F
+GLIBC_2.27 ynf64x F
 GLIBC_2.4 GLIBC_2.4 A
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 78b4ee8..132200f 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1901,6 +1901,11 @@ GLIBC_2.27 GLIBC_2.27 A
 GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
+GLIBC_2.27 strfromf64x F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist
index 7e15735..28a38c6 100644
--- a/sysdeps/unix/sysv/linux/ia64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist
@@ -541,9 +541,113 @@ GLIBC_2.26 y0f128 F
 GLIBC_2.26 y1f128 F
 GLIBC_2.26 ynf128 F
 GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf64x F
+GLIBC_2.27 acoshf64x F
+GLIBC_2.27 asinf64x F
+GLIBC_2.27 asinhf64x F
+GLIBC_2.27 atan2f64x F
+GLIBC_2.27 atanf64x F
+GLIBC_2.27 atanhf64x F
+GLIBC_2.27 cabsf64x F
+GLIBC_2.27 cacosf64x F
+GLIBC_2.27 cacoshf64x F
+GLIBC_2.27 canonicalizef64x F
+GLIBC_2.27 cargf64x F
+GLIBC_2.27 casinf64x F
+GLIBC_2.27 casinhf64x F
+GLIBC_2.27 catanf64x F
+GLIBC_2.27 catanhf64x F
+GLIBC_2.27 cbrtf64x F
+GLIBC_2.27 ccosf64x F
+GLIBC_2.27 ccoshf64x F
+GLIBC_2.27 ceilf64x F
+GLIBC_2.27 cexpf64x F
+GLIBC_2.27 cimagf64x F
+GLIBC_2.27 clog10f64x F
+GLIBC_2.27 clogf64x F
+GLIBC_2.27 conjf64x F
+GLIBC_2.27 copysignf64x F
+GLIBC_2.27 cosf64x F
+GLIBC_2.27 coshf64x F
+GLIBC_2.27 cpowf64x F
+GLIBC_2.27 cprojf64x F
+GLIBC_2.27 crealf64x F
+GLIBC_2.27 csinf64x F
+GLIBC_2.27 csinhf64x F
+GLIBC_2.27 csqrtf64x F
+GLIBC_2.27 ctanf64x F
+GLIBC_2.27 ctanhf64x F
+GLIBC_2.27 erfcf64x F
+GLIBC_2.27 erff64x F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
+GLIBC_2.27 expf64x F
+GLIBC_2.27 expm1f64x F
+GLIBC_2.27 fabsf64x F
+GLIBC_2.27 fdimf64x F
+GLIBC_2.27 floorf64x F
+GLIBC_2.27 fmaf64x F
+GLIBC_2.27 fmaxf64x F
+GLIBC_2.27 fmaxmagf64x F
+GLIBC_2.27 fminf64x F
+GLIBC_2.27 fminmagf64x F
+GLIBC_2.27 fmodf64x F
+GLIBC_2.27 frexpf64x F
+GLIBC_2.27 fromfpf64x F
+GLIBC_2.27 fromfpxf64x F
+GLIBC_2.27 getpayloadf64x F
+GLIBC_2.27 hypotf64x F
+GLIBC_2.27 ilogbf64x F
+GLIBC_2.27 j0f64x F
+GLIBC_2.27 j1f64x F
+GLIBC_2.27 jnf64x F
+GLIBC_2.27 ldexpf64x F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
+GLIBC_2.27 llogbf64x F
+GLIBC_2.27 llrintf64x F
+GLIBC_2.27 llroundf64x F
+GLIBC_2.27 log10f64x F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
+GLIBC_2.27 log2f64x F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
+GLIBC_2.27 logf64x F
+GLIBC_2.27 lrintf64x F
+GLIBC_2.27 lroundf64x F
+GLIBC_2.27 modff64x F
+GLIBC_2.27 nanf64x F
+GLIBC_2.27 nearbyintf64x F
+GLIBC_2.27 nextafterf64x F
+GLIBC_2.27 nextdownf64x F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
+GLIBC_2.27 powf64x F
+GLIBC_2.27 remainderf64x F
+GLIBC_2.27 remquof64x F
+GLIBC_2.27 rintf64x F
+GLIBC_2.27 roundevenf64x F
+GLIBC_2.27 roundf64x F
+GLIBC_2.27 scalblnf64x F
+GLIBC_2.27 scalbnf64x F
+GLIBC_2.27 setpayloadf64x F
+GLIBC_2.27 setpayloadsigf64x F
+GLIBC_2.27 sincosf64x F
+GLIBC_2.27 sinf64x F
+GLIBC_2.27 sinhf64x F
+GLIBC_2.27 sqrtf64x F
+GLIBC_2.27 tanf64x F
+GLIBC_2.27 tanhf64x F
+GLIBC_2.27 tgammaf64x F
+GLIBC_2.27 totalorderf64x F
+GLIBC_2.27 totalordermagf64x F
+GLIBC_2.27 truncf64x F
+GLIBC_2.27 ufromfpf64x F
+GLIBC_2.27 ufromfpxf64x F
+GLIBC_2.27 y0f64x F
+GLIBC_2.27 y1f64x F
+GLIBC_2.27 ynf64x F
 GLIBC_2.4 GLIBC_2.4 A
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 92a46b6..9acc4cb 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -464,112 +464,216 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x 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 ce7bc9b..6ec940e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1958,10 +1958,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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 3fdd85e..71062b0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1953,10 +1953,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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/powerpc/powerpc64/libc-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
index fa026a3..a00f904 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libc-le.abilist
@@ -2202,3 +2202,8 @@ GLIBC_2.27 GLIBC_2.27 A
 GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
+GLIBC_2.27 strfromf64x F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_l F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
index 723be46..1d86c79 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
@@ -606,8 +606,112 @@ GLIBC_2.26 y0f128 F
 GLIBC_2.26 y1f128 F
 GLIBC_2.26 ynf128 F
 GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf64x F
+GLIBC_2.27 acoshf64x F
+GLIBC_2.27 asinf64x F
+GLIBC_2.27 asinhf64x F
+GLIBC_2.27 atan2f64x F
+GLIBC_2.27 atanf64x F
+GLIBC_2.27 atanhf64x F
+GLIBC_2.27 cabsf64x F
+GLIBC_2.27 cacosf64x F
+GLIBC_2.27 cacoshf64x F
+GLIBC_2.27 canonicalizef64x F
+GLIBC_2.27 cargf64x F
+GLIBC_2.27 casinf64x F
+GLIBC_2.27 casinhf64x F
+GLIBC_2.27 catanf64x F
+GLIBC_2.27 catanhf64x F
+GLIBC_2.27 cbrtf64x F
+GLIBC_2.27 ccosf64x F
+GLIBC_2.27 ccoshf64x F
+GLIBC_2.27 ceilf64x F
+GLIBC_2.27 cexpf64x F
+GLIBC_2.27 cimagf64x F
+GLIBC_2.27 clog10f64x F
+GLIBC_2.27 clogf64x F
+GLIBC_2.27 conjf64x F
+GLIBC_2.27 copysignf64x F
+GLIBC_2.27 cosf64x F
+GLIBC_2.27 coshf64x F
+GLIBC_2.27 cpowf64x F
+GLIBC_2.27 cprojf64x F
+GLIBC_2.27 crealf64x F
+GLIBC_2.27 csinf64x F
+GLIBC_2.27 csinhf64x F
+GLIBC_2.27 csqrtf64x F
+GLIBC_2.27 ctanf64x F
+GLIBC_2.27 ctanhf64x F
+GLIBC_2.27 erfcf64x F
+GLIBC_2.27 erff64x F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
+GLIBC_2.27 expf64x F
+GLIBC_2.27 expm1f64x F
+GLIBC_2.27 fabsf64x F
+GLIBC_2.27 fdimf64x F
+GLIBC_2.27 floorf64x F
+GLIBC_2.27 fmaf64x F
+GLIBC_2.27 fmaxf64x F
+GLIBC_2.27 fmaxmagf64x F
+GLIBC_2.27 fminf64x F
+GLIBC_2.27 fminmagf64x F
+GLIBC_2.27 fmodf64x F
+GLIBC_2.27 frexpf64x F
+GLIBC_2.27 fromfpf64x F
+GLIBC_2.27 fromfpxf64x F
+GLIBC_2.27 getpayloadf64x F
+GLIBC_2.27 hypotf64x F
+GLIBC_2.27 ilogbf64x F
+GLIBC_2.27 j0f64x F
+GLIBC_2.27 j1f64x F
+GLIBC_2.27 jnf64x F
+GLIBC_2.27 ldexpf64x F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
+GLIBC_2.27 llogbf64x F
+GLIBC_2.27 llrintf64x F
+GLIBC_2.27 llroundf64x F
+GLIBC_2.27 log10f64x F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
+GLIBC_2.27 log2f64x F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
+GLIBC_2.27 logf64x F
+GLIBC_2.27 lrintf64x F
+GLIBC_2.27 lroundf64x F
+GLIBC_2.27 modff64x F
+GLIBC_2.27 nanf64x F
+GLIBC_2.27 nearbyintf64x F
+GLIBC_2.27 nextafterf64x F
+GLIBC_2.27 nextdownf64x F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
+GLIBC_2.27 powf64x F
+GLIBC_2.27 remainderf64x F
+GLIBC_2.27 remquof64x F
+GLIBC_2.27 rintf64x F
+GLIBC_2.27 roundevenf64x F
+GLIBC_2.27 roundf64x F
+GLIBC_2.27 scalblnf64x F
+GLIBC_2.27 scalbnf64x F
+GLIBC_2.27 setpayloadf64x F
+GLIBC_2.27 setpayloadsigf64x F
+GLIBC_2.27 sincosf64x F
+GLIBC_2.27 sinf64x F
+GLIBC_2.27 sinhf64x F
+GLIBC_2.27 sqrtf64x F
+GLIBC_2.27 tanf64x F
+GLIBC_2.27 tanhf64x F
+GLIBC_2.27 tgammaf64x F
+GLIBC_2.27 totalorderf64x F
+GLIBC_2.27 totalordermagf64x F
+GLIBC_2.27 truncf64x F
+GLIBC_2.27 ufromfpf64x F
+GLIBC_2.27 ufromfpxf64x F
+GLIBC_2.27 y0f64x F
+GLIBC_2.27 y1f64x F
+GLIBC_2.27 ynf64x F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 41b79c4..b7dbfaa 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1991,10 +1991,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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 f3c4f77..05f32b9 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -462,114 +462,218 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x 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 68251a0..1175cd7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1892,10 +1892,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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 eb113fd..1912fe6 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -460,114 +460,218 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x 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 93e6d09..899d5ff 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1984,10 +1984,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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 152a83a..5b08525 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -469,114 +469,218 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x 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 b11d676..fbe0e51 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1921,10 +1921,15 @@ GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
 GLIBC_2.27 strfromf128 F
+GLIBC_2.27 strfromf64x F
 GLIBC_2.27 strtof128 F
 GLIBC_2.27 strtof128_l F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
 GLIBC_2.27 wcstof128 F
 GLIBC_2.27 wcstof128_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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 ff6962d..7065b81 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -463,112 +463,216 @@ 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 acosf64x F
 GLIBC_2.27 acoshf128 F
+GLIBC_2.27 acoshf64x F
 GLIBC_2.27 asinf128 F
+GLIBC_2.27 asinf64x F
 GLIBC_2.27 asinhf128 F
+GLIBC_2.27 asinhf64x F
 GLIBC_2.27 atan2f128 F
+GLIBC_2.27 atan2f64x F
 GLIBC_2.27 atanf128 F
+GLIBC_2.27 atanf64x F
 GLIBC_2.27 atanhf128 F
+GLIBC_2.27 atanhf64x F
 GLIBC_2.27 cabsf128 F
+GLIBC_2.27 cabsf64x F
 GLIBC_2.27 cacosf128 F
+GLIBC_2.27 cacosf64x F
 GLIBC_2.27 cacoshf128 F
+GLIBC_2.27 cacoshf64x F
 GLIBC_2.27 canonicalizef128 F
+GLIBC_2.27 canonicalizef64x F
 GLIBC_2.27 cargf128 F
+GLIBC_2.27 cargf64x F
 GLIBC_2.27 casinf128 F
+GLIBC_2.27 casinf64x F
 GLIBC_2.27 casinhf128 F
+GLIBC_2.27 casinhf64x F
 GLIBC_2.27 catanf128 F
+GLIBC_2.27 catanf64x F
 GLIBC_2.27 catanhf128 F
+GLIBC_2.27 catanhf64x F
 GLIBC_2.27 cbrtf128 F
+GLIBC_2.27 cbrtf64x F
 GLIBC_2.27 ccosf128 F
+GLIBC_2.27 ccosf64x F
 GLIBC_2.27 ccoshf128 F
+GLIBC_2.27 ccoshf64x F
 GLIBC_2.27 ceilf128 F
+GLIBC_2.27 ceilf64x F
 GLIBC_2.27 cexpf128 F
+GLIBC_2.27 cexpf64x F
 GLIBC_2.27 cimagf128 F
+GLIBC_2.27 cimagf64x F
 GLIBC_2.27 clog10f128 F
+GLIBC_2.27 clog10f64x F
 GLIBC_2.27 clogf128 F
+GLIBC_2.27 clogf64x F
 GLIBC_2.27 conjf128 F
+GLIBC_2.27 conjf64x F
 GLIBC_2.27 copysignf128 F
+GLIBC_2.27 copysignf64x F
 GLIBC_2.27 cosf128 F
+GLIBC_2.27 cosf64x F
 GLIBC_2.27 coshf128 F
+GLIBC_2.27 coshf64x F
 GLIBC_2.27 cpowf128 F
+GLIBC_2.27 cpowf64x F
 GLIBC_2.27 cprojf128 F
+GLIBC_2.27 cprojf64x F
 GLIBC_2.27 crealf128 F
+GLIBC_2.27 crealf64x F
 GLIBC_2.27 csinf128 F
+GLIBC_2.27 csinf64x F
 GLIBC_2.27 csinhf128 F
+GLIBC_2.27 csinhf64x F
 GLIBC_2.27 csqrtf128 F
+GLIBC_2.27 csqrtf64x F
 GLIBC_2.27 ctanf128 F
+GLIBC_2.27 ctanf64x F
 GLIBC_2.27 ctanhf128 F
+GLIBC_2.27 ctanhf64x F
 GLIBC_2.27 erfcf128 F
+GLIBC_2.27 erfcf64x F
 GLIBC_2.27 erff128 F
+GLIBC_2.27 erff64x F
 GLIBC_2.27 exp10f128 F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
 GLIBC_2.27 exp2f128 F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
 GLIBC_2.27 expf128 F
+GLIBC_2.27 expf64x F
 GLIBC_2.27 expm1f128 F
+GLIBC_2.27 expm1f64x F
 GLIBC_2.27 fabsf128 F
+GLIBC_2.27 fabsf64x F
 GLIBC_2.27 fdimf128 F
+GLIBC_2.27 fdimf64x F
 GLIBC_2.27 floorf128 F
+GLIBC_2.27 floorf64x F
 GLIBC_2.27 fmaf128 F
+GLIBC_2.27 fmaf64x F
 GLIBC_2.27 fmaxf128 F
+GLIBC_2.27 fmaxf64x F
 GLIBC_2.27 fmaxmagf128 F
+GLIBC_2.27 fmaxmagf64x F
 GLIBC_2.27 fminf128 F
+GLIBC_2.27 fminf64x F
 GLIBC_2.27 fminmagf128 F
+GLIBC_2.27 fminmagf64x F
 GLIBC_2.27 fmodf128 F
+GLIBC_2.27 fmodf64x F
 GLIBC_2.27 frexpf128 F
+GLIBC_2.27 frexpf64x F
 GLIBC_2.27 fromfpf128 F
+GLIBC_2.27 fromfpf64x F
 GLIBC_2.27 fromfpxf128 F
+GLIBC_2.27 fromfpxf64x F
 GLIBC_2.27 getpayloadf128 F
+GLIBC_2.27 getpayloadf64x F
 GLIBC_2.27 hypotf128 F
+GLIBC_2.27 hypotf64x F
 GLIBC_2.27 ilogbf128 F
+GLIBC_2.27 ilogbf64x F
 GLIBC_2.27 j0f128 F
+GLIBC_2.27 j0f64x F
 GLIBC_2.27 j1f128 F
+GLIBC_2.27 j1f64x F
 GLIBC_2.27 jnf128 F
+GLIBC_2.27 jnf64x F
 GLIBC_2.27 ldexpf128 F
+GLIBC_2.27 ldexpf64x F
 GLIBC_2.27 lgammaf128 F
 GLIBC_2.27 lgammaf128_r F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
 GLIBC_2.27 llogbf128 F
+GLIBC_2.27 llogbf64x F
 GLIBC_2.27 llrintf128 F
+GLIBC_2.27 llrintf64x F
 GLIBC_2.27 llroundf128 F
+GLIBC_2.27 llroundf64x F
 GLIBC_2.27 log10f128 F
+GLIBC_2.27 log10f64x F
 GLIBC_2.27 log1pf128 F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
 GLIBC_2.27 log2f128 F
+GLIBC_2.27 log2f64x F
 GLIBC_2.27 logbf128 F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
 GLIBC_2.27 logf128 F
+GLIBC_2.27 logf64x F
 GLIBC_2.27 lrintf128 F
+GLIBC_2.27 lrintf64x F
 GLIBC_2.27 lroundf128 F
+GLIBC_2.27 lroundf64x F
 GLIBC_2.27 modff128 F
+GLIBC_2.27 modff64x F
 GLIBC_2.27 nanf128 F
+GLIBC_2.27 nanf64x F
 GLIBC_2.27 nearbyintf128 F
+GLIBC_2.27 nearbyintf64x F
 GLIBC_2.27 nextafterf128 F
+GLIBC_2.27 nextafterf64x F
 GLIBC_2.27 nextdownf128 F
+GLIBC_2.27 nextdownf64x F
 GLIBC_2.27 nextupf128 F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
 GLIBC_2.27 powf128 F
+GLIBC_2.27 powf64x F
 GLIBC_2.27 remainderf128 F
+GLIBC_2.27 remainderf64x F
 GLIBC_2.27 remquof128 F
+GLIBC_2.27 remquof64x F
 GLIBC_2.27 rintf128 F
+GLIBC_2.27 rintf64x F
 GLIBC_2.27 roundevenf128 F
+GLIBC_2.27 roundevenf64x F
 GLIBC_2.27 roundf128 F
+GLIBC_2.27 roundf64x F
 GLIBC_2.27 scalblnf128 F
+GLIBC_2.27 scalblnf64x F
 GLIBC_2.27 scalbnf128 F
+GLIBC_2.27 scalbnf64x F
 GLIBC_2.27 setpayloadf128 F
+GLIBC_2.27 setpayloadf64x F
 GLIBC_2.27 setpayloadsigf128 F
+GLIBC_2.27 setpayloadsigf64x F
 GLIBC_2.27 sincosf128 F
+GLIBC_2.27 sincosf64x F
 GLIBC_2.27 sinf128 F
+GLIBC_2.27 sinf64x F
 GLIBC_2.27 sinhf128 F
+GLIBC_2.27 sinhf64x F
 GLIBC_2.27 sqrtf128 F
+GLIBC_2.27 sqrtf64x F
 GLIBC_2.27 tanf128 F
+GLIBC_2.27 tanf64x F
 GLIBC_2.27 tanhf128 F
+GLIBC_2.27 tanhf64x F
 GLIBC_2.27 tgammaf128 F
+GLIBC_2.27 tgammaf64x F
 GLIBC_2.27 totalorderf128 F
+GLIBC_2.27 totalorderf64x F
 GLIBC_2.27 totalordermagf128 F
+GLIBC_2.27 totalordermagf64x F
 GLIBC_2.27 truncf128 F
+GLIBC_2.27 truncf64x F
 GLIBC_2.27 ufromfpf128 F
+GLIBC_2.27 ufromfpf64x F
 GLIBC_2.27 ufromfpxf128 F
+GLIBC_2.27 ufromfpxf64x F
 GLIBC_2.27 y0f128 F
+GLIBC_2.27 y0f64x F
 GLIBC_2.27 y1f128 F
+GLIBC_2.27 y1f64x F
 GLIBC_2.27 ynf128 F
+GLIBC_2.27 ynf64x F
 GLIBC_2.4 GLIBC_2.4 A
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 0a4f779..9c4b53b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1878,6 +1878,11 @@ GLIBC_2.27 GLIBC_2.27 A
 GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
+GLIBC_2.27 strfromf64x F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_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/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 201c2ab..8a35d3c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -601,9 +601,113 @@ GLIBC_2.26 y0f128 F
 GLIBC_2.26 y1f128 F
 GLIBC_2.26 ynf128 F
 GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf64x F
+GLIBC_2.27 acoshf64x F
+GLIBC_2.27 asinf64x F
+GLIBC_2.27 asinhf64x F
+GLIBC_2.27 atan2f64x F
+GLIBC_2.27 atanf64x F
+GLIBC_2.27 atanhf64x F
+GLIBC_2.27 cabsf64x F
+GLIBC_2.27 cacosf64x F
+GLIBC_2.27 cacoshf64x F
+GLIBC_2.27 canonicalizef64x F
+GLIBC_2.27 cargf64x F
+GLIBC_2.27 casinf64x F
+GLIBC_2.27 casinhf64x F
+GLIBC_2.27 catanf64x F
+GLIBC_2.27 catanhf64x F
+GLIBC_2.27 cbrtf64x F
+GLIBC_2.27 ccosf64x F
+GLIBC_2.27 ccoshf64x F
+GLIBC_2.27 ceilf64x F
+GLIBC_2.27 cexpf64x F
+GLIBC_2.27 cimagf64x F
+GLIBC_2.27 clog10f64x F
+GLIBC_2.27 clogf64x F
+GLIBC_2.27 conjf64x F
+GLIBC_2.27 copysignf64x F
+GLIBC_2.27 cosf64x F
+GLIBC_2.27 coshf64x F
+GLIBC_2.27 cpowf64x F
+GLIBC_2.27 cprojf64x F
+GLIBC_2.27 crealf64x F
+GLIBC_2.27 csinf64x F
+GLIBC_2.27 csinhf64x F
+GLIBC_2.27 csqrtf64x F
+GLIBC_2.27 ctanf64x F
+GLIBC_2.27 ctanhf64x F
+GLIBC_2.27 erfcf64x F
+GLIBC_2.27 erff64x F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
+GLIBC_2.27 expf64x F
+GLIBC_2.27 expm1f64x F
+GLIBC_2.27 fabsf64x F
+GLIBC_2.27 fdimf64x F
+GLIBC_2.27 floorf64x F
+GLIBC_2.27 fmaf64x F
+GLIBC_2.27 fmaxf64x F
+GLIBC_2.27 fmaxmagf64x F
+GLIBC_2.27 fminf64x F
+GLIBC_2.27 fminmagf64x F
+GLIBC_2.27 fmodf64x F
+GLIBC_2.27 frexpf64x F
+GLIBC_2.27 fromfpf64x F
+GLIBC_2.27 fromfpxf64x F
+GLIBC_2.27 getpayloadf64x F
+GLIBC_2.27 hypotf64x F
+GLIBC_2.27 ilogbf64x F
+GLIBC_2.27 j0f64x F
+GLIBC_2.27 j1f64x F
+GLIBC_2.27 jnf64x F
+GLIBC_2.27 ldexpf64x F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
+GLIBC_2.27 llogbf64x F
+GLIBC_2.27 llrintf64x F
+GLIBC_2.27 llroundf64x F
+GLIBC_2.27 log10f64x F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
+GLIBC_2.27 log2f64x F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
+GLIBC_2.27 logf64x F
+GLIBC_2.27 lrintf64x F
+GLIBC_2.27 lroundf64x F
+GLIBC_2.27 modff64x F
+GLIBC_2.27 nanf64x F
+GLIBC_2.27 nearbyintf64x F
+GLIBC_2.27 nextafterf64x F
+GLIBC_2.27 nextdownf64x F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
+GLIBC_2.27 powf64x F
+GLIBC_2.27 remainderf64x F
+GLIBC_2.27 remquof64x F
+GLIBC_2.27 rintf64x F
+GLIBC_2.27 roundevenf64x F
+GLIBC_2.27 roundf64x F
+GLIBC_2.27 scalblnf64x F
+GLIBC_2.27 scalbnf64x F
+GLIBC_2.27 setpayloadf64x F
+GLIBC_2.27 setpayloadsigf64x F
+GLIBC_2.27 sincosf64x F
+GLIBC_2.27 sinf64x F
+GLIBC_2.27 sinhf64x F
+GLIBC_2.27 sqrtf64x F
+GLIBC_2.27 tanf64x F
+GLIBC_2.27 tanhf64x F
+GLIBC_2.27 tgammaf64x F
+GLIBC_2.27 totalorderf64x F
+GLIBC_2.27 totalordermagf64x F
+GLIBC_2.27 truncf64x F
+GLIBC_2.27 ufromfpf64x F
+GLIBC_2.27 ufromfpxf64x F
+GLIBC_2.27 y0f64x F
+GLIBC_2.27 y1f64x F
+GLIBC_2.27 ynf64x F
 GLIBC_2.4 GLIBC_2.4 A
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 23f6a91..7a179a5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -2121,3 +2121,8 @@ GLIBC_2.27 GLIBC_2.27 A
 GLIBC_2.27 glob F
 GLIBC_2.27 glob64 F
 GLIBC_2.27 memfd_create F
+GLIBC_2.27 strfromf64x F
+GLIBC_2.27 strtof64x F
+GLIBC_2.27 strtof64x_l F
+GLIBC_2.27 wcstof64x F
+GLIBC_2.27 wcstof64x_l F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 10e389a..f184204 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -600,8 +600,112 @@ GLIBC_2.26 y0f128 F
 GLIBC_2.26 y1f128 F
 GLIBC_2.26 ynf128 F
 GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 acosf64x F
+GLIBC_2.27 acoshf64x F
+GLIBC_2.27 asinf64x F
+GLIBC_2.27 asinhf64x F
+GLIBC_2.27 atan2f64x F
+GLIBC_2.27 atanf64x F
+GLIBC_2.27 atanhf64x F
+GLIBC_2.27 cabsf64x F
+GLIBC_2.27 cacosf64x F
+GLIBC_2.27 cacoshf64x F
+GLIBC_2.27 canonicalizef64x F
+GLIBC_2.27 cargf64x F
+GLIBC_2.27 casinf64x F
+GLIBC_2.27 casinhf64x F
+GLIBC_2.27 catanf64x F
+GLIBC_2.27 catanhf64x F
+GLIBC_2.27 cbrtf64x F
+GLIBC_2.27 ccosf64x F
+GLIBC_2.27 ccoshf64x F
+GLIBC_2.27 ceilf64x F
+GLIBC_2.27 cexpf64x F
+GLIBC_2.27 cimagf64x F
+GLIBC_2.27 clog10f64x F
+GLIBC_2.27 clogf64x F
+GLIBC_2.27 conjf64x F
+GLIBC_2.27 copysignf64x F
+GLIBC_2.27 cosf64x F
+GLIBC_2.27 coshf64x F
+GLIBC_2.27 cpowf64x F
+GLIBC_2.27 cprojf64x F
+GLIBC_2.27 crealf64x F
+GLIBC_2.27 csinf64x F
+GLIBC_2.27 csinhf64x F
+GLIBC_2.27 csqrtf64x F
+GLIBC_2.27 ctanf64x F
+GLIBC_2.27 ctanhf64x F
+GLIBC_2.27 erfcf64x F
+GLIBC_2.27 erff64x F
+GLIBC_2.27 exp10f64x F
 GLIBC_2.27 exp2f F
+GLIBC_2.27 exp2f64x F
 GLIBC_2.27 expf F
+GLIBC_2.27 expf64x F
+GLIBC_2.27 expm1f64x F
+GLIBC_2.27 fabsf64x F
+GLIBC_2.27 fdimf64x F
+GLIBC_2.27 floorf64x F
+GLIBC_2.27 fmaf64x F
+GLIBC_2.27 fmaxf64x F
+GLIBC_2.27 fmaxmagf64x F
+GLIBC_2.27 fminf64x F
+GLIBC_2.27 fminmagf64x F
+GLIBC_2.27 fmodf64x F
+GLIBC_2.27 frexpf64x F
+GLIBC_2.27 fromfpf64x F
+GLIBC_2.27 fromfpxf64x F
+GLIBC_2.27 getpayloadf64x F
+GLIBC_2.27 hypotf64x F
+GLIBC_2.27 ilogbf64x F
+GLIBC_2.27 j0f64x F
+GLIBC_2.27 j1f64x F
+GLIBC_2.27 jnf64x F
+GLIBC_2.27 ldexpf64x F
+GLIBC_2.27 lgammaf64x F
+GLIBC_2.27 lgammaf64x_r F
+GLIBC_2.27 llogbf64x F
+GLIBC_2.27 llrintf64x F
+GLIBC_2.27 llroundf64x F
+GLIBC_2.27 log10f64x F
+GLIBC_2.27 log1pf64x F
 GLIBC_2.27 log2f F
+GLIBC_2.27 log2f64x F
+GLIBC_2.27 logbf64x F
 GLIBC_2.27 logf F
+GLIBC_2.27 logf64x F
+GLIBC_2.27 lrintf64x F
+GLIBC_2.27 lroundf64x F
+GLIBC_2.27 modff64x F
+GLIBC_2.27 nanf64x F
+GLIBC_2.27 nearbyintf64x F
+GLIBC_2.27 nextafterf64x F
+GLIBC_2.27 nextdownf64x F
+GLIBC_2.27 nextupf64x F
 GLIBC_2.27 powf F
+GLIBC_2.27 powf64x F
+GLIBC_2.27 remainderf64x F
+GLIBC_2.27 remquof64x F
+GLIBC_2.27 rintf64x F
+GLIBC_2.27 roundevenf64x F
+GLIBC_2.27 roundf64x F
+GLIBC_2.27 scalblnf64x F
+GLIBC_2.27 scalbnf64x F
+GLIBC_2.27 setpayloadf64x F
+GLIBC_2.27 setpayloadsigf64x F
+GLIBC_2.27 sincosf64x F
+GLIBC_2.27 sinf64x F
+GLIBC_2.27 sinhf64x F
+GLIBC_2.27 sqrtf64x F
+GLIBC_2.27 tanf64x F
+GLIBC_2.27 tanhf64x F
+GLIBC_2.27 tgammaf64x F
+GLIBC_2.27 totalorderf64x F
+GLIBC_2.27 totalordermagf64x F
+GLIBC_2.27 truncf64x F
+GLIBC_2.27 ufromfpf64x F
+GLIBC_2.27 ufromfpxf64x F
+GLIBC_2.27 y0f64x F
+GLIBC_2.27 y1f64x F
+GLIBC_2.27 ynf64x F
diff --git a/sysdeps/x86/Makeconfig b/sysdeps/x86/Makeconfig
new file mode 100644
index 0000000..d701f82
--- /dev/null
+++ b/sysdeps/x86/Makeconfig
@@ -0,0 +1 @@
+float64x-alias-fcts = yes
diff --git a/sysdeps/x86/bits/floatn.h b/sysdeps/x86/bits/floatn.h
index 5ca6bba..9870bbc 100644
--- a/sysdeps/x86/bits/floatn.h
+++ b/sysdeps/x86/bits/floatn.h
@@ -42,6 +42,17 @@
 # define __HAVE_DISTINCT_FLOAT128 0
 #endif
 
+/* Defined to 1 if the current compiler invocation provides a
+   floating-point type with the right format for _Float64x, and this
+   glibc includes corresponding *f64x interfaces for it.  */
+#define __HAVE_FLOAT64X 1
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+   of long double.  Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+   the format of _Float128, which must be different from that of long
+   double.  */
+#define __HAVE_FLOAT64X_LONG_DOUBLE 1
+
 #ifndef __ASSEMBLER__
 
 /* Defined to concatenate the literal suffix to be used with _Float128
diff --git a/wcsmbs/Versions b/wcsmbs/Versions
index df6e7cd..e0f7a77 100644
--- a/wcsmbs/Versions
+++ b/wcsmbs/Versions
@@ -41,4 +41,8 @@ libc {
     wcstof128_l;
   }
 %endif
+  GLIBC_2.27 {
+    wcstof64x;
+    wcstof64x_l;
+  }
 }

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   57 +++++++++++
 NEWS                                               |    6 +
 bits/floatn-common.h                               |    7 --
 bits/floatn.h                                      |   11 ++
 manual/math.texi                                   |    6 +-
 math/Versions                                      |  104 ++++++++++++++++++++
 stdlib/Versions                                    |    5 +
 sysdeps/i386/fpu/libm-test-ulps                    |    8 +-
 sysdeps/i386/i686/fpu/multiarch/libm-test-ulps     |    8 +-
 sysdeps/ia64/Makeconfig                            |    2 +
 sysdeps/ia64/bits/floatn.h                         |   11 ++
 sysdeps/ieee754/float128/Makeconfig                |    1 +
 sysdeps/ieee754/ldbl-128/Makeconfig                |    1 +
 sysdeps/ieee754/ldbl-128/bits/floatn.h             |   11 ++
 sysdeps/mips/ieee754/bits/floatn.h                 |   11 ++
 sysdeps/powerpc/bits/floatn.h                      |   11 ++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist       |    5 +
 sysdeps/unix/sysv/linux/aarch64/libm.abilist       |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/alpha/libc.abilist         |    5 +
 sysdeps/unix/sysv/linux/alpha/libm.abilist         |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/i386/libc.abilist          |    5 +
 sysdeps/unix/sysv/linux/i386/libm.abilist          |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/ia64/libc.abilist          |    5 +
 sysdeps/unix/sysv/linux/ia64/libm.abilist          |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/mips/mips64/libm.abilist   |  104 ++++++++++++++++++++
 .../unix/sysv/linux/mips/mips64/n32/libc.abilist   |    5 +
 .../unix/sysv/linux/mips/mips64/n64/libc.abilist   |    5 +
 .../sysv/linux/powerpc/powerpc64/libc-le.abilist   |    5 +
 .../sysv/linux/powerpc/powerpc64/libm-le.abilist   |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist  |    5 +
 sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist  |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist  |    5 +
 sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist  |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist |    5 +
 sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist |    5 +
 sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist     |    5 +
 sysdeps/unix/sysv/linux/x86_64/64/libm.abilist     |  104 ++++++++++++++++++++
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist    |    5 +
 sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist    |  104 ++++++++++++++++++++
 sysdeps/x86/Makeconfig                             |    1 +
 sysdeps/x86/bits/floatn.h                          |   11 ++
 wcsmbs/Versions                                    |    4 +
 44 files changed, 1571 insertions(+), 18 deletions(-)
 create mode 100644 sysdeps/x86/Makeconfig


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]