diff options
Diffstat (limited to 'sysdeps')
27 files changed, 40 insertions, 3 deletions
diff --git a/sysdeps/i386/fpu/w_exp10_compat.c b/sysdeps/i386/fpu/w_exp10_compat.c new file mode 100644 index 0000000..b534553 --- /dev/null +++ b/sysdeps/i386/fpu/w_exp10_compat.c @@ -0,0 +1,3 @@ +/* i386 provides an optimized __ieee754_exp10. */ +#define NO_COMPAT_NEEDED 1 +#include <math/w_exp10_compat.c> diff --git a/sysdeps/ieee754/dbl-64/e_exp10.c b/sysdeps/ieee754/dbl-64/e_exp10.c index 0d4e428..225fc74 100644 --- a/sysdeps/ieee754/dbl-64/e_exp10.c +++ b/sysdeps/ieee754/dbl-64/e_exp10.c @@ -18,9 +18,9 @@ #include <math.h> #include <math-barriers.h> #include <math-narrow-eval.h> -#include <math_private.h> -#include <float.h> +#include <math-svid-compat.h> #include <libm-alias-finite.h> +#include <libm-alias-double.h> #include "math_config.h" #define N (1 << EXP_TABLE_BITS) @@ -75,7 +75,7 @@ special_case (uint64_t sbits, double_t tmp, uint64_t ki) /* Double-precision 10^x approximation. Largest observed error is ~0.513 ULP. */ double -__ieee754_exp10 (double x) +__exp10 (double x) { uint64_t ix = asuint64 (x); uint32_t abstop = (ix >> 52) & 0x7ff; @@ -144,4 +144,11 @@ __ieee754_exp10 (double x) return s * y + s; } +strong_alias (__exp10, __ieee754_exp10) libm_alias_finite (__ieee754_exp10, __exp10) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __exp10, exp10, GLIBC_2_39); +libm_alias_double_other (__exp10, exp10) +#else +libm_alias_double (__exp10, exp10) +#endif diff --git a/sysdeps/ieee754/dbl-64/w_exp10.c b/sysdeps/ieee754/dbl-64/w_exp10.c new file mode 100644 index 0000000..1cc8931 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/w_exp10.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_exp10_compat.c b/sysdeps/m68k/m680x0/fpu/w_exp10_compat.c new file mode 100644 index 0000000..0d3e718 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_exp10_compat.c @@ -0,0 +1,3 @@ +/* m68k provides an optimized __ieee754_exp10. */ +#define NO_COMPAT_NEEDED 1 +#include <math/w_exp10_compat.c> diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index e3924c3..f0da228 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1148,3 +1148,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 066dd1a..f5d8023 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1205,6 +1205,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 4adfed0..f020a8a 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -535,6 +535,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 4adfed0..f020a8a 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -535,6 +535,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 5c3f47c..450ac03 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 4adfed0..f020a8a 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -535,6 +535,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index ea0dbd4..1f7f63f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -847,3 +847,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index ea0dbd4..1f7f63f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -847,3 +847,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 7c94a8d..797071a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 0d08245..1475870 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1148,3 +1148,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index a3b776f..c0ebe11 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -847,3 +847,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index c696215..4f88e0a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -892,6 +892,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index a5ce9b1..edc2614 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -891,6 +891,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 8e41056..0a8a143 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -885,6 +885,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 939f29a..5174d20 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1320,3 +1320,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 4baefb1..5ff11fb 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1149,6 +1149,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 debb767..0e246c2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1149,6 +1149,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 fb94386..7b43a86 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 fb94386..7b43a86 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -846,4 +846,5 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 2fdb5ff..e3dcf3d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1156,6 +1156,7 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 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 02d4c3a..20fef20 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1148,3 +1148,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index cc8be5b..c1c5c76 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1181,3 +1181,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index fda4df2..fac219d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1181,3 +1181,4 @@ GLIBC_2.35 hypot F GLIBC_2.35 hypotf F GLIBC_2.38 fmod F GLIBC_2.38 fmodf F +GLIBC_2.39 exp10 F |