From f108f9ef952e9b46f89da762794b7220d34fa927 Mon Sep 17 00:00:00 2001
From: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date: Tue, 12 Sep 2017 12:20:50 +0100
Subject: [PATCH 3/4] errno-only
---
math/Versions | 3 +++
math/w_exp2f.c | 7 +++++++
math/w_exp2f_compat.c | 6 +++---
math/w_expf.c | 7 +++++++
math/w_expf_compat.c | 7 +++----
sysdeps/unix/sysv/linux/aarch64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/alpha/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/arm/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/hppa/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/i386/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/ia64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/microblaze/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/nios2/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist | 3 +++
sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/sh/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 3 +++
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 3 +++
31 files changed, 101 insertions(+), 7 deletions(-)
create mode 100644 math/w_exp2f.c
create mode 100644 math/w_expf.c
@@ -229,4 +229,7 @@ libm {
fromfp; fromfpf; fromfpl; ufromfp; ufromfpf; ufromfpl;
fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl;
}
+ GLIBC_2.27 {
+ expf; exp2f;
+ }
}
new file mode 100644
@@ -0,0 +1,7 @@
+#include <math-type-macros-float.h>
+#undef __USE_WRAPPER_TEMPLATE
+#define __USE_WRAPPER_TEMPLATE 1
+#undef declare_mgen_alias
+#define declare_mgen_alias(a, b)
+#include <w_exp2_template.c>
+versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27);
@@ -6,9 +6,9 @@
#include <math_private.h>
#include <math-svid-compat.h>
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
float
-__exp2f (float x)
+__exp2f_compat (float x)
{
float z = __ieee754_exp2f (x);
if (__builtin_expect (!isfinite (z) || z == 0, 0)
@@ -18,5 +18,5 @@ __exp2f (float x)
return z;
}
-weak_alias (__exp2f, exp2f)
+compat_symbol (libm, __exp2f_compat, exp2f, GLIBC_2_1);
#endif
new file mode 100644
@@ -0,0 +1,7 @@
+#include <math-type-macros-float.h>
+#undef __USE_WRAPPER_TEMPLATE
+#define __USE_WRAPPER_TEMPLATE 1
+#undef declare_mgen_alias
+#define declare_mgen_alias(a, b)
+#include <w_exp_template.c>
+versioned_symbol (libm, __expf, expf, GLIBC_2_27);
@@ -20,10 +20,10 @@
#include <math_private.h>
#include <math-svid-compat.h>
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_27)
/* wrapper expf */
float
-__expf (float x)
+__expf_compat (float x)
{
float z = __ieee754_expf (x);
if (__builtin_expect (!isfinite (z) || z == 0, 0)
@@ -32,6 +32,5 @@ __expf (float x)
return z;
}
-hidden_def (__expf)
-weak_alias (__expf, expf)
+compat_symbol (libm, __expf_compat, expf, GLIBC_2_0);
#endif
@@ -460,3 +460,6 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -470,6 +470,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.3.4 GLIBC_2.3.4 A
GLIBC_2.3.4 __c1_cabsf F
GLIBC_2.3.4 __c1_cacosf F
@@ -117,6 +117,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 _LIB_VERSION D 0x4
GLIBC_2.4 __clog10 F
@@ -429,5 +429,8 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 exp2l F
@@ -611,4 +611,7 @@ GLIBC_2.26 ufromfpxf128 F
GLIBC_2.26 y0f128 F
GLIBC_2.26 y1f128 F
GLIBC_2.26 ynf128 F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
@@ -540,4 +540,7 @@ GLIBC_2.26 ufromfpxf128 F
GLIBC_2.26 y0f128 F
GLIBC_2.26 y1f128 F
GLIBC_2.26 ynf128 F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
@@ -117,6 +117,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 _LIB_VERSION D 0x4
GLIBC_2.4 __clog10 F
@@ -471,4 +471,7 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
@@ -428,3 +428,6 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -430,6 +430,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 exp2l F
_gp_disp _gp_disp A
@@ -462,4 +462,7 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
@@ -428,3 +428,6 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -473,6 +473,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
@@ -472,6 +472,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
@@ -605,3 +605,6 @@ GLIBC_2.26 ufromfpxf128 F
GLIBC_2.26 y0f128 F
GLIBC_2.26 y1f128 F
GLIBC_2.26 ynf128 F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -148,6 +148,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.3 GLIBC_2.3 A
GLIBC_2.3 _LIB_VERSION D 0x4
GLIBC_2.3 __clog10 F
@@ -460,6 +460,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
@@ -458,6 +458,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
@@ -429,5 +429,8 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 exp2l F
@@ -464,6 +464,9 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
GLIBC_2.4 __clog10l F
GLIBC_2.4 __finitel F
@@ -461,4 +461,7 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
@@ -429,3 +429,6 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -429,3 +429,6 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -429,3 +429,6 @@ GLIBC_2.25 ufromfpl F
GLIBC_2.25 ufromfpx F
GLIBC_2.25 ufromfpxf F
GLIBC_2.25 ufromfpxl F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
@@ -600,4 +600,7 @@ GLIBC_2.26 ufromfpxf128 F
GLIBC_2.26 y0f128 F
GLIBC_2.26 y1f128 F
GLIBC_2.26 ynf128 F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
GLIBC_2.4 GLIBC_2.4 A
@@ -599,3 +599,6 @@ GLIBC_2.26 ufromfpxf128 F
GLIBC_2.26 y0f128 F
GLIBC_2.26 y1f128 F
GLIBC_2.26 ynf128 F
+GLIBC_2.27 GLIBC_2.27 A
+GLIBC_2.27 exp2f F
+GLIBC_2.27 expf F
--
2.11.0