[PATCH v5 4/7] math: Remove the SVID error handling from atan2f

Adhemerval Zanella adhemerval.zanella@linaro.org
Fri Oct 31 16:08:53 GMT 2025


It improves latency for about 3-6% and throughput for about 5-12%.

Tested on x86_64-linux-gnu and i686-linux-gnu.
---
 math/Versions                                 |  1 +
 math/w_atan2f_compat.c                        | 11 +++++---
 sysdeps/ieee754/flt-32/e_atan2f.c             | 25 ++++++++++++++++---
 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 +
 .../sysv/linux/m68k/coldfire/libm.abilist     |  1 +
 .../sysv/linux/microblaze/be/libm.abilist     |  1 +
 .../sysv/linux/microblaze/le/libm.abilist     |  1 +
 .../unix/sysv/linux/mips/mips32/libm.abilist  |  1 +
 .../unix/sysv/linux/mips/mips64/libm.abilist  |  1 +
 .../linux/powerpc/powerpc32/fpu/libm.abilist  |  1 +
 .../powerpc/powerpc32/nofpu/libm.abilist      |  1 +
 .../linux/powerpc/powerpc64/be/libm.abilist   |  1 +
 .../linux/powerpc/powerpc64/le/libm.abilist   |  1 +
 .../unix/sysv/linux/s390/s390-32/libm.abilist |  1 +
 .../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 +
 .../sysv/linux/sparc/sparc32/libm.abilist     |  1 +
 .../sysv/linux/sparc/sparc64/libm.abilist     |  1 +
 .../unix/sysv/linux/x86_64/64/libm.abilist    |  1 +
 .../unix/sysv/linux/x86_64/x32/libm.abilist   |  1 +
 29 files changed, 63 insertions(+), 7 deletions(-)
 create mode 100644 sysdeps/ieee754/flt-32/w_atan2f.c
 create mode 100644 sysdeps/m68k/m680x0/fpu/w_atan2f_compat.c

diff --git a/math/Versions b/math/Versions
index ebde8288af5..03e1d941368 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 047f853f2c4..f199fa66e3d 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 1c72845c7c8..7d60f91b816 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
@@ -25,9 +25,12 @@ SOFTWARE.
 
 */
 
+#include <errno.h>
 #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 +88,15 @@ cr_atan2f_tiny (float y, float x)
       else
 	t -= 1;
     }
-  return asdouble (t);
+  double r = asdouble (t);
+  float rf = r;
+  if (__glibc_unlikely (fabsf (rf) < 0x1p-126f))
+    __set_errno (ERANGE);
+  return rf;
 }
 
 float
-__ieee754_atan2f (float y, float x)
+__atan2f (float y, float x)
 {
   static const double cn[] =
     {
@@ -269,6 +276,16 @@ __ieee754_atan2f (float y, float x)
 	}
       r = th + tm;
     }
-  return r;
+  float rf = r;
+  if (__glibc_unlikely (fabsf (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 00000000000..1cc89317007
--- /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 00000000000..ebc8035961c
--- /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 0b2936d006e..e3381a14878 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 32e203002ba..36a2275a6d2 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 1c30ad0595d..bee8a6c6198 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 1f9805743ff..169ef57561f 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 1f9805743ff..169ef57561f 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 c9b7e16b762..ab937b52329 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 0b83ff5fb93..e3712e4f4e5 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 1f9805743ff..169ef57561f 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 3d908b6fa20..0286fc995d2 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 3d908b6fa20..0286fc995d2 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 0bd13fbf0a2..a4c887667af 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 e95578d4872..2df458fd3ec 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 b2ae1f59994..b4e0f2bd6ec 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 b275c4dcc81..c058176fc5b 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 aa4208f6954..44cae8ed783 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 f9d157ca5d5..b5f3ff3564f 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 aeccef79fef..c84a7a7e315 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 cbe16552298..3f1d3574fe1 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 47869d782b0..bd0c0a255d8 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 47869d782b0..bd0c0a255d8 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 79adf27a952..26c77caa31c 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 3d146f25000..0c56589e204 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 88aec41906f..b0a77f545e2 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 5896c8c0d43..2d31c232739 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
-- 
2.43.0



More information about the Libc-alpha mailing list