diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-09-12 12:20:50 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-09-25 10:45:08 +0100 |
commit | f5f0f5265162fe6f4f238abcd3086985f7c38d6d (patch) | |
tree | 16e04b84841c31887ba6a70d37d0eae241567361 | |
parent | 72aa623345ada1276ed89dbc00fdff9639cb8eaf (diff) | |
download | glibc-f5f0f5265162fe6f4f238abcd3086985f7c38d6d.tar.gz glibc-f5f0f5265162fe6f4f238abcd3086985f7c38d6d.tar.xz glibc-f5f0f5265162fe6f4f238abcd3086985f7c38d6d.zip |
New expf and exp2f version without SVID compat wrapper
This patch changes the expf and exp2f error handling semantics to only set errno accoring to POSIX rules. New symbol version is introduced at GLIBC_2.27. The old wrappers are kept for compat symbols. Internal calls to __expf now get the new error semantics, this seems to only affect sysdeps/i386/fpu/s_expm1f.S where the errno-only behaviour should be correct. ia64 needed assembly change to have the new and compat versioned symbol map to the same function. All linux libm abilists are updated. * math/Versions (expf): New libm symbol at GLIBC_2.27. (exp2f): Likewise. * math/w_exp2f.c: New file. * math/w_expf.c: New file. * math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only. * math/w_expf_compat.c (__expf_compat): Likewise. * sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols. * sysdeps/ia64/fpu/e_expf.S: Likewise. * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise.
34 files changed, 158 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog index 81451cbf3c..b1ac534d2e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,48 @@ 2017-09-25 Szabolcs Nagy <szabolcs.nagy@arm.com> + * math/Versions (expf): New libm symbol at GLIBC_2.27. + (exp2f): Likewise. + * math/w_exp2f.c: New file. + * math/w_expf.c: New file. + * math/w_exp2f_compat.c (__exp2f_compat): For compat symbol only. + * math/w_expf_compat.c (__expf_compat): Likewise. + * sysdeps/ia64/fpu/e_exp2f.S: Add versioned symbols. + * sysdeps/ia64/fpu/e_expf.S: Likewise. + * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update. + * sysdeps/unix/sysv/linux/alpha/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/arm/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/hppa/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/i386/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/ia64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/nios2/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: + Likewise. + * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sh/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist: + Likewise. + * sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Likewise. + * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Likewise. + +2017-09-25 Szabolcs Nagy <szabolcs.nagy@arm.com> + * math/Makefile (type-float-routines): Add math_errf and e_exp2f_data. * sysdeps/aarch64/fpu/math_private.h (TOINT_INTRINSICS): Define. (roundtoint, converttoint): Likewise. diff --git a/math/Versions b/math/Versions index e409de0681..380f6a2a1a 100644 --- a/math/Versions +++ b/math/Versions @@ -229,4 +229,7 @@ libm { fromfp; fromfpf; fromfpl; ufromfp; ufromfpf; ufromfpl; fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl; } + GLIBC_2.27 { + expf; exp2f; + } } diff --git a/math/w_exp2f.c b/math/w_exp2f.c new file mode 100644 index 0000000000..948d745dab --- /dev/null +++ b/math/w_exp2f.c @@ -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); diff --git a/math/w_exp2f_compat.c b/math/w_exp2f_compat.c index b058daed30..6ab6f6c6de 100644 --- a/math/w_exp2f_compat.c +++ b/math/w_exp2f_compat.c @@ -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 diff --git a/math/w_expf.c b/math/w_expf.c new file mode 100644 index 0000000000..6d5f03c5f9 --- /dev/null +++ b/math/w_expf.c @@ -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); diff --git a/math/w_expf_compat.c b/math/w_expf_compat.c index a38ff4082d..2512498bb3 100644 --- a/math/w_expf_compat.c +++ b/math/w_expf_compat.c @@ -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 diff --git a/sysdeps/ia64/fpu/e_exp2f.S b/sysdeps/ia64/fpu/e_exp2f.S index 36354ae3bd..d308bb23a9 100644 --- a/sysdeps/ia64/fpu/e_exp2f.S +++ b/sysdeps/ia64/fpu/e_exp2f.S @@ -221,7 +221,7 @@ LOCAL_OBJECT_END(T_table) .section .text -GLOBAL_LIBM_ENTRY(exp2f) +GLOBAL_LIBM_ENTRY(__exp2f) {.mfi @@ -468,7 +468,13 @@ OUT_RANGE_exp2: } ;; -GLOBAL_LIBM_END(exp2f) +GLOBAL_LIBM_END(__exp2f) +#ifdef SHARED +.symver __exp2f,exp2f@@GLIBC_2.27 +.weak __exp2f_compat +.set __exp2f_compat,__exp2f +.symver __exp2f_compat,exp2f@GLIBC_2.2 +#endif LOCAL_LIBM_ENTRY(__libm_error_region) diff --git a/sysdeps/ia64/fpu/e_expf.S b/sysdeps/ia64/fpu/e_expf.S index 75f918f78e..8c5f089f68 100644 --- a/sysdeps/ia64/fpu/e_expf.S +++ b/sysdeps/ia64/fpu/e_expf.S @@ -657,6 +657,12 @@ EXP_UNDERFLOW_ZERO: ;; GLOBAL_IEEE754_END(expf) +#ifdef SHARED +.symver expf,expf@@GLIBC_2.27 +.weak __expf_compat +.set __expf_compat,__expf +.symver __expf_compat,expf@GLIBC_2.2 +#endif LOCAL_LIBM_ENTRY(__libm_error_region) diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 6266864ea7..10102eeaff 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 0dc44afd77..e09a115aa9 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/arm/libm.abilist b/sysdeps/unix/sysv/linux/arm/libm.abilist index d0c33d2a11..8095876449 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 80fd4ada99..19d40ef50d 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 2aef7e5aed..791fba28e5 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index f165eb3957..65a0fbe56a 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index d0c33d2a11..8095876449 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index f3de018cd9..5e692dda7b 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist index bb872f292a..65f1d5b451 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 000c011495..c32ea5b96a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index b9599fee34..18b2aa2404 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index c858ed5907..e492a68e9d 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 13ea493ac8..ad8f0372f4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index ff6dc7a361..9c26b5b809 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist index d79cb99325..8e36699f28 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index afd381791a..9ca0c3ccfc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 604dff18d4..8a79f0137f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index b56701e350..df81853618 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index 6b24852b68..6b6a42dc9c 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 61042ba147..24d67d22e1 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index d071835880..2fdccc0de3 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist index 0059c27fa2..98bc348f91 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist index 0059c27fa2..98bc348f91 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist index 0059c27fa2..98bc348f91 100644 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 44473c2cbe..e6fd3fe3df 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -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 diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index cc19a73112..afa7b98697 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -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 |