diff options
author | Joseph Myers <joseph@codesourcery.com> | 2017-11-28 00:07:56 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2017-11-28 00:07:56 +0000 |
commit | 5de606387b60d57399e61bdb78d6697139ceb445 (patch) | |
tree | 0062f80fad1e61fcb423a6a420617220f9c86e39 | |
parent | d8124864444fa43fe12d9d907fdb5192927add3f (diff) | |
download | glibc-5de606387b60d57399e61bdb78d6697139ceb445.tar.gz glibc-5de606387b60d57399e61bdb78d6697139ceb445.tar.xz glibc-5de606387b60d57399e61bdb78d6697139ceb445.zip |
Use libm_alias_double for alpha.
Continuing the preparation for additional _FloatN / _FloatNx function aliases, this patch makes alpha libm function implementations use libm_alias_double to define function aliases. This also simplifies the code because the compatibility for long double = double is handled by libm_alias_double instead of locally in each source file. Tested with build-many-glibcs.py for alpha-linux-gnu that installed stripped shared libraries are unchanged by the patch. * sysdeps/alpha/fpu/s_ceil.c: Include <libm-alias-double.h>. (ceil): Define using libm_alias_double. * sysdeps/alpha/fpu/s_copysign.c: Include <libm-alias-double.h>. (copysign): Define using libm_alias_double. * sysdeps/alpha/fpu/s_fabs.c: Include <libm-alias-double.h>. (fabs): Define using libm_alias_double. * sysdeps/alpha/fpu/s_floor.c: Include <libm-alias-double.h>. (floor): Define using libm_alias_double. * sysdeps/alpha/fpu/s_fmax.S: Include <libm-alias-double.h>. (fmax): Define using libm_alias_double. * sysdeps/alpha/fpu/s_fmin.S: Include <libm-alias-double.h>. (fmin): Define using libm_alias_double. * sysdeps/alpha/fpu/s_lrint.c: Include <libm-alias-double.h>. (lrint): Define using libm_alias_double. (llrint): Likewise. * sysdeps/alpha/fpu/s_lround.c: Include <libm-alias-double.h>. (lround): Define using libm_alias_double. (llround): Likewise. * sysdeps/alpha/fpu/s_rint.c: Include <libm-alias-double.h>. (rint): Define using libm_alias_double. * sysdeps/alpha/fpu/s_trunc.c: Include <libm-alias-double.h>. (trunc): Define using libm_alias_double.
-rw-r--r-- | ChangeLog | 23 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_ceil.c | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_copysign.c | 13 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_fabs.c | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_floor.c | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_fmax.S | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_fmin.S | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_lrint.c | 15 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_lround.c | 15 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_rint.c | 10 | ||||
-rw-r--r-- | sysdeps/alpha/fpu/s_trunc.c | 10 |
11 files changed, 46 insertions, 90 deletions
diff --git a/ChangeLog b/ChangeLog index 70ea90a506..aa41616441 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,28 @@ 2017-11-28 Joseph Myers <joseph@codesourcery.com> + * sysdeps/alpha/fpu/s_ceil.c: Include <libm-alias-double.h>. + (ceil): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_copysign.c: Include <libm-alias-double.h>. + (copysign): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_fabs.c: Include <libm-alias-double.h>. + (fabs): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_floor.c: Include <libm-alias-double.h>. + (floor): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_fmax.S: Include <libm-alias-double.h>. + (fmax): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_fmin.S: Include <libm-alias-double.h>. + (fmin): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_lrint.c: Include <libm-alias-double.h>. + (lrint): Define using libm_alias_double. + (llrint): Likewise. + * sysdeps/alpha/fpu/s_lround.c: Include <libm-alias-double.h>. + (lround): Define using libm_alias_double. + (llround): Likewise. + * sysdeps/alpha/fpu/s_rint.c: Include <libm-alias-double.h>. + (rint): Define using libm_alias_double. + * sysdeps/alpha/fpu/s_trunc.c: Include <libm-alias-double.h>. + (trunc): Define using libm_alias_double. + * sysdeps/ieee754/ldbl-opt/libm-alias-double.h (libm_alias_double_r): Add semicolon after weak_alias call. diff --git a/sysdeps/alpha/fpu/s_ceil.c b/sysdeps/alpha/fpu/s_ceil.c index 029ee09315..38ba34e9ce 100644 --- a/sysdeps/alpha/fpu/s_ceil.c +++ b/sysdeps/alpha/fpu/s_ceil.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* Use the -inf rounding mode conversion instructions to implement ceil, via something akin to -floor(-x). This is much faster than @@ -46,11 +47,4 @@ __ceil (double x) return x; } -weak_alias (__ceil, ceil) -#ifdef NO_LONG_DOUBLE -strong_alias (__ceil, __ceill) -weak_alias (__ceil, ceill) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __ceil, ceill, GLIBC_2_0); -#endif +libm_alias_double (__ceil, ceil) diff --git a/sysdeps/alpha/fpu/s_copysign.c b/sysdeps/alpha/fpu/s_copysign.c index 3bd3dd48df..d5d1f9bfbb 100644 --- a/sysdeps/alpha/fpu/s_copysign.c +++ b/sysdeps/alpha/fpu/s_copysign.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> double __copysign (double x, double y) @@ -25,15 +26,7 @@ __copysign (double x, double y) return __builtin_copysign (x, y); } -weak_alias (__copysign, copysign) -#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 -#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +libm_alias_double (__copysign, copysign) +#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0) compat_symbol (libc, __copysign, copysignl, GLIBC_2_0); #endif diff --git a/sysdeps/alpha/fpu/s_fabs.c b/sysdeps/alpha/fpu/s_fabs.c index abcc6e7c75..8be9de4fb6 100644 --- a/sysdeps/alpha/fpu/s_fabs.c +++ b/sysdeps/alpha/fpu/s_fabs.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> double __fabs (double x) @@ -25,11 +26,4 @@ __fabs (double x) return __builtin_fabs (x); } -weak_alias (__fabs, fabs) -#ifdef NO_LONG_DOUBLE -strong_alias (__fabs, __fabsl) -weak_alias (__fabs, fabsl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __fabs, fabsl, GLIBC_2_0); -#endif +libm_alias_double (__fabs, fabs) diff --git a/sysdeps/alpha/fpu/s_floor.c b/sysdeps/alpha/fpu/s_floor.c index 49a0c760a9..746957c55d 100644 --- a/sysdeps/alpha/fpu/s_floor.c +++ b/sysdeps/alpha/fpu/s_floor.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* Use the -inf rounding mode conversion instructions to implement @@ -47,11 +48,4 @@ __floor (double x) return x; } -weak_alias (__floor, floor) -#ifdef NO_LONG_DOUBLE -strong_alias (__floor, __floorl) -weak_alias (__floor, floorl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __floor, floorl, GLIBC_2_0); -#endif +libm_alias_double (__floor, floor) diff --git a/sysdeps/alpha/fpu/s_fmax.S b/sysdeps/alpha/fpu/s_fmax.S index 8a65ae4963..d6c275943f 100644 --- a/sysdeps/alpha/fpu/s_fmax.S +++ b/sysdeps/alpha/fpu/s_fmax.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .set noat .set noreorder @@ -47,11 +48,4 @@ END (__fmax) strong_alias (__fmax, __fmaxf) weak_alias (__fmaxf, fmaxf) -weak_alias (__fmax, fmax) -#ifdef NO_LONG_DOUBLE -strong_alias (__fmax, __fmaxl) -weak_alias (__fmaxl, fmaxl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __fmax, fmaxl, GLIBC_2_1); -#endif +libm_alias_double (__fmax, fmax) diff --git a/sysdeps/alpha/fpu/s_fmin.S b/sysdeps/alpha/fpu/s_fmin.S index 926bd32ec4..6da4a93a6e 100644 --- a/sysdeps/alpha/fpu/s_fmin.S +++ b/sysdeps/alpha/fpu/s_fmin.S @@ -18,6 +18,7 @@ #include <sysdep.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> .set noat .set noreorder @@ -47,11 +48,4 @@ END (__fmin) strong_alias (__fmin, __fminf) weak_alias (__fminf, fminf) -weak_alias (__fmin, fmin) -#ifdef NO_LONG_DOUBLE -strong_alias (__fmin, __fminl) -weak_alias (__fminl, fminl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __fmin, fminl, GLIBC_2_1); -#endif +libm_alias_double (__fmin, fmin) diff --git a/sysdeps/alpha/fpu/s_lrint.c b/sysdeps/alpha/fpu/s_lrint.c index 2a644c57df..37cfbac508 100644 --- a/sysdeps/alpha/fpu/s_lrint.c +++ b/sysdeps/alpha/fpu/s_lrint.c @@ -19,6 +19,7 @@ #define llrint not_llrint #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> #undef __llrint #undef llrint @@ -33,15 +34,5 @@ __lrint (double x) } strong_alias (__lrint, __llrint) -weak_alias (__lrint, lrint) -weak_alias (__llrint, llrint) -#ifdef NO_LONG_DOUBLE -strong_alias (__lrint, __lrintl) -strong_alias (__lrint, __llrintl) -weak_alias (__lrintl, lrintl) -weak_alias (__llrintl, llrintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lrint, lrintl, GLIBC_2_1); -compat_symbol (libm, __llrint, llrintl, GLIBC_2_1); -#endif +libm_alias_double (__lrint, lrint) +libm_alias_double (__llrint, llrint) diff --git a/sysdeps/alpha/fpu/s_lround.c b/sysdeps/alpha/fpu/s_lround.c index 78a067daf1..bd32bf8c25 100644 --- a/sysdeps/alpha/fpu/s_lround.c +++ b/sysdeps/alpha/fpu/s_lround.c @@ -19,6 +19,7 @@ #define llround not_llround #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> #undef __llround #undef llround @@ -33,15 +34,5 @@ __lround (double x) } strong_alias (__lround, __llround) -weak_alias (__lround, lround) -weak_alias (__llround, llround) -#ifdef NO_LONG_DOUBLE -strong_alias (__lround, __lroundl) -strong_alias (__lround, __llroundl) -weak_alias (__lroundl, lroundl) -weak_alias (__llroundl, llroundl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __lround, lroundl, GLIBC_2_1); -compat_symbol (libm, __llround, llroundl, GLIBC_2_1); -#endif +libm_alias_double (__lround, lround) +libm_alias_double (__llround, llround) diff --git a/sysdeps/alpha/fpu/s_rint.c b/sysdeps/alpha/fpu/s_rint.c index fca35cf961..737988adca 100644 --- a/sysdeps/alpha/fpu/s_rint.c +++ b/sysdeps/alpha/fpu/s_rint.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> double @@ -41,11 +42,4 @@ __rint (double x) return x; } -weak_alias (__rint, rint) -#ifdef NO_LONG_DOUBLE -strong_alias (__rint, __rintl) -weak_alias (__rint, rintl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) -compat_symbol (libm, __rint, rintl, GLIBC_2_0); -#endif +libm_alias_double (__rint, rint) diff --git a/sysdeps/alpha/fpu/s_trunc.c b/sysdeps/alpha/fpu/s_trunc.c index 68a013d222..ba3af86e4d 100644 --- a/sysdeps/alpha/fpu/s_trunc.c +++ b/sysdeps/alpha/fpu/s_trunc.c @@ -18,6 +18,7 @@ #include <math.h> #include <math_ldbl_opt.h> +#include <libm-alias-double.h> /* Use the chopped rounding mode conversion instructions to implement trunc. */ @@ -41,11 +42,4 @@ __trunc (double x) return copysign (r, x); } -weak_alias (__trunc, trunc) -#ifdef NO_LONG_DOUBLE -strong_alias (__trunc, __truncl) -weak_alias (__trunc, truncl) -#endif -#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) -compat_symbol (libm, __trunc, truncl, GLIBC_2_1); -#endif +libm_alias_double (__trunc, trunc) |