public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/azanella/exp10f-optimization] New exp10f version without SVID compat wrapper
@ 2020-04-09 15:27 Adhemerval Zanella
  0 siblings, 0 replies; only message in thread
From: Adhemerval Zanella @ 2020-04-09 15:27 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=958dca88dfae18b69e0189011c78a26783d72a50

commit 958dca88dfae18b69e0189011c78a26783d72a50
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Apr 8 19:51:44 2020 -0300

    New exp10f version without SVID compat wrapper
    
    This patch changes the exp10f error handling semantics to only set
    errno accoring to POSIX rules. New symbol version is introduced at
    GLIBC_2.32.  The old wrappers are kept for compat symbols.
    
    There are some outliers that need special handling:
    
      - ia64 provides an optimized implementaion of exp10f that uses ia64
        specific routines to set SVID compatibility.  The new symbol version
        is aliased to the exp10f one.
    
      - m68k with also provides an optimized implementation, adn the new
        version uses it instead of the sysdeps/ieee754/flt32 one.
    
      - riscv and csky uses the generic template implementation that
        does not provide SVID support.  For both cases a new exp10f
        version is not added, but rather the symbols version of the
        generic sysdeps/ieee754/flt32 is adjusted instead.
    
    Checked on aarch64-linux-gnu, x86_64-linux-gnu, i686-linux-gnu,
    powerpc64le-linux-gnu.

Diff:
---
 math/Versions                                            |  3 +++
 math/w_exp10f.c                                          |  1 +
 math/w_exp10f_compat.c                                   |  8 ++++----
 sysdeps/ia64/fpu/e_exp10f.S                              | 12 +++++++++---
 sysdeps/ieee754/flt-32/e_exp10f.c                        | 16 +++++++++++++++-
 sysdeps/m68k/m680x0/fpu/e_exp10f.c                       |  5 +++++
 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/ia64/libm.abilist                |  1 +
 sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist       |  1 +
 sysdeps/unix/sysv/linux/m68k/m680x0/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 +
 sysdeps/unix/sysv/linux/nios2/libm.abilist               |  1 +
 .../unix/sysv/linux/powerpc/powerpc32/fpu/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 +
 32 files changed, 63 insertions(+), 8 deletions(-)

diff --git a/math/Versions b/math/Versions
index d892c5f911..5b3c321490 100644
--- a/math/Versions
+++ b/math/Versions
@@ -590,4 +590,7 @@ libm {
     totalorderf128;
     totalordermagf128;
   }
+  GLIBC_2.32 {
+    exp10f;
+  }
 }
diff --git a/math/w_exp10f.c b/math/w_exp10f.c
new file mode 100644
index 0000000000..6e25b021ab
--- /dev/null
+++ b/math/w_exp10f.c
@@ -0,0 +1 @@
+/* Empty.  */
diff --git a/math/w_exp10f_compat.c b/math/w_exp10f_compat.c
index 2ab0940601..ea8f947193 100644
--- a/math/w_exp10f_compat.c
+++ b/math/w_exp10f_compat.c
@@ -28,9 +28,9 @@
 
 #if LIBM_SVID_COMPAT
 float
-__exp10f (float x)
+__exp10f_compat (float x)
 {
-  float z = __ieee754_exp10f (x);
+  float z = __exp10f (x);
   if (__builtin_expect (!isfinite (z) || z == 0, 0)
       && isfinite (x) && _LIB_VERSION != _IEEE_)
     /* exp10f overflow (146) if x > 0, underflow (147) if x < 0.  */
@@ -38,9 +38,9 @@ __exp10f (float x)
 
   return z;
 }
-libm_alias_float (__exp10, exp10)
+compat_symbol (libm, __exp10f_compat, exp10f, GLIBC_2_1);
 # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
-strong_alias (__exp10f, __pow10f)
+strong_alias (__exp10f_compat, __pow10f)
 compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);
 # endif
 #endif
diff --git a/sysdeps/ia64/fpu/e_exp10f.S b/sysdeps/ia64/fpu/e_exp10f.S
index 67218c737f..e82394b725 100644
--- a/sysdeps/ia64/fpu/e_exp10f.S
+++ b/sysdeps/ia64/fpu/e_exp10f.S
@@ -218,7 +218,7 @@ LOCAL_OBJECT_END(T_table)
 
 
 .section .text
-GLOBAL_IEEE754_ENTRY(exp10f)
+GLOBAL_IEEE754_ENTRY(__exp10f)
 
 
 {.mfi
@@ -487,11 +487,17 @@ OUT_RANGE_exp10:
 }
 ;;
 
-GLOBAL_IEEE754_END(exp10f)
+GLOBAL_IEEE754_END(__exp10f)
 libm_alias_float_other (__exp10, exp10)
 #if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
-compat_symbol (libm, exp10f, pow10f, GLIBC_2_2)
+strong_alias (__exp10f, __pow10f_compat)
+compat_symbol (libm, __pow10f_compat, pow10f, GLIBC_2_2)
 #endif
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_32)
+strong_alias (__exp10f, __exp10f_compat)
+compat_symbol (libm, __exp10f_compat, exp10f, GLIBC_2_1)
+#endif
+versioned_symbol (libm, __exp10f, exp10f, GLIBC_2_32)
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
diff --git a/sysdeps/ieee754/flt-32/e_exp10f.c b/sysdeps/ieee754/flt-32/e_exp10f.c
index 034a9e364a..f51c499b83 100644
--- a/sysdeps/ieee754/flt-32/e_exp10f.c
+++ b/sysdeps/ieee754/flt-32/e_exp10f.c
@@ -21,6 +21,8 @@
 #include <stdint.h>
 #include <libm-alias-finite.h>
 #include <libm-alias-float.h>
+#include <shlib-compat.h>
+#include <math-svid-compat.h>
 #include "math_config.h"
 
 /*
@@ -139,7 +141,7 @@ top13 (float x)
 }
 
 float
-__ieee754_exp10f (float x)
+__exp10f (float x)
 {
   uint32_t abstop;
   uint64_t ki, t;
@@ -195,4 +197,16 @@ __ieee754_exp10f (float x)
   y = y * s;
   return (float) y;
 }
+#ifndef __exp10f
+strong_alias (__exp10f, __ieee754_exp10f)
 libm_alias_finite (__ieee754_exp10f, __exp10f)
+/* For architectures that already provided exp10f without SVID support, there
+   is no need to add a new version.  */
+#if !LIBM_SVID_COMPAT
+# define EXP10F_VERSION GLIBC_2_26
+#else
+# define EXP10F_VERSION GLIBC_2_32
+#endif
+versioned_symbol (libm, __exp10f, exp10f, EXP10F_VERSION);
+libm_alias_float_other (__exp10, exp10)
+#endif
diff --git a/sysdeps/m68k/m680x0/fpu/e_exp10f.c b/sysdeps/m68k/m680x0/fpu/e_exp10f.c
index f58fddd8a6..0d03f00e06 100644
--- a/sysdeps/m68k/m680x0/fpu/e_exp10f.c
+++ b/sysdeps/m68k/m680x0/fpu/e_exp10f.c
@@ -1,3 +1,8 @@
+#include <libm-alias-float.h>
 #define FUNC __ieee754_exp10f
 #define FUNC_FINITE __exp10f
 #include <e_acosf.c>
+strong_alias (__ieee754_exp10f, __exp10f)
+libm_alias_finite (__ieee754_exp10f, __exp10f)
+versioned_symbol (libm, __exp10f, exp10f, GLIBC_2_32);
+libm_alias_float_other (__ieee754_exp10, exp10)
diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist
index 1a41ae589f..a19a69ce6a 100644
--- a/sysdeps/mach/hurd/i386/libm.abilist
+++ b/sysdeps/mach/hurd/i386/libm.abilist
@@ -1089,3 +1089,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
index 62e1fee467..5362c24e4c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist
@@ -1053,3 +1053,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist
index 08ac3905a0..650d10ec8e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libm.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist
@@ -1110,6 +1110,7 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
index dd5931f288..6914b58d76 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist
@@ -470,6 +470,7 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 _LIB_VERSION D 0x4
 GLIBC_2.4 __clog10 F
 GLIBC_2.4 __clog10f F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
index dd5931f288..6914b58d76 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist
@@ -470,6 +470,7 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 _LIB_VERSION D 0x4
 GLIBC_2.4 __clog10 F
 GLIBC_2.4 __clog10f F
diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist
index e7686d71cf..6ac2295b05 100644
--- a/sysdeps/unix/sysv/linux/hppa/libm.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist
@@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 exp2l F
diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist
index e67f9d7d27..0ab740dd97 100644
--- a/sysdeps/unix/sysv/linux/i386/libm.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libm.abilist
@@ -1096,3 +1096,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist
index 0cf637f248..c8e8fd7142 100644
--- a/sysdeps/unix/sysv/linux/ia64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist
@@ -1026,3 +1026,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
index dd5931f288..6914b58d76 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
@@ -470,6 +470,7 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 _LIB_VERSION D 0x4
 GLIBC_2.4 __clog10 F
 GLIBC_2.4 __clog10f F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
index f0b17ae485..c60fdc6298 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
@@ -821,3 +821,4 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
index 8dedc9a8a6..adea0fe4c0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist
@@ -782,3 +782,4 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
index 8dedc9a8a6..adea0fe4c0 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist
@@ -782,3 +782,4 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
index a221d7be09..272969a26f 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
@@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 exp2l F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
index 823f87277e..dd0dc6689c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
@@ -1053,3 +1053,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist
index 64ac932c6a..4941deefa6 100644
--- a/sysdeps/unix/sysv/linux/nios2/libm.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist
@@ -782,3 +782,4 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
index 3fab31ff9c..fc2d142bd5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
@@ -827,6 +827,7 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
index 1369ab510c..972c9bc597 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist
@@ -820,6 +820,7 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
index d479a64fca..1ce52ea277 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist
@@ -1097,3 +1097,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
index cd6be8e584..321810d5a4 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
@@ -1054,6 +1054,7 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
index 5291424feb..451a860a83 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
@@ -1054,6 +1054,7 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
index de0f1c57c3..a5fb514eae 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist
@@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 exp2l F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
index de0f1c57c3..a5fb514eae 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist
@@ -781,4 +781,5 @@ GLIBC_2.31 totalordermagf32 F
 GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 exp2l F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index fc52ebf64e..d81e8a726b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -1061,6 +1061,7 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
index 5288a28533..3d12376d33 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
@@ -1053,3 +1053,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
index d620e465d2..89c4ac484d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
@@ -1087,3 +1087,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
index 44b0eddc50..d3c9cec71a 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist
@@ -1087,3 +1087,4 @@ GLIBC_2.31 totalordermagf32x F
 GLIBC_2.31 totalordermagf64 F
 GLIBC_2.31 totalordermagf64x F
 GLIBC_2.31 totalordermagl F
+GLIBC_2.32 exp10f F


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-04-09 15:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-09 15:27 [glibc/azanella/exp10f-optimization] New exp10f version without SVID compat wrapper Adhemerval Zanella

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).