[glibc] math: Remove the SVID error handling from atan2f
Adhemerval Zanella
azanella@sourceware.org
Wed Nov 5 13:40:53 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=7ec8eb567639b6cfd2a8f3d267bdc6dd47c32d3e
commit 7ec8eb567639b6cfd2a8f3d267bdc6dd47c32d3e
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Tue Nov 4 13:20:00 2025 -0300
math: Remove the SVID error handling from atan2f
It improves latency for about 3-6% and throughput for about 5-12%.
Tested on x86_64-linux-gnu and i686-linux-gnu.
Reviewed-by: Wilco Dijkstra <Wilco.Dijkstra@arm.com>
Diff:
---
math/Versions | 1 +
math/w_atan2f_compat.c | 11 +++++++---
sysdeps/ieee754/flt-32/e_atan2f.c | 24 ++++++++++++++++++----
sysdeps/ieee754/flt-32/w_atan2f.c | 1 +
sysdeps/m68k/m680x0/fpu/w_atan2f_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 +
.../linux/powerpc/powerpc32/nofpu/libm.abilist | 1 +
.../sysv/linux/powerpc/powerpc64/be/libm.abilist | 1 +
.../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, 62 insertions(+), 7 deletions(-)
diff --git a/math/Versions b/math/Versions
index 272f3f3a74..bf57cc9176 100644
--- a/math/Versions
+++ b/math/Versions
@@ -691,6 +691,7 @@ libm {
acosf;
acoshf;
asinf;
+ atan2f;
atanhf;
coshf;
j0f;
diff --git a/math/w_atan2f_compat.c b/math/w_atan2f_compat.c
index 047f853f2c..f199fa66e3 100644
--- a/math/w_atan2f_compat.c
+++ b/math/w_atan2f_compat.c
@@ -26,9 +26,9 @@
#include <libm-alias-float.h>
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_43)
float
-__atan2f (float y, float x)
+__atan2_compatf (float y, float x)
{
float z;
@@ -40,5 +40,10 @@ __atan2f (float y, float x)
__set_errno (ERANGE);
return z;
}
-libm_alias_float (__atan2, atan2)
+# ifdef NO_COMPAT_NEEDED
+strong_alias (__atan2_compatf, __atan2f)
+libm_alias_float (__atan2_compat, atan2)
+# else
+compat_symbol (libm, __atan2_compatf, atan2f, GLIBC_2_0);
+# endif
#endif
diff --git a/sysdeps/ieee754/flt-32/e_atan2f.c b/sysdeps/ieee754/flt-32/e_atan2f.c
index 1c72845c7c..03070e017d 100644
--- a/sysdeps/ieee754/flt-32/e_atan2f.c
+++ b/sysdeps/ieee754/flt-32/e_atan2f.c
@@ -3,7 +3,7 @@
Copyright (c) 2022-2024 Alexei Sibidanov and Paul Zimmermann.
The original version of this file was copied from the CORE-MATH
-project (file src/binary32/atan2/atan2f.c, revision 7835c5d).
+project (file src/binary32/atan2/atan2f.c, revision 9b28a4a).
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -28,6 +28,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 inline double
@@ -85,11 +87,15 @@ cr_atan2f_tiny (float y, float x)
else
t -= 1;
}
- return asdouble (t);
+ double r = asdouble (t);
+ float rf = r;
+ if (__glibc_unlikely (rf == 0.0f))
+ return __math_uflowf (t >> 63);
+ return rf;
}
float
-__ieee754_atan2f (float y, float x)
+__atan2f (float y, float x)
{
static const double cn[] =
{
@@ -269,6 +275,16 @@ __ieee754_atan2f (float y, float x)
}
r = th + tm;
}
- return r;
+ float rf = r;
+ if (__glibc_unlikely (rf == 0.0f))
+ return __math_uflowf (asuint (rf) >> 1);
+ return rf;
}
+strong_alias (__atan2f, __ieee754_atan2f)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __atan2f, atan2f, GLIBC_2_43);
+libm_alias_float_other (__atan2, atan2)
+#else
+libm_alias_float (__atan2, atan2)
+#endif
libm_alias_finite (__ieee754_atan2f, __atan2f)
diff --git a/sysdeps/ieee754/flt-32/w_atan2f.c b/sysdeps/ieee754/flt-32/w_atan2f.c
new file mode 100644
index 0000000000..1cc8931700
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_atan2f.c
@@ -0,0 +1 @@
+/* Not needed. */
diff --git a/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c b/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
new file mode 100644
index 0000000000..ebc8035961
--- /dev/null
+++ b/sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c
@@ -0,0 +1,8 @@
+/* m68k provides an optimized __ieee754_atan2f. */
+#ifdef SHARED
+# define NO_COMPAT_NEEDED 1
+# include <math/w_atan2f_compat.c>
+#else
+# include <math-type-macros-float.h>
+# include <w_atan2_template.c>
+#endif
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 275b733d02..024bc15fe5 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1320,6 +1320,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 fmod F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index d374f57923..9e803a74ac 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1288,6 +1288,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index dcc203d56d..dbbad3c8fb 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1447,6 +1447,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index 0a31a7f35a..b819f6d8d0 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index 0a31a7f35a..b819f6d8d0 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index 5b1ad5c484..0091839d73 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index da5e21bd0a..6fc86a9230 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1327,6 +1327,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 fmod F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index 0a31a7f35a..b819f6d8d0 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index c13265d579..2f6ac7784d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index c13265d579..2f6ac7784d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index b2bbf3438c..92eaa36b8d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index ce012e3a24..13f0831083 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1288,6 +1288,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 1815b30461..80a5aaf8b8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1100,6 +1100,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index 83c85cc5b4..2a876cae98 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1099,6 +1099,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index fff8c29909..4cbec9212f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1093,6 +1093,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 89fb06eace..55b3fa1906 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1477,6 +1477,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 7f5d342987..61cc0a5ba1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1391,6 +1391,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 7b97344582..1b4db358a4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1391,6 +1391,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 9cea7f87a5..32857b8b54 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 9cea7f87a5..32857b8b54 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -953,6 +953,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index edd6cce226..364f51b035 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1398,6 +1398,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 201004c62c..49e898d5eb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1288,6 +1288,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 4d9e27cb15..73b55ae4dd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1321,6 +1321,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index a411d376ea..a138d3e070 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1321,6 +1321,7 @@ GLIBC_2.42 rsqrtl F
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 coshf F
GLIBC_2.43 j0f F
More information about the Glibc-cvs
mailing list