aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_copysign.S9
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fabs.S4
-rw-r--r--sysdeps/sparc/sparc32/fpu/s_fma.c4
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S9
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S6
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist1
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist3
8 files changed, 39 insertions, 1 deletions
diff --git a/sysdeps/sparc/sparc32/fpu/s_copysign.S b/sysdeps/sparc/sparc32/fpu/s_copysign.S
index bddbfb2386..348cabcbb7 100644
--- a/sysdeps/sparc/sparc32/fpu/s_copysign.S
+++ b/sysdeps/sparc/sparc32/fpu/s_copysign.S
@@ -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
diff --git a/sysdeps/sparc/sparc32/fpu/s_fabs.S b/sysdeps/sparc/sparc32/fpu/s_fabs.S
index fdeda68898..774949af23 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fabs.S
+++ b/sysdeps/sparc/sparc32/fpu/s_fabs.S
@@ -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
diff --git a/sysdeps/sparc/sparc32/fpu/s_fma.c b/sysdeps/sparc/sparc32/fpu/s_fma.c
index 8f62605870..bfdcb23b3a 100644
--- a/sysdeps/sparc/sparc32/fpu/s_fma.c
+++ b/sysdeps/sparc/sparc32/fpu/s_fma.c
@@ -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
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S
index cdd98c00f4..5d26430f70 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_copysign.S
@@ -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
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S
index 86c63989a4..72cc08fd66 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fabs.S
@@ -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
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c
index 3f2f1622c8..05113c33d3 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fma.c
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 7f7449f52b..a62463be3d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -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
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
index f8f10e5952..92de6edab9 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
@@ -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