From: David S. Miller Date: Thu, 26 Apr 2012 09:50:20 +0000 (-0700) Subject: Fix missing long-double compat symbols on sparc v9. X-Git-Tag: upstream/2.20~4188 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33f244f40b38fda964ccbfd4fa928a3d3d738f53;p=platform%2Fupstream%2Flinaro-glibc.git 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. --- diff --git a/ChangeLog b/ChangeLog index 080cadd..7d2d108 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +2012-04-26 David S. Miller + + * 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 * sysdeps/sparc/sparc32/bits/atomic.h: Include sysdep.h to get diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_ceil.S index fa4c7c3..835703f 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 6ae9947..37aeb43 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 d5e59d8..e996860 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 b2aec1b..b7ea51f 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 a904aec..fd23041 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 cc980eb..de893fa 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 1d940e3..90564e8 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 bd94c7f..9ac3f50 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 351eaac..a6ef860 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 059f15a..4266a08 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 3122528..a1c0c61 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 8ec9b4d..5538390 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 062faba..2fd0695 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 9f9fddd..32cfce8 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