summaryrefslogtreecommitdiff
path: root/sysdeps/sparc
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-04-26 02:50:20 -0700
committerDavid S. Miller <davem@davemloft.net>2012-04-26 02:50:20 -0700
commit33f244f40b38fda964ccbfd4fa928a3d3d738f53 (patch)
treeccad3acdc22540dd08f11de428b8785178ad553f /sysdeps/sparc
parentcfa1f3e8651f43ea8031b4fb6e491253261f95d1 (diff)
Fix missing long-double compat symbols on sparc v9.
* sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S: Generate long-double compat symbols. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S: Likewise. * sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S: Likewise.
Diffstat (limited to 'sysdeps/sparc')
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S8
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S5
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S5
14 files changed, 85 insertions, 0 deletions
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S
index fa4c7c353f..835703fb9b 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S
@@ -1,11 +1,18 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(ceil)
weak_alias (__ceil, ceil)
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __ceil, ceill, GLIBC_2_0)
+#endif
+
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __ceil __ceil_generic
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S
index 6ae9947a7a..37aeb43b90 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S
@@ -1,11 +1,18 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(floor)
weak_alias (__floor, floor)
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __floor, floorl, GLIBC_2_0)
+#endif
+
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __floor __floor_generic
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S
index d5e59d8d1e..e996860485 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S
@@ -1,11 +1,18 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(fmax)
weak_alias (__fmax, fmax)
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1);
+#endif
+
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __fmax __fmax_generic
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S
index b2aec1bbc0..b7ea51f475 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S
@@ -1,11 +1,18 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(fmin)
weak_alias (__fmin, fmin)
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fmin, fminl, GLIBC_2_1);
+#endif
+
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __fmin __fmin_generic
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S
index a904aeca2a..fd23041404 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S
@@ -1,4 +1,5 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(llrint)
@@ -7,10 +8,16 @@ weak_alias (__llrint, llrint)
strong_alias (__llrint, __lllrint)
weak_alias (__lllrint, lllrint)
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
+#endif
+
# undef weak_alias
# define weak_alias(a, b)
# undef strong_alias
# define strong_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __llrint __llrint_generic
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S
index cc980eb8c7..de893faebf 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S
@@ -1,11 +1,18 @@
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(rint)
weak_alias (__rint, rint)
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __rint, rintl, GLIBC_2_0)
+#endif
+
# undef weak_alias
# define weak_alias(a, b)
+# undef compat_symbol
+# define compat_symbol(a, b, c, d)
#define __rint __rint_generic
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S
index 1d940e3ac7..90564e8021 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
/* Since changing the rounding mode is extremely expensive, we
try to round up using a method that is rounding mode
@@ -85,3 +86,7 @@ ENTRY (__ceil)
for %f0, SIGN_BIT, %f0
END (__ceil)
weak_alias (__ceil, ceil)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __ceil, ceill, GLIBC_2_0)
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S
index bd94c7fd09..9ac3f5022e 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
/* Since changing the rounding mode is extremely expensive, we
try to round up using a method that is rounding mode
@@ -85,3 +86,7 @@ ENTRY (__floor)
for %f0, SIGN_BIT, %f0
END (__floor)
weak_alias (__floor, floor)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __floor, floorl, GLIBC_2_0)
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S
index 351eaaca69..a6ef860af2 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
#define SIGN_BIT %f12 /* -0.0 */
@@ -38,3 +39,7 @@ ENTRY (__fmax)
fandnot2 %f0, %f4, %f0
END (__fmax)
weak_alias (__fmax, fmax)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1);
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S
index 059f15a612..4266a087e7 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
#define SIGN_BIT %f12 /* -0.0 */
@@ -38,3 +39,7 @@ ENTRY (__fmin)
for %f0, %f4, %f0
END (__fmin)
weak_alias (__fmin, fmin)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __fmin, fminl, GLIBC_2_1);
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S
index 3122528a06..a1c0c61766 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S
@@ -17,6 +17,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
ENTRY (__isnan)
sethi %hi(0x7ff00000), %g1
@@ -30,3 +31,10 @@ ENTRY (__isnan)
END (__isnan)
hidden_def (__isnan)
weak_alias (__isnan, isnan)
+
+#ifndef IS_IN_libm
+# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0);
+compat_symbol (libc, isnan, isnanl, GLIBC_2_0);
+# endif
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S
index 8ec9b4dcb4..55383907e7 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
/* We pop constants into the FPU registers using the incoming
argument stack slots, since this avoid having to use any PIC
@@ -65,3 +66,7 @@ ENTRY (__llrint)
ldd [%sp + 72], %o0
END (__llrint)
weak_alias (__llrint, llrint)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S
index 062faba170..2fd0695552 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
/* We pop constants into the FPU registers using the incoming
argument stack slots, since this avoid having to use any PIC
@@ -65,3 +66,7 @@ ENTRY (__lrint)
ld [%sp + 72], %o0
END (__lrint)
weak_alias (__lrint, lrint)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
+#endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S
index 9f9fddd462..32cfce8ee9 100644
--- a/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S
+++ b/sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S
@@ -18,6 +18,7 @@
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
/* We pop constants into the FPU registers using the incoming
argument stack slots, since this avoid having to use any PIC
@@ -62,3 +63,7 @@ ENTRY (__rint)
for %f0, SIGN_BIT, %f0
END (__rint)
weak_alias (__rint, rint)
+
+#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
+compat_symbol (libm, __rint, rintl, GLIBC_2_0)
+#endif