+2012-04-26 David S. Miller <davem@davemloft.net>
+
+ * 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.
+
2012-04-25 David S. Miller <davem@davemloft.net>
* sysdeps/sparc/sparc32/bits/atomic.h: Include sysdep.h to get
#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
#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
#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
#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
#include <sparc-ifunc.h>
+#include <math_ldbl_opt.h>
SPARC_ASM_VIS3_IFUNC(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
#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
<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
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
<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
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
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
#define SIGN_BIT %f12 /* -0.0 */
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
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
#define SIGN_BIT %f12 /* -0.0 */
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
<http://www.gnu.org/licenses/>. */
#include <sysdep.h>
+#include <math_ldbl_opt.h>
ENTRY (__isnan)
sethi %hi(0x7ff00000), %g1
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
<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
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
<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
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
<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
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