2017-11-29 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/x86_64/fpu/multiarch/e_exp2f.c: Include
+ <libm-alias-float.h>.
+ (exp2f): Define using libm_alias_float, or libm_alias_float_other
+ if [SHARED].
+ * sysdeps/x86_64/fpu/multiarch/e_expf.c: Include
+ <libm-alias-float.h>.
+ (exp2f): Define using libm_alias_float, or libm_alias_float_other
+ if [SHARED].
+ * sysdeps/x86_64/fpu/multiarch/e_log2f.c: Include
+ <libm-alias-float.h>.
+ (exp2f): Define using libm_alias_float, or libm_alias_float_other
+ if [SHARED].
+ * sysdeps/x86_64/fpu/multiarch/e_logf.c: Include
+ <libm-alias-float.h>.
+ (exp2f): Define using libm_alias_float, or libm_alias_float_other
+ if [SHARED].
+ * sysdeps/x86_64/fpu/multiarch/e_powf.c: Include
+ <libm-alias-float.h>.
+ (exp2f): Define using libm_alias_float, or libm_alias_float_other
+ if [SHARED].
+ * sysdeps/x86_64/fpu/multiarch/s_ceilf.c: Include
+ <libm-alias-float.h>.
+ (ceilf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/multiarch/s_floorf.c: Include
+ <libm-alias-float.h>.
+ (floorf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/multiarch/s_fmaf.c: Include
+ <libm-alias-float.h>.
+ (fmaf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/multiarch/s_nearbyintf.c: Include
+ <libm-alias-float.h>.
+ (nearbyintf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/multiarch/s_rintf.c: Include
+ <libm-alias-float.h>.
+ (rintf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/multiarch/s_truncf.c: Include
+ <libm-alias-float.h>.
+ (truncf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_copysignf.S: Include <libm-alias-float.h>.
+ (copysignf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_cosf.S: Include <libm-alias-float.h>.
+ (cosf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_fabsf.c: Include <libm-alias-float.h>.
+ (fabsf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_fmaxf.S: Include <libm-alias-float.h>.
+ (fmaxf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_fminf.S: Include <libm-alias-float.h>.
+ (fminf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_llrintf.S: Include <libm-alias-float.h>.
+ (llrintf): Define using libm_alias_float.
+ [!__ILP32__] (lrintf): Likewise.
+ * sysdeps/x86_64/fpu/s_sincosf.S: Include <libm-alias-float.h>.
+ (sincosf): Define using libm_alias_float.
+ * sysdeps/x86_64/fpu/s_sinf.S: Include <libm-alias-float.h>.
+ (sinf): Define using libm_alias_float.
+ * sysdeps/x86_64/x32/fpu/s_lrintf.S: Include <libm-alias-float.h>.
+ (lrintf): Define using libm_alias_float.
+
* sysdeps/x86_64/fpu/multiarch/s_atan.c: Include
<libm-alias-double.h>.
(atan): Define using libm_alias_double.
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
extern float __redirect_exp2f (float);
#define SYMBOL_NAME exp2f
#ifdef SHARED
# include <shlib-compat.h>
versioned_symbol (libm, __exp2f, exp2f, GLIBC_2_27);
+libm_alias_float_other (__exp2, exp2)
#else
-weak_alias (__exp2f, exp2f)
+libm_alias_float (__exp2, exp2)
#endif
strong_alias (__exp2f, __ieee754_exp2f)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
extern float __redirect_expf (float);
#define SYMBOL_NAME expf
# include <shlib-compat.h>
versioned_symbol (libm, __expf, expf, GLIBC_2_27);
+libm_alias_float_other (__exp, exp)
#else
-weak_alias (__expf, expf)
+libm_alias_float (__exp, exp)
#endif
strong_alias (__expf, __ieee754_expf)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
extern float __redirect_log2f (float);
#define SYMBOL_NAME log2f
# include <shlib-compat.h>
versioned_symbol (libm, __log2f, log2f, GLIBC_2_27);
+libm_alias_float_other (__log2, log2)
#else
-weak_alias (__log2f, log2f)
+libm_alias_float (__log2, log2)
#endif
strong_alias (__log2f, __ieee754_log2f)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
extern float __redirect_logf (float);
#define SYMBOL_NAME logf
# include <shlib-compat.h>
versioned_symbol (libm, __logf, logf, GLIBC_2_27);
+libm_alias_float_other (__log, log)
#else
-weak_alias (__logf, logf)
+libm_alias_float (__log, log)
#endif
strong_alias (__logf, __ieee754_logf)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
#define powf __redirect_powf
#define __DECL_SIMD___redirect_powf
#include <math.h>
# include <shlib-compat.h>
versioned_symbol (libm, __powf, powf, GLIBC_2_27);
+libm_alias_float_other (__pow, pow)
#else
-weak_alias (__powf, powf)
+libm_alias_float (__pow, pow)
#endif
strong_alias (__powf, __ieee754_powf)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
#define ceilf __redirect_ceilf
#define __ceilf __redirect___ceilf
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_ceilf, __ceilf, IFUNC_SELECTOR ());
-weak_alias (__ceilf, ceilf)
+libm_alias_float (__ceil, ceil)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
#define floorf __redirect_floorf
#define __floorf __redirect___floorf
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_floorf, __floorf, IFUNC_SELECTOR ());
-weak_alias (__floorf, floorf)
+libm_alias_float (__floor, floor)
#include <config.h>
#include <math.h>
#include <init-arch.h>
+#include <libm-alias-float.h>
extern float __fmaf_sse2 (float x, float y, float z) attribute_hidden;
libm_ifunc (__fmaf, HAS_ARCH_FEATURE (FMA_Usable)
? __fmaf_fma3 : (HAS_ARCH_FEATURE (FMA4_Usable)
? __fmaf_fma4 : __fmaf_sse2));
-weak_alias (__fmaf, fmaf)
+libm_alias_float (__fma, fma)
#define __fmaf __fmaf_sse2
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
#define nearbyintf __redirect_nearbyintf
#define __nearbyintf __redirect___nearbyintf
#include <math.h>
libc_ifunc_redirected (__redirect_nearbyintf, __nearbyintf,
IFUNC_SELECTOR ());
-weak_alias (__nearbyintf, nearbyintf)
+libm_alias_float (__nearbyint, nearbyint)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
#define rintf __redirect_rintf
#define __rintf __redirect___rintf
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_rintf, __rintf, IFUNC_SELECTOR ());
-weak_alias (__rintf, rintf)
+libm_alias_float (__rint, rint)
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <libm-alias-float.h>
+
#define truncf __redirect_truncf
#define __truncf __redirect___truncf
#include <math.h>
#include "ifunc-sse4_1.h"
libc_ifunc_redirected (__redirect_truncf, __truncf, IFUNC_SELECTOR ());
-weak_alias (__truncf, truncf)
+libm_alias_float (__trunc, trunc)
<http://www.gnu.org/licenses/>. */
#include <machine/asm.h>
+#include <libm-alias-float.h>
.section .rodata
retq
END (__copysignf)
-weak_alias (__copysignf, copysignf)
+libm_alias_float (__copysign, copysign)
#include <sysdep.h>
#include <errno.h>
+#include <libm-alias-float.h>
/* Short algorithm description:
*
.type L(SP_ONE), @object
ASM_SIZE_DIRECTIVE(L(SP_ONE))
-weak_alias(__cosf, cosf)
+libm_alias_float (__cos, cos)
<http://www.gnu.org/licenses/>. */
#include <math.h>
+#include <libm-alias-float.h>
float
__fabsf (float x)
{
return __builtin_fabsf (x);
}
-weak_alias (__fabsf, fabsf)
+libm_alias_float (__fabs, fabs)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-float.h>
.text
ENTRY(__fmaxf)
2: ret
END(__fmaxf)
-weak_alias (__fmaxf, fmaxf)
+libm_alias_float (__fmax, fmax)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-float.h>
.text
ENTRY(__fminf)
2: ret
END(__fminf)
-weak_alias (__fminf, fminf)
+libm_alias_float (__fmin, fmin)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-float.h>
.text
ENTRY(__llrintf)
cvtss2si %xmm0,%rax
ret
END(__llrintf)
-weak_alias (__llrintf, llrintf)
+libm_alias_float (__llrint, llrint)
#ifndef __ILP32__
strong_alias (__llrintf, __lrintf)
-weak_alias (__llrintf, lrintf)
+libm_alias_float (__llrint, lrint)
#endif
#include <sysdep.h>
#include <errno.h>
+#include <libm-alias-float.h>
/* Short algorithm description:
*
.type L(SP_ONE), @object
ASM_SIZE_DIRECTIVE(L(SP_ONE))
-weak_alias(__sincosf, sincosf)
+libm_alias_float (__sincos, sincos)
#include <sysdep.h>
#include <errno.h>
+#include <libm-alias-float.h>
/* Short algorithm description:
*
.type L(SP_ABS_MASK), @object
ASM_SIZE_DIRECTIVE(L(SP_ABS_MASK))
-weak_alias(__sinf, sinf)
+libm_alias_float (__sin, sin)
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <libm-alias-float.h>
.text
ENTRY(__lrintf)
cvtss2si %xmm0,%eax
ret
END(__lrintf)
-weak_alias (__lrintf, lrintf)
+libm_alias_float (__lrint, lrint)