From: Adhemerval Zanella Date: Tue, 22 May 2012 18:34:02 +0000 (-0300) Subject: PowerPC: libm ABI update X-Git-Tag: glibc-2.16-tps~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=45470df3787aa9e97db24635b8b33066531430ad;p=thirdparty%2Fglibc.git PowerPC: libm ABI update Update for libm abilist for POWER6 and POWER7. --- diff --git a/ChangeLog b/ChangeLog index 9194b9b67dc..798854493d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-05-22 Adhemerval Zanella + + * 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 * sysdeps/unix/sysv/linux/x86_64/bits/fcntl.h: Don't include diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S index beb5baea7ac..e147ba78abe 100644 --- a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S +++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S @@ -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 diff --git a/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S b/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S index 7640d3ca9bd..106cf543e8c 100644 --- a/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S +++ b/sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S @@ -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 diff --git a/sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c b/sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c index 71ee1481491..fba48229000 100644 --- a/sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c +++ b/sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c @@ -16,7 +16,7 @@ License along with the GNU C Library; if not, see . */ -#include "math_private.h" +#include /* 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 diff --git a/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S index 0765d8a47a6..b632773ebc7 100644 --- a/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S +++ b/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S @@ -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 diff --git a/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S b/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S index 319d07f81be..7ab29482a75 100644 --- a/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S +++ b/sysdeps/powerpc/powerpc64/power7/fpu/s_finite.S @@ -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