about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/i686/fpu/multiarch/libm-test-ulps48
-rw-r--r--sysdeps/ieee754/ldbl-128ibm-compat/Versions2
-rw-r--r--sysdeps/ieee754/ldbl-opt/Makefile4
-rw-r--r--sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c8
-rw-r--r--sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c8
-rw-r--r--sysdeps/mach/hurd/i386/libm.abilist16
-rw-r--r--sysdeps/mach/hurd/x86_64/libm.abilist16
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile5
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h2
-rw-r--r--sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h3
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/arc/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/csky/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/i386/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/or1k/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist18
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libm.abilist12
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libm.abilist16
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist16
-rw-r--r--sysdeps/x86_64/fpu/libm-test-ulps48
42 files changed, 589 insertions, 1 deletions
diff --git a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
index 8446b81af8..0d441dc7aa 100644
--- a/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
+++ b/sysdeps/i386/i686/fpu/multiarch/libm-test-ulps
@@ -1156,6 +1156,30 @@ float: 1
 float128: 3
 ldouble: 2
 
+Function: "exp10m1":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "exp10m1_downward":
+double: 1
+float: 1
+float128: 3
+ldouble: 2
+
+Function: "exp10m1_towardzero":
+double: 1
+float: 1
+float128: 3
+ldouble: 2
+
+Function: "exp10m1_upward":
+double: 3
+float: 1
+float128: 3
+ldouble: 2
+
 Function: "exp2":
 double: 1
 float128: 1
@@ -1175,6 +1199,30 @@ float: 1
 float128: 2
 ldouble: 1
 
+Function: "exp2m1":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "exp2m1_downward":
+double: 2
+float: 1
+float128: 2
+ldouble: 3
+
+Function: "exp2m1_towardzero":
+double: 2
+float: 1
+float128: 2
+ldouble: 3
+
+Function: "exp2m1_upward":
+double: 1
+float: 1
+float128: 2
+ldouble: 3
+
 Function: "exp_downward":
 double: 1
 float: 1
diff --git a/sysdeps/ieee754/ldbl-128ibm-compat/Versions b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
index 696d132c70..bd73016e93 100644
--- a/sysdeps/ieee754/ldbl-128ibm-compat/Versions
+++ b/sysdeps/ieee754/ldbl-128ibm-compat/Versions
@@ -138,6 +138,8 @@ libm {
     __fminimum_mag_numieee128;
   }
   GLIBC_2.40 {
+    __exp2m1ieee128;
+    __exp10m1ieee128;
     __log2p1ieee128;
     __log10p1ieee128;
     __logp1ieee128;
diff --git a/sysdeps/ieee754/ldbl-opt/Makefile b/sysdeps/ieee754/ldbl-opt/Makefile
index d8cceb51b1..14fd715003 100644
--- a/sysdeps/ieee754/ldbl-opt/Makefile
+++ b/sysdeps/ieee754/ldbl-opt/Makefile
@@ -61,8 +61,10 @@ libnldbl-calls = \
   erf \
   erfc \
   exp \
+  exp10m1 \
   exp2 \
   exp10 \
+  exp2m1 \
   expm1 \
   fabs \
   fadd \
@@ -296,7 +298,9 @@ CFLAGS-nldbl-erf.c = -fno-builtin-erfl
 CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl
 CFLAGS-nldbl-exp.c = -fno-builtin-expl
 CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l
+CFLAGS-nldbl-exp10m1.c = -fno-builtin-exp10m1l
 CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l
+CFLAGS-nldbl-exp2m1.c = -fno-builtin-exp2m1l
 CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l
 CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
 CFLAGS-nldbl-fadd.c = -fno-builtin-faddl
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c
new file mode 100644
index 0000000000..3495263fc9
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+double
+attribute_hidden
+exp10m1l (double x)
+{
+  return exp10m1 (x);
+}
diff --git a/sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c b/sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c
new file mode 100644
index 0000000000..2bc6066e0c
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c
@@ -0,0 +1,8 @@
+#include "nldbl-compat.h"
+
+double
+attribute_hidden
+exp2m1l (double x)
+{
+  return exp2m1 (x);
+}
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index c999fc00ce..18113773bb 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1181,6 +1181,22 @@ GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
 GLIBC_2.35 hypot F
 GLIBC_2.35 hypotf F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/mach/hurd/x86_64/libm.abilist b/sysdeps/mach/hurd/x86_64/libm.abilist
index 256717f5a5..d4c087a471 100644
--- a/sysdeps/mach/hurd/x86_64/libm.abilist
+++ b/sysdeps/mach/hurd/x86_64/libm.abilist
@@ -1038,6 +1038,22 @@ GLIBC_2.38 ynf32x F
 GLIBC_2.38 ynf64 F
 GLIBC_2.38 ynf64x F
 GLIBC_2.38 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile
index 43d9e5fa13..6d74f09912 100644
--- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile
+++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/Makefile
@@ -91,7 +91,8 @@ gen-libm-f128-ifunc-routines = \
 	e_expf128 e_fmodf128 e_hypotf128 e_j0f128 e_j1f128 e_jnf128 \
 	e_lgammaf128_r e_logf128 e_log10f128 e_powf128 e_remainderf128 \
 	e_sinhf128 e_sqrtf128 e_gammaf128_r e_ilogbf128 k_tanf128 s_asinhf128 \
-	s_atanf128 s_cbrtf128 s_ceilf128 s_cosf128 s_erff128 s_expm1f128 \
+	s_atanf128 s_cbrtf128 s_ceilf128 s_cosf128 s_erff128 s_exp10m1f128 \
+	s_exp2m1f128 s_expm1f128 \
 	s_fabsf128 s_floorf128 s_log1pf128 s_logbf128 \
 	s_rintf128 s_scalblnf128 s_sinf128 s_tanf128 \
 	s_tanhf128 s_truncf128 s_remquof128 e_log2f128 \
@@ -253,7 +254,9 @@ CFLAGS-s_erff128-ifunc.c += -fno-builtin-erff64x
 CFLAGS-s_erfcf128-ifunc.c += -fno-builtin-erfcf64x
 CFLAGS-e_expf128-ifunc.c += -fno-builtin-expf64x
 CFLAGS-w_exp10f128-ifunc.c += -fno-builtin-exp10f64x
+CFLAGS-s_exp10m1f128-ifunc.c += -fno-builtin-exp10m1f64x
 CFLAGS-e_exp2f128-ifunc.c += -fno-builtin-exp2f64x
+CFLAGS-s_exp2m1f128-ifunc.c += -fno-builtin-exp2m1f64x
 CFLAGS-s_expm1f128-ifunc.c += -fno-builtin-expm1f64x
 CFLAGS-s_fabsf128-ifunc.c += -fno-builtin-fabsf64x
 CFLAGS-s_faddf128-ifunc.c += -fno-builtin-f32addf64x
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h
index 22038bb267..173cfca47b 100644
--- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h
+++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/float128_private.h
@@ -59,6 +59,8 @@ F128_REDIR (__cosf128)
 F128_REDIR (__erfcf128)
 F128_REDIR (__erff128)
 F128_REDIR (__expf128)
+F128_REDIR (__exp10m1f128);
+F128_REDIR (__exp2m1f128);
 F128_REDIR (__expm1f128)
 F128_REDIR (__fabsf128)
 F128_REDIR (__fdimf128)
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h
index 0506db0855..39241dcf48 100644
--- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h
+++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/math-type-macros-float128.h
@@ -81,6 +81,8 @@ F128_REDIR (__crealf128);
 F128_REDIR (__conjf128);
 F128_REDIR (__cprojf128);
 F128_REDIR (__cabsf128);
+F128_REDIR (__exp10m1f128);
+F128_REDIR (__exp2m1f128);
 F128_REDIR (__fdimf128);
 F128_REDIR (__fminf128);
 F128_REDIR (__fmaxf128);
@@ -89,6 +91,7 @@ F128_REDIR (__llogbf128);
 F128_REDIR (__log2f128);
 F128_REDIR (__exp10f128);
 F128_REDIR (__exp2f128);
+F128_REDIR (__expm1f128);
 F128_REDIR (__j0f128);
 F128_REDIR (__j1f128);
 F128_REDIR (__jnf128);
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index 5737e6dd1c..024cb8d31c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1149,6 +1149,22 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index f0e96fb621..4b7f756811 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1308,6 +1308,22 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/arc/libm.abilist b/sysdeps/unix/sysv/linux/arc/libm.abilist
index 315a4532ec..f6eb7a535b 100644
--- a/sysdeps/unix/sysv/linux/arc/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libm.abilist
@@ -757,6 +757,18 @@ GLIBC_2.35 fminimumf64 F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index 20da5b77d7..78540e97d2 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.4 y1l F
 GLIBC_2.4 yn F
 GLIBC_2.4 ynf F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index 20da5b77d7..78540e97d2 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.4 y1l F
 GLIBC_2.4 yn F
 GLIBC_2.4 ynf F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/csky/libm.abilist b/sysdeps/unix/sysv/linux/csky/libm.abilist
index a8181e88f0..7a68784a1d 100644
--- a/sysdeps/unix/sysv/linux/csky/libm.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libm.abilist
@@ -823,6 +823,18 @@ GLIBC_2.35 fminimumf64 F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index b10d92f560..d29139ebf1 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index e760f738b9..0797f3fb72 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1188,6 +1188,22 @@ GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
 GLIBC_2.35 hypot F
 GLIBC_2.35 hypotf F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
index 1b3f5df285..16bde437e9 100644
--- a/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/loongarch/lp64/libm.abilist
@@ -1028,6 +1028,22 @@ GLIBC_2.36 ynf32x F
 GLIBC_2.36 ynf64 F
 GLIBC_2.36 ynf64x F
 GLIBC_2.36 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index 20da5b77d7..78540e97d2 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.4 y1l F
 GLIBC_2.4 yn F
 GLIBC_2.4 ynf F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
index 89069d51ea..6fd32e76e5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -884,6 +884,18 @@ GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
 GLIBC_2.35 hypot F
 GLIBC_2.35 hypotf F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index bcd47e7b13..d2c2cdbc6a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index bcd47e7b13..d2c2cdbc6a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index f21b04a5c4..a7c8ca0aec 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 4af7729493..8e36e16069 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1149,6 +1149,22 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist
index 95c654f592..c0df77f57d 100644
--- a/sysdeps/unix/sysv/linux/nios2/libm.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/or1k/libm.abilist b/sysdeps/unix/sysv/linux/or1k/libm.abilist
index edcd2066ab..4db8702dbc 100644
--- a/sysdeps/unix/sysv/linux/or1k/libm.abilist
+++ b/sysdeps/unix/sysv/linux/or1k/libm.abilist
@@ -757,6 +757,18 @@ GLIBC_2.35 ynf32 F
 GLIBC_2.35 ynf32x F
 GLIBC_2.35 ynf64 F
 GLIBC_2.35 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index f56a507f29..cbadcefc59 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -995,6 +995,18 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
index be9e8968f1..d0078a41eb 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
@@ -994,6 +994,18 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index 70eea297b7..86fdb9f443 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -988,6 +988,18 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index 4f9aa4c0fa..34568bd9dd 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1321,9 +1321,27 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 __exp10m1ieee128 F
+GLIBC_2.40 __exp2m1ieee128 F
 GLIBC_2.40 __log10p1ieee128 F
 GLIBC_2.40 __log2p1ieee128 F
 GLIBC_2.40 __logp1ieee128 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
index ef575d0b61..248ca383b4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libm.abilist
@@ -1028,6 +1028,22 @@ GLIBC_2.35 fminimumf64x F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
index 9e647f7ccc..c8f976c077 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist
@@ -1125,6 +1125,22 @@ GLIBC_2.35 fminimumf64x F
 GLIBC_2.35 fminimuml F
 GLIBC_2.35 fsqrt F
 GLIBC_2.35 fsqrtl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index 022cb27b1f..81f186f383 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1252,6 +1252,22 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 1453d0967f..ee54f8d4a4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1252,6 +1252,22 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index 044945de33..b21a3ba387 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index 044945de33..b21a3ba387 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
 GLIBC_2.4 exp2l F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f32 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index 92b6a77f69..15c958e345 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1259,6 +1259,22 @@ GLIBC_2.4 truncl F
 GLIBC_2.4 y0l F
 GLIBC_2.4 y1l F
 GLIBC_2.4 ynl F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 258058bc86..bf608f5d62 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1149,6 +1149,22 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index 66f264dca8..0ba4ef54c4 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1182,6 +1182,22 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 877d64abea..405711559a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1182,6 +1182,22 @@ GLIBC_2.35 hypotf F
 GLIBC_2.38 fmod F
 GLIBC_2.38 fmodf F
 GLIBC_2.39 exp10 F
+GLIBC_2.40 exp10m1 F
+GLIBC_2.40 exp10m1f F
+GLIBC_2.40 exp10m1f128 F
+GLIBC_2.40 exp10m1f32 F
+GLIBC_2.40 exp10m1f32x F
+GLIBC_2.40 exp10m1f64 F
+GLIBC_2.40 exp10m1f64x F
+GLIBC_2.40 exp10m1l F
+GLIBC_2.40 exp2m1 F
+GLIBC_2.40 exp2m1f F
+GLIBC_2.40 exp2m1f128 F
+GLIBC_2.40 exp2m1f32 F
+GLIBC_2.40 exp2m1f32x F
+GLIBC_2.40 exp2m1f64 F
+GLIBC_2.40 exp2m1f64x F
+GLIBC_2.40 exp2m1l F
 GLIBC_2.40 log10p1 F
 GLIBC_2.40 log10p1f F
 GLIBC_2.40 log10p1f128 F
diff --git a/sysdeps/x86_64/fpu/libm-test-ulps b/sysdeps/x86_64/fpu/libm-test-ulps
index f46ac59ffc..3592dfae1d 100644
--- a/sysdeps/x86_64/fpu/libm-test-ulps
+++ b/sysdeps/x86_64/fpu/libm-test-ulps
@@ -1429,6 +1429,30 @@ float: 1
 Function: "exp10_vlen8_avx2":
 float: 1
 
+Function: "exp10m1":
+double: 2
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "exp10m1_downward":
+double: 1
+float: 1
+float128: 3
+ldouble: 2
+
+Function: "exp10m1_towardzero":
+double: 1
+float: 1
+float128: 3
+ldouble: 2
+
+Function: "exp10m1_upward":
+double: 3
+float: 1
+float128: 3
+ldouble: 2
+
 Function: "exp2":
 double: 1
 float: 1
@@ -1473,6 +1497,30 @@ float: 1
 Function: "exp2_vlen8_avx2":
 float: 1
 
+Function: "exp2m1":
+double: 1
+float: 1
+float128: 1
+ldouble: 1
+
+Function: "exp2m1_downward":
+double: 2
+float: 1
+float128: 2
+ldouble: 3
+
+Function: "exp2m1_towardzero":
+double: 2
+float: 1
+float128: 2
+ldouble: 3
+
+Function: "exp2m1_upward":
+double: 1
+float: 1
+float128: 2
+ldouble: 3
+
 Function: "exp_downward":
 double: 1
 float: 1