@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
ENTRY (__copysign)
sethi %hi(0x80000000), %g1
@@ -28,4 +29,10 @@ ENTRY (__copysign)
retl
ldd [%sp + 72], %f0
END (__copysign)
-weak_alias (__copysign, copysign)
\ No newline at end of file
+weak_alias (__copysign, copysign)
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
+#endif
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
+compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
+#endif
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
ENTRY (__fabs)
st %o0, [%sp+72]
@@ -26,3 +27,6 @@ ENTRY (__fabs)
fabss %f0, %f0
END (__fabs)
weak_alias (__fabs, fabs)
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
+#endif
@@ -1,2 +1,6 @@
/* Always use dbl-64 version because long double is emulated in software. */
+#include <math_ldbl_opt.h>
#include <sysdeps/ieee754/dbl-64/s_fma.c>
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
+compat_symbol (libm, __fma, fmal, GLIBC_2_1);
+#endif
@@ -1,11 +1,20 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(copysign)
weak_alias (__copysign, copysign)
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
+#endif
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
+compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
+#endif
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __copysign __copysign_generic
@@ -1,11 +1,17 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(fabs)
weak_alias (__fabs, fabs)
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, __fabs, fabsl, GLIBC_2_0);
+#endif
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __fabs __fabs_generic
@@ -1,12 +1,16 @@
#ifdef HAVE_AS_VIS3_SUPPORT
# include <sparc-ifunc.h>
# include <math.h>
+# include <math_ldbl_opt.h>
extern double __fma_vis3 (double, double, double);
extern double __fma_generic (double, double, double);
sparc_libm_ifunc(__fma, hwcap & HWCAP_SPARC_FMAF ? __fma_vis3 : __fma_generic);
weak_alias (__fma, fma)
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
+compat_symbol (libm, __fma, fmal, GLIBC_2_1);
+#endif
# define __fma __fma_generic
#endif
@@ -367,6 +367,7 @@ GLIBC_2.0 confstr F
GLIBC_2.0 connect F
GLIBC_2.0 copysign F
GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
GLIBC_2.0 creat F
GLIBC_2.0 create_module F
GLIBC_2.0 ctermid F
@@ -29,6 +29,7 @@ GLIBC_2.0 ceilf F
GLIBC_2.0 ceill F
GLIBC_2.0 copysign F
GLIBC_2.0 copysignf F
+GLIBC_2.0 copysignl F
GLIBC_2.0 cos F
GLIBC_2.0 cosf F
GLIBC_2.0 cosh F
@@ -52,6 +53,7 @@ GLIBC_2.0 expm1f F
GLIBC_2.0 expm1l F
GLIBC_2.0 fabs F
GLIBC_2.0 fabsf F
+GLIBC_2.0 fabsl F
GLIBC_2.0 finite F
GLIBC_2.0 finitef F
GLIBC_2.0 finitel F
@@ -254,6 +256,7 @@ GLIBC_2.1 fetestexcept F
GLIBC_2.1 feupdateenv F
GLIBC_2.1 fma F
GLIBC_2.1 fmaf F
+GLIBC_2.1 fmal F
GLIBC_2.1 fmax F
GLIBC_2.1 fmaxf F
GLIBC_2.1 fmaxl F