From 33f244f40b38fda964ccbfd4fa928a3d3d738f53 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Thu, 26 Apr 2012 02:50:20 -0700 Subject: 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. --- sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S | 7 +++++++ sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_floor.S | 7 +++++++ sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmax.S | 7 +++++++ sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fmin.S | 7 +++++++ sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_llrint.S | 7 +++++++ sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_rint.S | 7 +++++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_ceil.S | 5 +++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_floor.S | 5 +++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_fmax.S | 5 +++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_fmin.S | 5 +++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_isnan.S | 8 ++++++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S | 5 +++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_lrint.S | 5 +++++ sysdeps/sparc/sparc32/sparcv9/fpu/s_rint.S | 5 +++++ 14 files changed, 85 insertions(+) (limited to 'sysdeps/sparc') 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 +#include 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 +#include 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 +#include 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 +#include 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 +#include 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 +#include 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 @@ . */ #include +#include /* 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 @@ . */ #include +#include /* 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 @@ . */ #include +#include #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 @@ . */ #include +#include #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 @@ . */ #include +#include 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 @@ . */ #include +#include /* 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 @@ . */ #include +#include /* 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 @@ . */ #include +#include /* 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 -- cgit 1.4.1