diff options
Diffstat (limited to 'sysdeps/powerpc/powerpc32/power4/fpu/multiarch')
6 files changed, 58 insertions, 35 deletions
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c index c860a1b5d3..0c0d128ab0 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finite.c @@ -16,6 +16,9 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#define __finite __redirect___finite +#define __finitef __redirect___finitef +#define __finitel __redirect___finitel #include <math.h> #include <math_ldbl_opt.h> #include <shlib-compat.h> @@ -23,11 +26,14 @@ extern __typeof (__finite) __finite_ppc32 attribute_hidden; extern __typeof (__finite) __finite_power7 attribute_hidden; - -libc_ifunc (__finite, - (hwcap & PPC_FEATURE_ARCH_2_06) - ? __finite_power7 - : __finite_ppc32); +#undef __finite +#undef __finitef +#undef __finitel + +libc_ifunc_redirected (__redirect___finite, __finite, + (hwcap & PPC_FEATURE_ARCH_2_06) + ? __finite_power7 + : __finite_ppc32); weak_alias (__finite, finite) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c index 831c94f3fc..683477a0f5 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_finitef.c @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#define __finitef __redirect___finitef #include <math.h> #include <shlib-compat.h> #include "init-arch.h" @@ -23,10 +24,11 @@ extern __typeof (__finitef) __finitef_ppc32 attribute_hidden; /* The power7 finite(double) works for float. */ extern __typeof (__finitef) __finite_power7 attribute_hidden; +#undef __finitef -libc_ifunc (__finitef, - (hwcap & PPC_FEATURE_ARCH_2_06) - ? __finite_power7 - : __finitef_ppc32); +libc_ifunc_redirected (__redirect___finitef, __finitef, + (hwcap & PPC_FEATURE_ARCH_2_06) + ? __finite_power7 + : __finitef_ppc32); weak_alias (__finitef, finitef) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c index 506c1115e8..fe6c91294f 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinf.c @@ -16,6 +16,9 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#define __isinf __redirect___isinf +#define __isinff __redirect___isinff +#define __isinfl __redirect___isinfl #include <math.h> #include <math_ldbl_opt.h> #include <shlib-compat.h> @@ -23,11 +26,14 @@ extern __typeof (__isinf) __isinf_ppc32 attribute_hidden; extern __typeof (__isinf) __isinf_power7 attribute_hidden; - -libc_ifunc (__isinf, - (hwcap & PPC_FEATURE_ARCH_2_06) - ? __isinf_power7 - : __isinf_ppc32); +#undef __isinf +#undef __isinff +#undef __isinfl + +libc_ifunc_redirected (__redirect___isinf, __isinf, + (hwcap & PPC_FEATURE_ARCH_2_06) + ? __isinf_power7 + : __isinf_ppc32); weak_alias (__isinf, isinf) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c index 2ab83ee7cb..1706092dd6 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isinff.c @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#define __isinff __redirect___isinff #include <math.h> #include <math_ldbl_opt.h> #include <shlib-compat.h> @@ -24,10 +25,11 @@ extern __typeof (__isinff) __isinff_ppc32 attribute_hidden; /* The power7 isinf(double) works for float. */ extern __typeof (__isinff) __isinf_power7 attribute_hidden; +#undef __isinff -libc_ifunc (__isinff, - (hwcap & PPC_FEATURE_ARCH_2_06) - ? __isinf_power7 - : __isinff_ppc32); +libc_ifunc_redirected (__redirect___isinff, __isinff, + (hwcap & PPC_FEATURE_ARCH_2_06) + ? __isinf_power7 + : __isinff_ppc32); weak_alias (__isinff, isinff) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c index 8f848d7bbc..3655b813b0 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnan.c @@ -16,6 +16,9 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ +#define __isnan __redirect___isnan +#define __isnanf __redirect___isnanf +#define __isnanl __redirect___isnanl #include <math.h> #include <math_ldbl_opt.h> #include <shlib-compat.h> @@ -25,15 +28,18 @@ extern __typeof (__isnan) __isnan_ppc32 attribute_hidden; extern __typeof (__isnan) __isnan_power5 attribute_hidden; extern __typeof (__isnan) __isnan_power6 attribute_hidden; extern __typeof (__isnan) __isnan_power7 attribute_hidden; - -libc_ifunc (__isnan, - (hwcap & PPC_FEATURE_ARCH_2_06) - ? __isnan_power7 : - (hwcap & PPC_FEATURE_ARCH_2_05) - ? __isnan_power6 : - (hwcap & PPC_FEATURE_POWER5) - ? __isnan_power5 - : __isnan_ppc32); +#undef __isnan +#undef __isnanf +#undef __isnanl + +libc_ifunc_redirected (__redirect___isnan, __isnan, + (hwcap & PPC_FEATURE_ARCH_2_06) + ? __isnan_power7 + : (hwcap & PPC_FEATURE_ARCH_2_05) + ? __isnan_power6 + : (hwcap & PPC_FEATURE_POWER5) + ? __isnan_power5 + : __isnan_ppc32); weak_alias (__isnan, isnan) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c index c43c0f3293..e1d6707e10 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_isnanf.c @@ -26,13 +26,14 @@ extern __typeof (__isnanf) __isnanf_power5 attribute_hidden; extern __typeof (__isnanf) __isnanf_power6 attribute_hidden; extern __typeof (__isnanf) __isnan_power7 attribute_hidden; -libc_ifunc (__isnanf, - (hwcap & PPC_FEATURE_ARCH_2_06) - ? __isnan_power7 : - (hwcap & PPC_FEATURE_ARCH_2_05) - ? __isnanf_power6 : - (hwcap & PPC_FEATURE_POWER5) - ? __isnanf_power5 - : __isnan_ppc32); +libc_ifunc_hidden (__isnanf, __isnanf, + (hwcap & PPC_FEATURE_ARCH_2_06) + ? __isnan_power7 + : (hwcap & PPC_FEATURE_ARCH_2_05) + ? __isnanf_power6 + : (hwcap & PPC_FEATURE_POWER5) + ? __isnanf_power5 + : __isnan_ppc32); +hidden_def (__isnanf) weak_alias (__isnanf, isnanf) |