diff options
Diffstat (limited to 'sysdeps/powerpc')
34 files changed, 83 insertions, 361 deletions
diff --git a/sysdeps/powerpc/power7/fpu/s_logb.c b/sysdeps/powerpc/power7/fpu/s_logb.c index 1c7a4a850b..ab8e634525 100644 --- a/sysdeps/powerpc/power7/fpu/s_logb.c +++ b/sysdeps/powerpc/power7/fpu/s_logb.c @@ -17,6 +17,7 @@ <http://www.gnu.org/licenses/>. */ #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* This implementation avoids FP to INT conversions by using VSX bitwise instructions over FP values. */ @@ -68,12 +69,4 @@ __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 +libm_alias_double (__logb, logb) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/fpu/s_copysign.S index 850dded3b6..779dab6e6f 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_copysign.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_copysign.S @@ -21,6 +21,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> ENTRY(__copysign) /* double [f1] copysign (double [f1] x, double [f2] y); @@ -40,20 +41,12 @@ L(0): fnabs fp1,fp1 blr END (__copysign) -weak_alias (__copysign,copysign) +libm_alias_double (__copysign, copysign) /* It turns out that it's safe to use this code even for single-precision. */ weak_alias (__copysign,copysignf) strong_alias(__copysign,__copysignf) -#ifdef NO_LONG_DOUBLE -weak_alias (__copysign,copysignl) -strong_alias(__copysign,__copysignl) -#endif -#if IS_IN (libm) -# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __copysign, copysignl, GLIBC_2_0) -# endif -#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, __copysign, copysignl, GLIBC_2_0) #endif diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llrint.c b/sysdeps/powerpc/powerpc32/fpu/s_llrint.c index 13d150cd68..124740aad4 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_llrint.c +++ b/sysdeps/powerpc/powerpc32/fpu/s_llrint.c @@ -21,6 +21,7 @@ #include <math_ldbl_opt.h> #include <math_private.h> #include <stdint.h> +#include <libm-alias-double.h> long long int __llrint (double x) @@ -53,11 +54,4 @@ __llrint (double x) return (long long int) (long int) rx << 32; } } -weak_alias (__llrint, llrint) -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1); -#endif +libm_alias_double (__llrint, llrint) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llround.c b/sysdeps/powerpc/powerpc32/fpu/s_llround.c index 5e5a237b0c..ffd56c80c3 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_llround.c +++ b/sysdeps/powerpc/powerpc32/fpu/s_llround.c @@ -21,6 +21,7 @@ #include <math_ldbl_opt.h> #include <math_private.h> #include <stdint.h> +#include <libm-alias-double.h> /* Round to the nearest integer, with values exactly on a 0.5 boundary rounded away from zero, regardless of the current rounding mode. @@ -80,11 +81,4 @@ __llround (double x) } return xr; } -weak_alias (__llround, llround) -#ifdef NO_LONG_DOUBLE -strong_alias (__llround, __llroundl) -weak_alias (__llround, llroundl) -#endif -#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1); -#endif +libm_alias_double (__llround, llround) diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S index 8d54d95b6a..2f4acbd093 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long int[r3] __lrint (double x[fp1]) */ ENTRY (__lrint) @@ -32,15 +33,7 @@ ENTRY (__lrint) blr END (__lrint) -weak_alias (__lrint, lrint) +libm_alias_double (__lrint, lrint) strong_alias (__lrint, __lrintf) weak_alias (__lrint, lrintf) - -#ifdef NO_LONG_DOUBLE -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/fpu/s_lround.S index e4ec1bb0b6..f26c580a43 100644 --- a/sysdeps/powerpc/powerpc32/fpu/s_lround.S +++ b/sysdeps/powerpc/powerpc32/fpu/s_lround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .section .rodata.cst4,"aM",@progbits,4 .align 2 @@ -115,15 +116,7 @@ ENTRY (__lround) b .Lconvert END (__lround) -weak_alias (__lround, lround) +libm_alias_double (__lround, lround) strong_alias (__lround, __lroundf) weak_alias (__lround, lroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c index bddc1ab3c5..13bf654cb0 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c @@ -25,6 +25,7 @@ #undef __copysign #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__redirect_copysign) __copysign_ppc32 attribute_hidden; extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden; @@ -36,16 +37,8 @@ libc_ifunc (__libm_copysign, : __copysign_ppc32); strong_alias (__libm_copysign, __copysign) -weak_alias (__copysign, copysign) +libm_alias_double (__copysign, copysign) -#ifdef NO_LONG_DOUBLE -weak_alias (__copysign,copysignl) -strong_alias(__copysign,__copysignl) -#endif -#if IS_IN (libm) -# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __copysign, copysignl, GLIBC_2_0); -# endif -#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, __copysign, copysignl, GLIBC_2_0); #endif diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c index 88357ebdd9..7e149269f8 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c @@ -20,6 +20,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__llrint) __llrint_ppc32 attribute_hidden; extern __typeof (__llrint) __llrint_power6 attribute_hidden; @@ -29,12 +30,4 @@ libc_ifunc (__llrint, ? __llrint_power6 : __llrint_ppc32); -weak_alias (__llrint, llrint) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1); -#endif +libm_alias_double (__llrint, llrint) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c index caf8953c81..be563821ca 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c @@ -20,6 +20,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__llround) __llround_ppc32 attribute_hidden; extern __typeof (__llround) __llround_power5plus attribute_hidden; @@ -32,12 +33,4 @@ libc_ifunc (__llround, ? __llround_power5plus : __llround_ppc32); -weak_alias (__llround, llround) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llround, __llroundl) -weak_alias (__llround, llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1); -#endif +libm_alias_double (__llround, llround) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c index f178967f0e..32473eda5d 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c @@ -20,6 +20,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__logb) __logb_ppc32 attribute_hidden; extern __typeof (__logb) __logb_power7 attribute_hidden; @@ -29,13 +30,4 @@ libc_ifunc (__logb, ? __logb_power7 : __logb_ppc32); -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 +libm_alias_double (__logb, logb) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c index ec7c991464..cb134f9330 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c @@ -20,6 +20,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__lrint) __lrint_ppc32 attribute_hidden; extern __typeof (__lrint) __lrint_power6x attribute_hidden; @@ -29,12 +30,4 @@ libc_ifunc (__lrint, __lrint_power6x : __lrint_ppc32); -weak_alias (__lrint, lrint) - -#ifdef NO_LONG_DOUBLE -weak_alias (__lrint, lrintl) -strong_alias (__lrint, __lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1); -#endif +libm_alias_double (__lrint, lrint) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c index fdc0c3dd8d..e533623caf 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c +++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c @@ -20,6 +20,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__lround) __lround_ppc32 attribute_hidden; extern __typeof (__lround) __lround_power5plus attribute_hidden; @@ -32,12 +33,4 @@ libc_ifunc (__lround, __lround_power5plus : __lround_ppc32); -weak_alias (__lround, lround) - -#ifdef NO_LONG_DOUBLE -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1); -#endif +libm_alias_double (__lround, lround) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S b/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S index d16dbb8406..1284f27ad9 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S +++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long long int[r3, r4] __llrint (double x[fp1]) */ ENTRY (__llrint) @@ -35,12 +36,4 @@ ENTRY (__llrint) blr END (__llrint) -weak_alias (__llrint, llrint) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1) -#endif +libm_alias_double (__llrint, llrint) diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S index 24bd533748..45926fd2da 100644 --- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .section .rodata.cst8,"aM",@progbits,8 .align 3 @@ -92,15 +93,7 @@ ENTRY (__llround) b .Lconvert END (__llround) -weak_alias (__llround, llround) +libm_alias_double (__llround, llround) strong_alias (__llround, __llroundf) weak_alias (__llround, llroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S index adbc7ebe18..205e68b1cc 100644 --- a/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long [r3] llround (float x [fp1]) IEEE 1003.1 lround function. IEEE specifies "round to the nearest @@ -45,15 +46,7 @@ ENTRY (__llround) blr END (__llround) -weak_alias (__llround, llround) +libm_alias_double (__llround, llround) strong_alias (__llround, __llroundf) weak_alias (__llround, llroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S index f61846331d..acd0cd96fb 100644 --- a/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S +++ b/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S @@ -17,6 +17,7 @@ <http://www.gnu.org/licenses/>. */ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long [r3] lround (float x [fp1]) IEEE 1003.1 lround function. IEEE specifies "round to the nearest @@ -43,15 +44,7 @@ ENTRY (__lround) blr END (__lround) -weak_alias (__lround, lround) +libm_alias_double (__lround, lround) strong_alias (__lround, __lroundf) weak_alias (__lround, lroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S index d6cc8011ae..a93407a270 100644 --- a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S +++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* double [f1] copysign (double [f1] x, double [f2] y); copysign(x,y) returns a value with the magnitude of x and @@ -34,7 +35,7 @@ EALIGN (__copysign, 4, 0) END (__copysign) hidden_def (__copysign) -weak_alias (__copysign, copysign) +libm_alias_double (__copysign, copysign) /* It turns out that the 'double' version will also always work for single-precision. */ @@ -42,17 +43,6 @@ strong_alias (__copysign, __copysignf) hidden_def (__copysignf) weak_alias (__copysignf, copysignf) -#ifdef NO_LONG_DOUBLE -strong_alias (__copysign, __copysignl) -weak_alias (__copysign, copysignl) -#endif - -#if 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) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, copysign, copysignl, GLIBC_2_0); -# endif #endif diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S index 326e77361b..0bf3c70466 100644 --- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S +++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long long int[r3, r4] __llrint (double x[fp1]) */ ENTRY (__llrint) @@ -35,12 +36,4 @@ ENTRY (__llrint) blr END (__llrint) -weak_alias (__llrint, llrint) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1) -#endif +libm_alias_double (__llrint, llrint) diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S index 83ba999a39..4abaefd69d 100644 --- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long [r3] llround (float x [fp1]) IEEE 1003.1 lround function. IEEE specifies "round to the nearest @@ -45,15 +46,7 @@ ENTRY (__llround) blr END (__llround) -weak_alias (__llround, llround) +libm_alias_double (__llround, llround) strong_alias (__llround, __llroundf) weak_alias (__llround, llroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S index cb780516b5..eb32ea6bd0 100644 --- a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S +++ b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .machine "power6" /* long int[r3] __lrint (double x[fp1]) */ @@ -27,15 +28,7 @@ ENTRY (__lrint) blr END (__lrint) -weak_alias (__lrint, lrint) +libm_alias_double (__lrint, lrint) strong_alias (__lrint, __lrintf) weak_alias (__lrint, lrintf) - -#ifdef NO_LONG_DOUBLE -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S index 05b13cd34c..ec2c208425 100644 --- a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S +++ b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long [r3] lround (float x [fp1]) IEEE 1003.1 lround function. IEEE specifies "round to the nearest @@ -37,15 +38,7 @@ ENTRY (__lround) blr END (__lround) -weak_alias (__lround, lround) +libm_alias_double (__lround, lround) strong_alias (__lround, __lroundf) weak_alias (__lround, lroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c index 2bfb625bf7..1bd971aa24 100644 --- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c @@ -25,6 +25,7 @@ #undef __copysign #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__redirect_copysign) __copysign_ppc64 attribute_hidden; extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden; @@ -36,16 +37,8 @@ libc_ifunc (__libm_copysign, : __copysign_ppc64); strong_alias (__libm_copysign, __copysign) -weak_alias (__copysign, copysign) +libm_alias_double (__copysign, copysign) -#ifdef NO_LONG_DOUBLE -weak_alias (__copysign,copysignl) -strong_alias(__copysign,__copysignl) -#endif -#if IS_IN (libm) -# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __copysign, copysignl, GLIBC_2_0); -# endif -#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, __copysign, copysignl, GLIBC_2_0); #endif diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c index 8db494cfde..6c6e9ea0c9 100644 --- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c @@ -27,6 +27,7 @@ #undef __lrint #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__llrint) __llrint_ppc64 attribute_hidden; extern __typeof (__llrint) __llrint_power6x attribute_hidden; @@ -39,22 +40,8 @@ libc_ifunc (__llrint, ? __llrint_power6x : __llrint_ppc64); -weak_alias (__llrint, llrint) -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1); -#endif +libm_alias_double (__llrint, llrint) /* long has the same width as long long on PowerPC64. */ strong_alias (__llrint, __lrint) -weak_alias (__lrint, lrint) -#ifdef NO_LONG_DOUBLE -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1); -#endif +libm_alias_double (__lrint, lrint) diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c index b6c70c20ab..7d55d1bae7 100644 --- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c @@ -23,6 +23,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__llround) __llround_ppc64 attribute_hidden; extern __typeof (__llround) __llround_power5plus attribute_hidden; @@ -38,25 +39,10 @@ libc_ifunc (__llround, ? __llround_power5plus : __llround_ppc64); -weak_alias (__llround, llround) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1); -#endif +libm_alias_double (__llround, llround) /* long has the same width as long long on PPC64. */ #undef lround #undef __lround strong_alias (__llround, __lround) -weak_alias (__llround, lround) -#ifdef NO_LONG_DOUBLE -strong_alias (__llround, __llroundl) -weak_alias (__llround, llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1); -#endif +libm_alias_double (__lround, lround) diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c index c2e9f4d3ce..7c23a3cf10 100644 --- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c +++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c @@ -20,6 +20,7 @@ #include <math_ldbl_opt.h> #include <shlib-compat.h> #include "init-arch.h" +#include <libm-alias-double.h> extern __typeof (__logb) __logb_ppc64 attribute_hidden; extern __typeof (__logb) __logb_power7 attribute_hidden; @@ -29,13 +30,4 @@ libc_ifunc (__logb, ? __logb_power7 : __logb_ppc64); -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 +libm_alias_double (__logb, logb) diff --git a/sysdeps/powerpc/powerpc64/fpu/s_copysign.S b/sysdeps/powerpc/powerpc64/fpu/s_copysign.S index 0dd9ce03da..ba4c43f41c 100644 --- a/sysdeps/powerpc/powerpc64/fpu/s_copysign.S +++ b/sysdeps/powerpc/powerpc64/fpu/s_copysign.S @@ -21,6 +21,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> ENTRY_TOCLESS (__copysign) CALL_MCOUNT 0 @@ -40,20 +41,12 @@ L(0): fnabs fp1,fp1 blr END (__copysign) -weak_alias (__copysign,copysign) +libm_alias_double (__copysign, copysign) /* It turns out that it's safe to use this code even for single-precision. */ weak_alias (__copysign,copysignf) strong_alias(__copysign,__copysignf) -#ifdef NO_LONG_DOUBLE -weak_alias (__copysign,copysignl) -strong_alias(__copysign,__copysignl) -#endif -#if IS_IN (libm) -# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __copysign, copysignl, GLIBC_2_0) -# endif -#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, __copysign, copysignl, GLIBC_2_0) #endif diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llrint.S b/sysdeps/powerpc/powerpc64/fpu/s_llrint.S index 9fe0b22d18..64255c2aec 100644 --- a/sysdeps/powerpc/powerpc64/fpu/s_llrint.S +++ b/sysdeps/powerpc/powerpc64/fpu/s_llrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long long int[r3] __llrint (double x[fp1]) */ ENTRY_TOCLESS (__llrint) @@ -32,8 +33,8 @@ ENTRY_TOCLESS (__llrint) END (__llrint) strong_alias (__llrint, __lrint) -weak_alias (__llrint, llrint) -weak_alias (__lrint, lrint) +libm_alias_double (__llrint, llrint) +libm_alias_double (__lrint, lrint) /* The double version also works for single-precision as both float and double parameters are passed in 64bit FPRs and both versions are expected to return [long] long type. */ @@ -41,14 +42,3 @@ strong_alias (__llrint, __llrintf) weak_alias (__llrint, llrintf) strong_alias (__lrint, __lrintf) weak_alias (__lrint, lrintf) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/fpu/s_llround.S index 0803ba1eb3..3b8365c924 100644 --- a/sysdeps/powerpc/powerpc64/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc64/fpu/s_llround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .section ".toc","aw" .LC0: /* 2^52 */ @@ -81,16 +82,5 @@ ENTRY (__llround) END (__llround) strong_alias (__llround, __lround) -weak_alias (__llround, llround) -weak_alias (__lround, lround) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif +libm_alias_double (__llround, llround) +libm_alias_double (__lround, lround) diff --git a/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S index ec42993268..9d3261aecc 100644 --- a/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long long [r3] llround (float x [fp1]) IEEE 1003.1 llround function. IEEE specifies "round to the nearest @@ -43,8 +44,8 @@ ENTRY_TOCLESS (__llround, 4) END (__llround) strong_alias (__llround, __lround) -weak_alias (__llround, llround) -weak_alias (__lround, lround) +libm_alias_double (__llround, llround) +libm_alias_double (__lround, lround) /* The double version also works for single-precision as both float and double parameters are passed in 64bit FPRs and both versions are expected to return [long] long type. */ @@ -52,14 +53,3 @@ strong_alias (__llround, __llroundf) weak_alias (__llround, llroundf) strong_alias (__lround, __lroundf) weak_alias (__lround, lroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S index a64f1b8a0c..b994c8edde 100644 --- a/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S +++ b/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* double [f1] copysign (double [f1] x, double [f2] y); copysign(x,y) returns a value with the magnitude of x and @@ -34,7 +35,7 @@ ENTRY_TOCLESS (__copysign, 4) END (__copysign) hidden_def (__copysign) -weak_alias (__copysign, copysign) +libm_alias_double (__copysign, copysign) /* It turns out that the 'double' version will also always work for single-precision. */ @@ -42,17 +43,6 @@ strong_alias (__copysign, __copysignf) hidden_def (__copysignf) weak_alias (__copysignf, copysignf) -#ifdef NO_LONG_DOUBLE -strong_alias (__copysign, __copysignl) -weak_alias (__copysign, copysignl) -#endif - -#if 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) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, copysign, copysignl, GLIBC_2_0); -# endif #endif diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S index 61abdd199d..0ba902c7ba 100644 --- a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S +++ b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .machine "power6" /* long long int[r3] __llrint (double x[fp1]) */ @@ -29,8 +30,8 @@ ENTRY_TOCLESS (__llrint) END (__llrint) strong_alias (__llrint, __lrint) -weak_alias (__llrint, llrint) -weak_alias (__lrint, lrint) +libm_alias_double (__llrint, llrint) +libm_alias_double (__lrint, lrint) /* The double version also works for single-precision as both float and double parameters are passed in 64bit FPRs and both versions are expected to return [long] long type. */ @@ -38,14 +39,3 @@ strong_alias (__llrint, __llrintf) weak_alias (__llrint, llrintf) strong_alias (__lrint, __lrintf) weak_alias (__lrint, lrintf) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S index d58b3380a0..1c12e77290 100644 --- a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* long long [r3] llround (float x [fp1]) IEEE 1003.1 llround function. IEEE specifies "round to the nearest @@ -39,8 +40,8 @@ ENTRY_TOCLESS (__llround) END (__llround) strong_alias (__llround, __lround) -weak_alias (__llround, llround) -weak_alias (__lround, lround) +libm_alias_double (__llround, llround) +libm_alias_double (__lround, lround) /* The double version also works for single-precision as both float and double parameters are passed in 64bit FPRs and both versions are expected to return [long] long type. */ @@ -48,14 +49,3 @@ strong_alias (__llround, __llroundf) weak_alias (__llround, llroundf) strong_alias (__lround, __lroundf) weak_alias (__lround, lroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S b/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S index f1476de0fa..815b26bc8e 100644 --- a/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S +++ b/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> #define MFVSRD_R3_V1 .long 0x7c230066 /* mfvsrd r3,vs1 */ @@ -30,8 +31,8 @@ ENTRY_TOCLESS (__llrint) END (__llrint) strong_alias (__llrint, __lrint) -weak_alias (__llrint, llrint) -weak_alias (__lrint, lrint) +libm_alias_double (__llrint, llrint) +libm_alias_double (__lrint, lrint) /* The double version also works for single-precision as both float and double parameters are passed in 64bit FPRs and both versions are expected to return [long] long type. */ @@ -39,14 +40,3 @@ strong_alias (__llrint, __llrintf) weak_alias (__llrint, llrintf) strong_alias (__lrint, __lrintf) weak_alias (__lrint, lrintf) - -#ifdef NO_LONG_DOUBLE -strong_alias (__llrint, __llrintl) -weak_alias (__llrint, llrintl) -strong_alias (__lrint, __lrintl) -weak_alias (__lrint, lrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1) -#endif diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S index 1dc5142f6e..6b5502576e 100644 --- a/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S +++ b/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S @@ -19,6 +19,7 @@ #include <sysdep.h> #include <endian.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> #define MFVSRD_R3_V1 .long 0x7c230066 /* mfvsrd r3,vs1 */ @@ -33,8 +34,8 @@ ENTRY_TOCLESS (__llround) END (__llround) strong_alias (__llround, __lround) -weak_alias (__llround, llround) -weak_alias (__lround, lround) +libm_alias_double (__llround, llround) +libm_alias_double (__lround, lround) /* The double version also works for single-precision as both float and double parameters are passed in 64bit FPRs and both versions are expected to return [long] long type. */ @@ -42,14 +43,3 @@ strong_alias (__llround, __llroundf) weak_alias (__llround, llroundf) strong_alias (__lround, __lroundf) weak_alias (__lround, lroundf) - -#ifdef NO_LONG_DOUBLE -weak_alias (__llround, llroundl) -strong_alias (__llround, __llroundl) -weak_alias (__lround, lroundl) -strong_alias (__lround, __lroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __llround, llroundl, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1) -#endif |