From 45470df3787aa9e97db24635b8b33066531430ad Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Tue, 22 May 2012 15:34:02 -0300 Subject: PowerPC: libm ABI update Update for libm abilist for POWER6 and POWER7. --- sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S | 9 ++++++--- sysdeps/powerpc/powerpc32/power7/fpu/s_finite.S | 11 +++++++++-- sysdeps/powerpc/powerpc32/power7/fpu/s_logb.c | 8 +++++--- 3 files changed, 20 insertions(+), 8 deletions(-) (limited to 'sysdeps/powerpc/powerpc32') diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S index beb5baea7a..e147ba78ab 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 7640d3ca9b..106cf543e8 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 71ee148149..fba4822900 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 -- cgit 1.4.1