Message ID | 20250130163024.2032523-6-adhemerval.zanella@linaro.org |
---|---|
State | New |
Headers | show |
Series | Remove the SVID wrapper from CORE-MATH functions. | expand |
diff --git a/math/Versions b/math/Versions index e619f950f7..565be955b0 100644 --- a/math/Versions +++ b/math/Versions @@ -676,5 +676,6 @@ libm { log10f; lgammaf; lgammaf_r; acosf; + asinf; } } diff --git a/math/w_asinf.c b/math/w_asinf.c new file mode 100644 index 0000000000..b91cc49446 --- /dev/null +++ b/math/w_asinf.c @@ -0,0 +1,8 @@ +#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_asin_template.c> +versioned_symbol (libm, __asinf, asinf, GLIBC_2_42); +libm_alias_float_other (__asinf, asinf) diff --git a/math/w_asinf_compat.c b/math/w_asinf_compat.c index e4927426f7..9f492f7504 100644 --- a/math/w_asinf_compat.c +++ b/math/w_asinf_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_42) /* wrapper asinf */ float -__asinf (float x) +__asin_compatf (float x) { if (__builtin_expect (isgreater (fabsf (x), 1.0f), 0) && _LIB_VERSION != _IEEE_) @@ -37,5 +37,9 @@ __asinf (float x) return __ieee754_asinf (x); } -libm_alias_float (__asin, asin) +# ifdef NO_COMPAT_NEEDED +libm_alias_float (__asin_compat, asin) +# else +compat_symbol (libm, __asin_compatf, asinf, GLIBC_2_0); +# endif #endif diff --git a/sysdeps/ieee754/flt-32/e_asinf.c b/sysdeps/ieee754/flt-32/e_asinf.c index 944bf6f5ce..ad896b656b 100644 --- a/sysdeps/ieee754/flt-32/e_asinf.c +++ b/sysdeps/ieee754/flt-32/e_asinf.c @@ -27,6 +27,8 @@ SOFTWARE. #include <stdint.h> #include <errno.h> #include <libm-alias-finite.h> +#include <libm-alias-float.h> +#include <math-svid-compat.h> #include "math_config.h" static __attribute__ ((noinline)) float @@ -57,7 +59,7 @@ poly12 (double z, const double *c) } float -__ieee754_asinf (float x) +__asinf (float x) { const double pi2 = 0x1.921fb54442d18p+0; double xs = x; @@ -128,4 +130,11 @@ __ieee754_asinf (float x) } return r; } +strong_alias (__asinf, __ieee754_asinf) +#if LIBM_SVID_COMPAT +versioned_symbol (libm, __asinf, asinf, GLIBC_2_42); +libm_alias_float_other (__asin, asin) +#else +libm_alias_float (__asin, asin) +#endif libm_alias_finite (__ieee754_asinf, __asinf) diff --git a/sysdeps/ieee754/flt-32/w_asinf.c b/sysdeps/ieee754/flt-32/w_asinf.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/flt-32/w_asinf.c @@ -0,0 +1 @@ +/* Not needed. */ diff --git a/sysdeps/m68k/m680x0/fpu/w_asinf_compat.c b/sysdeps/m68k/m680x0/fpu/w_asinf_compat.c new file mode 100644 index 0000000000..d419736eb3 --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_asinf_compat.c @@ -0,0 +1,8 @@ +/* m68k provides an optimized __ieee754_asinf. */ +#ifdef SHARED +# define NO_COMPAT_NEEDED 1 +# include <math/w_asinf_compat.c> +#else +# include <math-type-macros-float.h> +# include <w_asin_template.c> +#endif diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index 069f6839af..3063ff1980 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1278,6 +1278,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 608dc3af3a..4f3e67b163 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 9640285af3..6ee87e7ca8 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1405,6 +1405,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/be/libm.abilist b/sysdeps/unix/sysv/linux/arm/be/libm.abilist index 2d2927bfa3..1a8843e044 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/arm/le/libm.abilist b/sysdeps/unix/sysv/linux/arm/le/libm.abilist index 2d2927bfa3..1a8843e044 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 0fc179462f..fd14c2106a 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index f226ddf60d..d8e64a9096 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1285,6 +1285,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 2d2927bfa3..1a8843e044 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist index 254d54c946..fa421fe3d7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist index 254d54c946..fa421fe3d7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 67e5314104..bf398cac63 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index 515a9446ea..35c239ebb9 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index f6bc97d98b..6c0390ed0a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -1068,6 +1068,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 7a6854f8e2..98a0aef13a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -1067,6 +1067,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist index 923e079978..e2604bce61 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libm.abilist @@ -1061,6 +1061,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 8ec0f6dd8b..f00ae13045 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -1430,6 +1430,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 400aac290c..bd81a6f4b7 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1349,6 +1349,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 2c3f38d54b..29a7da583b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1349,6 +1349,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/be/libm.abilist b/sysdeps/unix/sysv/linux/sh/be/libm.abilist index 848ddfd475..14f765b302 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sh/le/libm.abilist b/sysdeps/unix/sysv/linux/sh/le/libm.abilist index 848ddfd475..14f765b302 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libm.abilist @@ -921,6 +921,7 @@ GLIBC_2.41 tanpif32x F GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index d47b24a0da..bcaf43a7b8 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1356,6 +1356,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index 4d0ce6d826..39174aca28 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1246,6 +1246,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 887ee28cda..babc57384c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1279,6 +1279,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index 69aa9901f7..bd871170d6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1279,6 +1279,7 @@ GLIBC_2.41 tanpif64 F GLIBC_2.41 tanpif64x F GLIBC_2.41 tanpil F GLIBC_2.42 acosf F +GLIBC_2.42 asinf F GLIBC_2.42 lgammaf F GLIBC_2.42 lgammaf_r F GLIBC_2.42 log10f F