diff mbox series

[03/10] math: Remove the error handling wrapper from lgammaf/lgammaf_r

Message ID 20241219202003.2651277-4-adhemerval.zanella@linaro.org
State New
Headers show
Series Remove the SVID wrapper from CORE-MATH functions. | expand

Commit Message

Adhemerval Zanella Netto Dec. 19, 2024, 8:13 p.m. UTC
It improves latency throughput for about 2%.
---
 math/Versions                                   |  1 +
 math/lgamma-compat.h                            | 15 ++++++++++++---
 math/w_lgammaf_compat2.c                        |  2 +-
 math/w_lgammaf_main.c                           |  7 +------
 sysdeps/ieee754/flt-32/e_lgammaf_r.c            | 12 ++++++++++--
 sysdeps/ieee754/flt-32/w_lgammaf.c              | 17 +++++++++++++++++
 sysdeps/mach/hurd/i386/libm.abilist             |  2 ++
 sysdeps/unix/sysv/linux/aarch64/libm.abilist    |  2 ++
 sysdeps/unix/sysv/linux/alpha/libm.abilist      |  2 ++
 sysdeps/unix/sysv/linux/arm/be/libm.abilist     |  2 ++
 sysdeps/unix/sysv/linux/arm/le/libm.abilist     |  2 ++
 sysdeps/unix/sysv/linux/hppa/libm.abilist       |  2 ++
 sysdeps/unix/sysv/linux/i386/libm.abilist       |  2 ++
 .../unix/sysv/linux/m68k/coldfire/libm.abilist  |  2 ++
 .../unix/sysv/linux/m68k/m680x0/libm.abilist    |  2 ++
 .../unix/sysv/linux/microblaze/be/libm.abilist  |  2 ++
 .../unix/sysv/linux/microblaze/le/libm.abilist  |  2 ++
 .../unix/sysv/linux/mips/mips32/libm.abilist    |  2 ++
 .../unix/sysv/linux/mips/mips64/libm.abilist    |  2 ++
 .../linux/powerpc/powerpc32/fpu/libm.abilist    |  2 ++
 .../linux/powerpc/powerpc32/nofpu/libm.abilist  |  2 ++
 .../linux/powerpc/powerpc64/be/libm.abilist     |  2 ++
 .../linux/powerpc/powerpc64/le/libm.abilist     |  2 ++
 .../unix/sysv/linux/s390/s390-32/libm.abilist   |  2 ++
 .../unix/sysv/linux/s390/s390-64/libm.abilist   |  2 ++
 sysdeps/unix/sysv/linux/sh/be/libm.abilist      |  2 ++
 sysdeps/unix/sysv/linux/sh/le/libm.abilist      |  2 ++
 .../unix/sysv/linux/sparc/sparc32/libm.abilist  |  2 ++
 .../unix/sysv/linux/sparc/sparc64/libm.abilist  |  2 ++
 sysdeps/unix/sysv/linux/x86_64/64/libm.abilist  |  2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist |  2 ++
 31 files changed, 92 insertions(+), 12 deletions(-)
 create mode 100644 sysdeps/ieee754/flt-32/w_lgammaf.c
diff mbox series

Patch

diff --git a/math/Versions b/math/Versions
index b7cb4ba51d..81f277472d 100644
--- a/math/Versions
+++ b/math/Versions
@@ -672,5 +672,6 @@  libm {
     tanpif64x; tanpif128;
     # No SVID compatible error handling.
     log10f;
+    lgammaf; lgammaf_r;
   }
 }
diff --git a/math/lgamma-compat.h b/math/lgamma-compat.h
index c2530a1418..f69f649df6 100644
--- a/math/lgamma-compat.h
+++ b/math/lgamma-compat.h
@@ -34,10 +34,17 @@ 
    old glibc.
 
    Users of this file define USE_AS_COMPAT to 0 when building the main
-   version of lgamma, 1 when building the compatibility version.  */
+   version of lgamma, 1 when building the compatibility version that
+   handles signgam visibility, and 2 when building the compatibility
+   that handles SVID support).  */
 
+#if USE_AS_COMPAT <= 1
 #define LGAMMA_OLD_VER GLIBC_2_0
 #define LGAMMA_NEW_VER GLIBC_2_23
+#elif USE_AS_COMPAT == 2
+#define LGAMMA_OLD_VER    GLIBC_2_23
+#define LGAMMA_NEW_VER    GLIBC_2_41
+#endif
 #define HAVE_LGAMMA_COMPAT SHLIB_COMPAT (libm, LGAMMA_OLD_VER, LGAMMA_NEW_VER)
 
 /* Whether to build this version at all.  */
@@ -45,8 +52,10 @@ 
   (LIBM_SVID_COMPAT && (HAVE_LGAMMA_COMPAT || !USE_AS_COMPAT))
 
 /* The name to use for this version.  */
-#if USE_AS_COMPAT
+#if USE_AS_COMPAT == 1
 # define LGFUNC(FUNC) FUNC ## _compat
+#elif USE_AS_COMPAT == 2
+# define LGFUNC(FUNC) FUNC ## _compat2
 #else
 # define LGFUNC(FUNC) FUNC
 #endif
@@ -54,7 +63,7 @@ 
 /* If there is a compatibility version, gamma (not an ISO C function,
    so never a problem for it to set signgam) points directly to it
    rather than having separate versions.  */
-#define GAMMA_ALIAS (USE_AS_COMPAT ? HAVE_LGAMMA_COMPAT : !HAVE_LGAMMA_COMPAT)
+#define GAMMA_ALIAS (USE_AS_COMPAT == 1 ? HAVE_LGAMMA_COMPAT : !HAVE_LGAMMA_COMPAT)
 
 /* How to call the underlying lgamma_r function.  */
 #define CALL_LGAMMA(TYPE, FUNC, ARG)			\
diff --git a/math/w_lgammaf_compat2.c b/math/w_lgammaf_compat2.c
index 5fc402260c..3a942dbe04 100644
--- a/math/w_lgammaf_compat2.c
+++ b/math/w_lgammaf_compat2.c
@@ -1,2 +1,2 @@ 
-#define USE_AS_COMPAT 0
+#define USE_AS_COMPAT 2
 #include <w_lgammaf_main.c>
diff --git a/math/w_lgammaf_main.c b/math/w_lgammaf_main.c
index 22b7f8fc53..8d475d3a6c 100644
--- a/math/w_lgammaf_main.c
+++ b/math/w_lgammaf_main.c
@@ -33,12 +33,7 @@  LGFUNC (__lgammaf) (float x)
 
 	return y;
 }
-# if USE_AS_COMPAT
-compat_symbol (libm, __lgammaf_compat, lgammaf, LGAMMA_OLD_VER);
-# else
-versioned_symbol (libm, __lgammaf, lgammaf, LGAMMA_NEW_VER);
-libm_alias_float_other (__lgamma, lgamma)
-# endif
+compat_symbol (libm, LGFUNC (__lgammaf), lgammaf, LGAMMA_OLD_VER);
 # if GAMMA_ALIAS
 strong_alias (LGFUNC (__lgammaf), __gammaf)
 weak_alias (__gammaf, gammaf)
diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c
index 75ec25fb9e..c99930fd43 100644
--- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c
+++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c
@@ -36,6 +36,8 @@  SOFTWARE.
 #include <math.h>
 #include <libm-alias-finite.h>
 #include <limits.h>
+#include <libm-alias-float.h>
+#include <math-svid-compat.h>
 #include <math-narrow-eval.h>
 #include "math_config.h"
 
@@ -108,7 +110,7 @@  as_ln (double x)
 }
 
 float
-__ieee754_lgammaf_r (float x, int *signgamp)
+__lgamma_rf (float x, int *signgamp)
 {
   static const struct
   {
@@ -363,4 +365,10 @@  __ieee754_lgammaf_r (float x, int *signgamp)
     }
   return r;
 }
-libm_alias_finite (__ieee754_lgammaf_r, __lgammaf_r)
+strong_alias (__lgamma_rf, __ieee754_lgammaf_r)
+libm_alias_finite (__lgamma_rf, __lgammaf_r)
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __lgamma_rf, lgammaf_r, GLIBC_2_41);
+#else
+libm_alias_float (__lgamma_r, lgamma_r)
+#endif
diff --git a/sysdeps/ieee754/flt-32/w_lgammaf.c b/sysdeps/ieee754/flt-32/w_lgammaf.c
new file mode 100644
index 0000000000..ed6db0e51d
--- /dev/null
+++ b/sysdeps/ieee754/flt-32/w_lgammaf.c
@@ -0,0 +1,17 @@ 
+#include <math-svid-compat.h>
+#include <math.h>
+#include <libm-alias-float.h>
+
+float
+__lgammaf (float x)
+{
+  return __lgammaf_r (x, &__signgam);
+}
+#if LIBM_SVID_COMPAT
+versioned_symbol (libm, __lgammaf, lgammaf, GLIBC_2_41);
+libm_alias_float_other (__lgamma, lgamma)
+#else
+libm_alias_float (__lgamma, lgamma)
+strong_alias (__lgammaf, __gammaf)
+weak_alias (__gammaf, gammaf)
+#endif
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 2c5340acb1..19c5404622 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1261,6 +1261,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index cef9647f18..01fd052ad4 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1229,6 +1229,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index cea5d26db0..987b3e867d 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1388,6 +1388,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index 0d772526d6..555aa85754 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index 0d772526d6..555aa85754 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index 73638e858c..ebfeab6952 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index 0be467f03e..0881fb8acf 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1268,6 +1268,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index 0d772526d6..555aa85754 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
index c3c23fd02d..9dfc70db43 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -944,6 +944,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
 GLIBC_2.41 sinpif32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index ab41a60d17..2ead389377 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index ab41a60d17..2ead389377 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index 0e08dd4b0c..0d749f151c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 52e719391a..503f6c4716 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1229,6 +1229,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 6ee447acd1..721baa844c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -1055,6 +1055,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index 00579cad3a..84b817ead4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -1054,6 +1054,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index cb5a390626..16ad95f05c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -1048,6 +1048,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index d87ea27219..051e2bb763 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1413,6 +1413,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 604b5b3c43..b460e7c560 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1332,6 +1332,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 5a051fb088..0f44c65cfa 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1332,6 +1332,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 95b843407a..450af3bfa0 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 95b843407a..450af3bfa0 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -908,6 +908,8 @@  GLIBC_2.41 cospif32 F
 GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 94a44a5cd3..bd0d980112 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1339,6 +1339,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 492ea37070..a1847fe909 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1229,6 +1229,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 0a8f74b516..22b87c7374 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1262,6 +1262,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 999c57b4b1..79194159c3 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1262,6 +1262,8 @@  GLIBC_2.41 cospif32x F
 GLIBC_2.41 cospif64 F
 GLIBC_2.41 cospif64x F
 GLIBC_2.41 cospil F
+GLIBC_2.41 lgammaf F
+GLIBC_2.41 lgammaf_r F
 GLIBC_2.41 log10f F
 GLIBC_2.41 sinpi F
 GLIBC_2.41 sinpif F