[PATCH v4 14/21] math: Remove the SVID error handling from atanhf

Adhemerval Zanella adhemerval.zanella@linaro.org
Wed Oct 8 13:55:14 GMT 2025


It improves latency for about 1-10% and throughput for about 5-10%.

Tested on x86_64-linux-gnu and i686-linux-gnu.
---
 math/Versions                                         |  2 +-
 math/w_atanhf_compat.c                                | 11 ++++++++---
 sysdeps/ieee754/flt-32/e_atanhf.c                     | 11 ++++++++++-
 sysdeps/ieee754/flt-32/w_atanhf.c                     |  1 +
 sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c             |  8 ++++++++
 sysdeps/mach/hurd/i386/libm.abilist                   |  1 +
 sysdeps/unix/sysv/linux/aarch64/libm.abilist          |  1 +
 sysdeps/unix/sysv/linux/alpha/libm.abilist            |  1 +
 sysdeps/unix/sysv/linux/arm/be/libm.abilist           |  1 +
 sysdeps/unix/sysv/linux/arm/le/libm.abilist           |  1 +
 sysdeps/unix/sysv/linux/hppa/libm.abilist             |  1 +
 sysdeps/unix/sysv/linux/i386/libm.abilist             |  1 +
 sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist    |  1 +
 sysdeps/unix/sysv/linux/microblaze/be/libm.abilist    |  1 +
 sysdeps/unix/sysv/linux/microblaze/le/libm.abilist    |  1 +
 sysdeps/unix/sysv/linux/mips/mips32/libm.abilist      |  1 +
 sysdeps/unix/sysv/linux/mips/mips64/libm.abilist      |  1 +
 .../sysv/linux/powerpc/powerpc32/fpu/libm.abilist     |  1 +
 .../sysv/linux/powerpc/powerpc32/nofpu/libm.abilist   |  1 +
 .../unix/sysv/linux/powerpc/powerpc64/be/libm.abilist |  1 +
 .../unix/sysv/linux/powerpc/powerpc64/le/libm.abilist |  1 +
 sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist     |  1 +
 sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist     |  1 +
 sysdeps/unix/sysv/linux/sh/be/libm.abilist            |  1 +
 sysdeps/unix/sysv/linux/sh/le/libm.abilist            |  1 +
 sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist    |  1 +
 sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist    |  1 +
 sysdeps/unix/sysv/linux/x86_64/64/libm.abilist        |  1 +
 sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist       |  1 +
 29 files changed, 52 insertions(+), 5 deletions(-)
 create mode 100644 sysdeps/ieee754/flt-32/w_atanhf.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c

diff --git a/math/Versions b/math/Versions
index 81042f34e06..e0430d8ecc7 100644
--- a/math/Versions
+++ b/math/Versions
@@ -689,6 +689,6 @@ libm {
   GLIBC_2.43 {
     # No SVID compatible error handling.
     remainderf; remainder; log10f; lgammaf; lgammaf_r; acosf; asinf; acoshf;
-    atan2f;
+    atan2f; atanhf;
   }
 }
diff --git a/math/w_atanhf_compat.c b/math/w_atanhf_compat.c
index b86686cd764..43232b2b3d8 100644
--- a/math/w_atanhf_compat.c
+++ b/math/w_atanhf_compat.c
@@ -21,10 +21,10 @@
 #include <libm-alias-float.h>
 
 
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_43)
 /* wrapper atanhf */
 float
-__atanhf (float x)
+__atanh_compatf (float x)
 {
   if (__builtin_expect (isgreaterequal (fabsf (x), 1.0f), 0)
       && _LIB_VERSION != _IEEE_)
@@ -35,5 +35,10 @@ __atanhf (float x)
 
   return __ieee754_atanhf (x);
 }
-libm_alias_float (__atanh, atanh)
+# ifdef NO_COMPAT_NEEDED
+strong_alias (__atanh_compatf, __atanhf)
+libm_alias_float (__atanh_compat, atanh)
+# else
+compat_symbol (libm, __atanh_compatf, atanhf, GLIBC_2_0);
+# endif
 #endif
diff --git a/sysdeps/ieee754/flt-32/e_atanhf.c b/sysdeps/ieee754/flt-32/e_atanhf.c
index eeb1aae6a13..64512e433e7 100644
--- a/sysdeps/ieee754/flt-32/e_atanhf.c
+++ b/sysdeps/ieee754/flt-32/e_atanhf.c
@@ -27,6 +27,8 @@ SOFTWARE.
 #include <math.h>
 #include <stdint.h>
 #include <libm-alias-finite.h>
+#include <libm-alias-float.h>
+#include <math-svid-compat.h>
 #include "math_config.h"
 
 static __attribute__((noinline)) float
@@ -42,7 +44,7 @@ as_special (float x)
 }
 
 float
-__ieee754_atanhf (float x)
+__atanhf (float x)
 {
   /* Calculate atanh(x) using the difference of two logarithms -- atanh(x) =
      (ln(1+x) - ln(1-x))/2  */
@@ -175,4 +177,11 @@ __ieee754_atanhf (float x)
     }
   return ub;
 }
+strong_alias (__atanhf, __ieee754_atanhf)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __atanhf, atanhf, GLIBC_2_43);
+libm_alias_float_other (__atanh, atanh)
+#else
+libm_alias_float (__atanh, atanh)
+#endif
 libm_alias_finite (__ieee754_atanhf, __atanhf)
diff --git a/sysdeps/ieee754/flt-32/w_atanhf.c b/sysdeps/ieee754/flt-32/w_atanhf.c
new file mode 100644
index 00000000000..1cc89317007
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_atanhf.c
@@ -0,0 +1 @@
+/* Not needed.  */
diff --git a/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c b/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c
new file mode 100644
index 00000000000..1ec8434684c
--- /dev/null
+++ b/sysdeps/m68k/m680x0/fpu/w_atanhf_compat.c
@@ -0,0 +1,8 @@
+/* m68k provides an optimized __ieee754_atanhf.  */
+#ifdef SHARED
+# define NO_COMPAT_NEEDED 1
+# include <math/w_atanhf_compat.c>
+#else
+# include <math-type-macros-float.h>
+# include <w_atanh_template.c>
+#endif
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index f76bdd5fe80..ebca620a208 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1321,6 +1321,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 fmod F
 GLIBC_2.43 fmodf F
 GLIBC_2.43 lgammaf F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index f1e243d3cb7..5babbf43ec0 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1289,6 +1289,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index 0796948e0f8..d68f87f7af4 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1448,6 +1448,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index 410be27fbe2..4c3be38bae2 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index 410be27fbe2..4c3be38bae2 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index d594515e1b6..e79d15858e7 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index aff2dd11ba6..0aae5749431 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1328,6 +1328,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 fmod F
 GLIBC_2.43 fmodf F
 GLIBC_2.43 lgammaf F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index 410be27fbe2..4c3be38bae2 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index 07e4f0c677e..733fa068e16 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index 07e4f0c677e..733fa068e16 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index 40de1a0c459..59d9fc927e9 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 02b4637c0af..f3c3f357816 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1289,6 +1289,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 2741f4b043e..c8ef606cf20 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1101,6 +1101,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index 71f8d0cbb2c..b4ad3a696f5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1100,6 +1100,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index 234e9696304..be0c29eadc9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1094,6 +1094,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 36e45fb718d..5669acaa564 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1478,6 +1478,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 9e3acb10c2b..53679f9e012 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1392,6 +1392,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 5e32f60a73f..8cb45ad5268 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1392,6 +1392,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 9c89c8effda..e8d4da9c49a 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 9c89c8effda..e8d4da9c49a 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -954,6 +954,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 1d5b41e7fa8..86c0f3f7373 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1399,6 +1399,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 16a6ce4886c..1954e9f1ab4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1289,6 +1289,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index c54d54f8ff3..abece7d9608 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1322,6 +1322,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 8bd7e0e3e1a..36b411f4e47 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1322,6 +1322,7 @@ GLIBC_2.43 acosf F
 GLIBC_2.43 acoshf F
 GLIBC_2.43 asinf F
 GLIBC_2.43 atan2f F
+GLIBC_2.43 atanhf F
 GLIBC_2.43 lgammaf F
 GLIBC_2.43 lgammaf_r F
 GLIBC_2.43 log10f F
-- 
2.43.0



More information about the Libc-alpha mailing list