PowerPC: libm ABI update
authorAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 22 May 2012 18:34:02 +0000 (15:34 -0300)
committerAdhemerval Zanella <azanella@linux.vnet.ibm.com>
Tue, 22 May 2012 18:34:02 +0000 (15:34 -0300)
Update for libm abilist for POWER6 and POWER7.

ChangeLog
sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S
sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S
sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c
sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S
sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S

index 9194b9b..7988544 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2012-05-22  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+       * sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Add compat symbol
+       copysignl for GLIBC_2_0.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S: Add compat symbol
+       finitel for GLIBC_2.0 and __finitel for GLIBC_2_1.
+       * sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c: Add compat symbol
+       logbl for GLIBC_2_0.
+       * sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Likewise.
+       * sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S: Likewise.
+
 2012-05-22  H.J. Lu  <hongjiu.lu@intel.com>
 
        * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Don't include
index beb5bae..e147ba7 100644 (file)
@@ -47,9 +47,12 @@ strong_alias (__copysign, __copysignl)
 weak_alias (__copysign, copysignl)
 #endif
 
-#ifndef IS_IN_libm
-# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __copysign, __copysignl, GLIBC_2_0);
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, copysign, copysignl, GLIBC_2_0)
+# endif
+#else
+# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, copysign, copysignl, GLIBC_2_0);
 # endif
 #endif
index 7640d3c..106cf54 100644 (file)
@@ -79,8 +79,15 @@ strong_alias (__finite, __finitel)
 weak_alias (__finite, finitel)
 #endif
 
-#ifndef IS_IN_libm
-# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, finite, finitel, GLIBC_2_0)
+# endif
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
+compat_symbol (libm, __finite, __finitel, GLIBC_2_1)
+# endif
+#else
+# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __finite, __finitel, GLIBC_2_0);
 compat_symbol (libc, finite, finitel, GLIBC_2_0);
 # endif
index 71ee148..fba4822 100644 (file)
@@ -16,7 +16,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include "math_private.h"
+#include <math_ldbl_opt.h>
 
 /* This implementation avoids FP to INT conversions by using VSX
    bitwise instructions over FP values.  */
@@ -66,10 +66,12 @@ __logb (double x)
   /* Test to avoid logb_downward (0.0) == -0.0.  */
   return ret == -0.0 ? 0.0 : ret;
 }
-
 weak_alias (__logb, logb)
-
 #ifdef NO_LONG_DOUBLE
 strong_alias (__logb, __logbl)
 weak_alias (__logb, logbl)
 #endif
+
+#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, logb, logbl, GLIBC_2_0);
+#endif
index 0765d8a..b632773 100644 (file)
@@ -47,9 +47,12 @@ strong_alias (__copysign, __copysignl)
 weak_alias (__copysign, copysignl)
 #endif
 
-#ifndef IS_IN_libm
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, copysign, copysignl, GLIBC_2_0)
+# endif
+#else
 # if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __copysign, __copysignl, GLIBC_2_0);
 compat_symbol (libc, copysign, copysignl, GLIBC_2_0);
 # endif
 #endif
index 319d07f..7ab2948 100644 (file)
@@ -59,8 +59,13 @@ strong_alias (__finite, __finitef)
 hidden_def (__finitef)
 weak_alias (__finitef, finitef)
 
-#ifndef IS_IN_libm
-# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#ifdef IS_IN_libm
+# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
+compat_symbol (libm, __finite, __finitel, GLIBC_2_0)
+compat_symbol (libm, finite, finitel, GLIBC_2_0)
+# endif
+#else
+# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __finite, __finitel, GLIBC_2_0);
 compat_symbol (libc, finite, finitel, GLIBC_2_0);
 # endif