diff options
Diffstat (limited to 'sysdeps/alpha/fpu/e_sqrt.c')
-rw-r--r-- | sysdeps/alpha/fpu/e_sqrt.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/sysdeps/alpha/fpu/e_sqrt.c b/sysdeps/alpha/fpu/e_sqrt.c index 645330852a..4cf2ad693a 100644 --- a/sysdeps/alpha/fpu/e_sqrt.c +++ b/sysdeps/alpha/fpu/e_sqrt.c @@ -158,30 +158,29 @@ $fixup: \n\ \n\ .end __ieee754_sqrt"); -/* Avoid the __sqrt_finite alias that dbl-64/e_sqrt.c would give... */ -#undef strong_alias -#define strong_alias(a,b) - -/* ... defining our own. */ #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -asm (".global __sqrt_finite1; __sqrt_finite1 = __ieee754_sqrt"); +asm (".global __sqrt_dummy; __sqrt_dummy = __ieee754_sqrt"); #else -asm (".global __sqrt_finite; __sqrt_finite = __ieee754_sqrt"); +asm (".global __sqrt_finite; __sqrt_finite = __ieee754_sqrt"); #endif static double __full_ieee754_sqrt(double) __attribute_used__; #define __ieee754_sqrt __full_ieee754_sqrt #elif SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -# define __sqrt_finite __sqrt_finite1 + +strong_alias (__ieee754_sqrt, __sqrt_dummy) +#define __ieee754_sqrt __ieee754_sqrt + #endif /* _IEEE_FP_INEXACT */ #include <sysdeps/ieee754/dbl-64/e_sqrt.c> +#undef __ieee754_sqrt /* Work around forgotten symbol in alphaev6 build. */ #if SHLIB_COMPAT (libm, GLIBC_2_15, GLIBC_2_18) -# undef __sqrt_finite -# undef __ieee754_sqrt -compat_symbol (libm, __sqrt_finite1, __sqrt_finite, GLIBC_2_15); -versioned_symbol (libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18); +compat_symbol (libm, __sqrt_dummy, __sqrt_finite, GLIBC_2_15); +#endif +#if SHLIB_COMPAT (libm, GLIBC_2_18, GLIBC_2_31) +compat_symbol (libm, __ieee754_sqrt, __sqrt_finite, GLIBC_2_18); #endif |