diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-09-13 17:19:51 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2017-10-02 14:38:03 +0100 |
commit | 72d3d281080be9f674982067d72874fd6cdb4b64 (patch) | |
tree | ed4407d5935108ab58b08b979a596486b23aa9df | |
parent | 59ba2d2b542142e575d185f07e1eb96800d9862c (diff) | |
download | glibc-72d3d281080be9f674982067d72874fd6cdb4b64.tar.gz glibc-72d3d281080be9f674982067d72874fd6cdb4b64.tar.xz glibc-72d3d281080be9f674982067d72874fd6cdb4b64.zip |
New symbol version for logf, log2f and powf without SVID compat
This patch changes the logf, log2f and powf 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. 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 (logf): New libm symbol at GLIBC_2.27. (log2f): Likewise. (powf): Likewise. * math/w_log2f.c: New file. * math/w_logf.c: New file. * math/w_powf.c: New file. * math/w_log2f_compat.c (__log2f_compat): For compat symbol only. * math/w_logf_compat.c (__logf_compat): Likewise. * math/w_powf_compat.c (__powf_compat): Likewise. * sysdeps/ia64/fpu/e_log2f.S: Add versioned symbols. * sysdeps/ia64/fpu/e_logf.S: Likewise. * sysdeps/ia64/fpu/e_powf.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.
37 files changed, 178 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog index b8bf523470..94e9972a13 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,50 @@ +2017-10-02 Szabolcs Nagy <szabolcs.nagy@arm.com> + + * math/Versions (logf): New libm symbol at GLIBC_2.27. + (log2f): Likewise. + (powf): Likewise. + * math/w_log2f.c: New file. + * math/w_logf.c: New file. + * math/w_powf.c: New file. + * math/w_log2f_compat.c (__log2f_compat): For compat symbol only. + * math/w_logf_compat.c (__logf_compat): Likewise. + * math/w_powf_compat.c (__powf_compat): Likewise. + * sysdeps/ia64/fpu/e_log2f.S: Add versioned symbols. + * sysdeps/ia64/fpu/e_logf.S: Likewise. + * sysdeps/ia64/fpu/e_powf.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-10-02 Rajalakshmi Srinivasaraghavan <raji@linux.vnet.ibm.com> * sysdeps/powerpc/powerpc64/multiarch/Makefile diff --git a/math/Versions b/math/Versions index 380f6a2a1a..2fbdb2f266 100644 --- a/math/Versions +++ b/math/Versions @@ -230,6 +230,6 @@ libm { fromfpx; fromfpxf; fromfpxl; ufromfpx; ufromfpxf; ufromfpxl; } GLIBC_2.27 { - expf; exp2f; + expf; exp2f; logf; log2f; powf; } } diff --git a/math/w_log2f.c b/math/w_log2f.c new file mode 100644 index 0000000000..cda0c3a644 --- /dev/null +++ b/math/w_log2f.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_log2_template.c> +versioned_symbol (libm, __log2f, log2f, GLIBC_2_27); diff --git a/math/w_log2f_compat.c b/math/w_log2f_compat.c index 295c1620f7..3caa310c51 100644 --- a/math/w_log2f_compat.c +++ b/math/w_log2f_compat.c @@ -23,10 +23,10 @@ #include <libm-alias-float.h> -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27) /* wrapper log2f(x) */ float -__log2f (float x) +__log2f_compat (float x) { if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) { @@ -44,5 +44,5 @@ __log2f (float x) return __ieee754_log2f (x); } -libm_alias_float (__log2, log2) +compat_symbol (libm, __log2f_compat, log2f, GLIBC_2_1); #endif diff --git a/math/w_logf.c b/math/w_logf.c new file mode 100644 index 0000000000..d960e016d7 --- /dev/null +++ b/math/w_logf.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_log_template.c> +versioned_symbol (libm, __logf, logf, GLIBC_2_27); diff --git a/math/w_logf_compat.c b/math/w_logf_compat.c index 7cdacdf921..936b3a6e67 100644 --- a/math/w_logf_compat.c +++ b/math/w_logf_compat.c @@ -23,10 +23,10 @@ #include <libm-alias-float.h> -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_27) /* wrapper logf(x) */ float -__logf (float x) +__logf_compat (float x) { if (__builtin_expect (islessequal (x, 0.0f), 0) && _LIB_VERSION != _IEEE_) { @@ -44,5 +44,5 @@ __logf (float x) return __ieee754_logf (x); } -libm_alias_float (__log, log) +compat_symbol (libm, __logf_compat, logf, GLIBC_2_0); #endif diff --git a/math/w_powf.c b/math/w_powf.c new file mode 100644 index 0000000000..a18348329e --- /dev/null +++ b/math/w_powf.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_pow_template.c> +versioned_symbol (libm, __powf, powf, GLIBC_2_27); diff --git a/math/w_powf_compat.c b/math/w_powf_compat.c index 39e818af7e..7745639efe 100644 --- a/math/w_powf_compat.c +++ b/math/w_powf_compat.c @@ -22,10 +22,10 @@ #include <libm-alias-float.h> -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_27) /* wrapper powf */ float -__powf (float x, float y) +__powf_compat (float x, float y) { float z = __ieee754_powf (x, y); if (__glibc_unlikely (!isfinite (z))) @@ -60,5 +60,5 @@ __powf (float x, float y) return z; } -libm_alias_float (__pow, pow) +compat_symbol (libm, __powf_compat, powf, GLIBC_2_0); #endif diff --git a/sysdeps/ia64/fpu/e_log2f.S b/sysdeps/ia64/fpu/e_log2f.S index 2c3f18f360..9b754d1043 100644 --- a/sysdeps/ia64/fpu/e_log2f.S +++ b/sysdeps/ia64/fpu/e_log2f.S @@ -252,7 +252,7 @@ LOCAL_OBJECT_END(T_table) .section .text -GLOBAL_LIBM_ENTRY(log2f) +GLOBAL_LIBM_ENTRY(__log2f) { .mfi alloc r32=ar.pfs,1,4,4,0 @@ -491,7 +491,13 @@ SPECIAL_log2f: br.ret.sptk b0;; } -GLOBAL_LIBM_END(log2f) +GLOBAL_LIBM_END(__log2f) +#ifdef SHARED +.symver __log2f,log2f@@GLIBC_2.27 +.weak __log2f_compat +.set __log2f_compat,__log2f +.symver __log2f_compat,log2f@GLIBC_2.2 +#endif LOCAL_LIBM_ENTRY(__libm_error_region) diff --git a/sysdeps/ia64/fpu/e_logf.S b/sysdeps/ia64/fpu/e_logf.S index 2dda2186d0..d5f5437793 100644 --- a/sysdeps/ia64/fpu/e_logf.S +++ b/sysdeps/ia64/fpu/e_logf.S @@ -1088,6 +1088,12 @@ logf_libm_err: nop.i 0 };; GLOBAL_IEEE754_END(logf) +#ifdef SHARED +.symver logf,logf@@GLIBC_2.27 +.weak __logf_compat +.set __logf_compat,__logf +.symver __logf_compat,logf@GLIBC_2.2 +#endif // Stack operations when calling error support. diff --git a/sysdeps/ia64/fpu/e_powf.S b/sysdeps/ia64/fpu/e_powf.S index d61bc79e5e..388391624f 100644 --- a/sysdeps/ia64/fpu/e_powf.S +++ b/sysdeps/ia64/fpu/e_powf.S @@ -868,7 +868,7 @@ data8 0xEAC0C6E7DD24392F , 0x00003FFF LOCAL_OBJECT_END(pow_tbl2) .section .text -GLOBAL_LIBM_ENTRY(powf) +GLOBAL_LIBM_ENTRY(__powf) // Get exponent of x. Will be used to calculate K. { .mfi @@ -2002,7 +2002,13 @@ POW_OVER_UNDER_ERROR: } ;; -GLOBAL_LIBM_END(powf) +GLOBAL_LIBM_END(__powf) +#ifdef SHARED +.symver __powf,powf@@GLIBC_2.27 +.weak __powf_compat +.set __powf_compat,__powf +.symver __powf_compat,powf@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 10102eeaff..3f0190ae03 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -463,3 +463,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index e09a115aa9..78edc5e3d9 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -473,6 +473,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 8095876449..b3fd4a27b2 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -120,6 +120,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 19d40ef50d..ffa61bf1b1 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -432,5 +432,8 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 791fba28e5..1a7e6bf449 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -614,4 +614,7 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 65a0fbe56a..7e15735eae 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -543,4 +543,7 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 8095876449..b3fd4a27b2 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -120,6 +120,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 5e692dda7b..aae61169f9 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -474,4 +474,7 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 65f1d5b451..0d3b4b1e90 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -431,3 +431,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index c32ea5b96a..d32d58d4e4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -433,6 +433,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 18b2aa2404..f33ba0576b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -465,4 +465,7 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 e492a68e9d..0fe34e98fa 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -431,3 +431,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index ad8f0372f4..ed013deefd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -476,6 +476,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 9c26b5b809..6f2873dc80 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -475,6 +475,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 8e36699f28..723be46c20 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist @@ -608,3 +608,6 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index 9ca0c3ccfc..f3aeac2e1e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -151,6 +151,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 8a79f0137f..2b758e80fd 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -463,6 +463,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 df81853618..62c9bb57a8 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -461,6 +461,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 6b6a42dc9c..a57fbc0eac 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -432,5 +432,8 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 24d67d22e1..f8f10e5952 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -467,6 +467,9 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 2fdccc0de3..b5412c9b48 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -464,4 +464,7 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 98bc348f91..b711e87026 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx32/libm.abilist @@ -432,3 +432,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist index 98bc348f91..b711e87026 100644 --- a/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilegx/tilegx64/libm.abilist @@ -432,3 +432,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist index 98bc348f91..b711e87026 100644 --- a/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist +++ b/sysdeps/unix/sysv/linux/tile/tilepro/libm.abilist @@ -432,3 +432,6 @@ GLIBC_2.25 ufromfpxl F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index e6fd3fe3df..201c2ab1b1 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -603,4 +603,7 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf 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 afa7b98697..10e389a96a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -602,3 +602,6 @@ GLIBC_2.26 ynf128 F GLIBC_2.27 GLIBC_2.27 A GLIBC_2.27 exp2f F GLIBC_2.27 expf F +GLIBC_2.27 log2f F +GLIBC_2.27 logf F +GLIBC_2.27 powf F |