diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-10-29 22:29:21 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-10-29 22:29:21 +0000 |
commit | 5ce8f125063cfd8660710a80243cb705e66f0626 (patch) | |
tree | 84bc49dcfb91eea8279fa1243f0b24e6a41d2a18 /math | |
parent | 91bcb95ad4454ea878e7a2eac5c4a0eeb6fb4de6 (diff) | |
download | glibc-5ce8f125063cfd8660710a80243cb705e66f0626.tar.gz glibc-5ce8f125063cfd8660710a80243cb705e66f0626.tar.xz glibc-5ce8f125063cfd8660710a80243cb705e66f0626.zip |
Make drem an alias of remainder (bug 16171).
The libm drem functions just call the corresponding __remainder functions. This patch removes the unnecessary wrappers by making them into weak aliases at the ELF level. Tested for x86_64, x86, mips64 and powerpc. [BZ #16171] * math/w_remainder.c (drem): Define as weak alias of __remainder. [NO_LONG_DOUBLE] (dreml): Define as weak alias of __remainder. * math/w_remainderf.c (dremf): Define as weak alias of __remainderf. * math/w_remainderl.c (dreml): Define as weak alias of __remainderl. * sysdeps/ia64/fpu/e_remainder.S (drem): Define as weak alias of __remainder. * sysdeps/ia64/fpu/e_remainderf.S (dremf): Define as weak alias of __remainderf. * sysdeps/ia64/fpu/e_remainderl.S (dreml): Define as weak alias of __remainderl. * sysdeps/ieee754/ldbl-opt/nldbl-remainder.c (dreml): Define as weak alias of remainderl. * sysdeps/ieee754/ldbl-opt/w_remainder.c [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (__drem): Define as strong alias of __remainder. [LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)] (dreml): Use compat_symbol. * sysdeps/ieee754/ldbl-opt/w_remainderl.c (__dreml): Define as strong alias of __remainderl. (dreml): Use long_double_symbol. * math/Makefile (libm-calls): Remove w_drem. * sysdeps/ieee754/ldbl-opt/Makefile (libnldbl-calls): Remove drem. (CFLAGS-nldbl-drem.c): Remove variable. (CFLAGS-nldbl-remainder.c): Add -fno-builtin-dreml. * math/w_drem.c: Remove file. * math/w_dremf.c: Likewise. * math/w_dreml.c: Likewise. * sysdeps/ieee754/ldbl-opt/nldbl-drem.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_drem.c: Likewise. * sysdeps/ieee754/ldbl-opt/w_dreml.c: Likewise.
Diffstat (limited to 'math')
-rw-r--r-- | math/Makefile | 2 | ||||
-rw-r--r-- | math/w_drem.c | 19 | ||||
-rw-r--r-- | math/w_dremf.c | 16 | ||||
-rw-r--r-- | math/w_dreml.c | 17 | ||||
-rw-r--r-- | math/w_remainder.c | 2 | ||||
-rw-r--r-- | math/w_remainderf.c | 1 | ||||
-rw-r--r-- | math/w_remainderl.c | 1 |
7 files changed, 5 insertions, 53 deletions
diff --git a/math/Makefile b/math/Makefile index dedd7ee5ea..3efbc58d5c 100644 --- a/math/Makefile +++ b/math/Makefile @@ -51,7 +51,7 @@ libm-calls = e_acos e_acosh e_asin e_atan2 e_atanh e_cosh e_exp e_fmod \ s_floor s_log1p w_log1p s_logb \ s_nextafter s_nexttoward s_rint s_scalbln w_scalbln \ s_significand s_sin s_tan s_tanh w_acos w_acosh w_asin \ - w_atan2 w_atanh w_cosh w_drem w_exp w_exp2 w_exp10 w_fmod \ + w_atan2 w_atanh w_cosh w_exp w_exp2 w_exp10 w_fmod \ w_tgamma w_hypot w_j0 w_j1 w_jn w_lgamma w_lgamma_r \ w_log w_log10 w_pow w_remainder w_scalb w_sinh w_sqrt \ w_ilogb \ diff --git a/math/w_drem.c b/math/w_drem.c deleted file mode 100644 index 843b67aa80..0000000000 --- a/math/w_drem.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * drem() wrapper for remainder(). - * - * Written by J.T. Conklin, <jtc@wimsey.com> - * Placed into the Public Domain, 1994. - */ - -#include <math.h> - -double -__drem (double x, double y) -{ - return __remainder(x, y); -} -weak_alias (__drem, drem) -#ifdef NO_LONG_DOUBLE -strong_alias (__drem, __dreml) -weak_alias (__drem, dreml) -#endif diff --git a/math/w_dremf.c b/math/w_dremf.c deleted file mode 100644 index c5e7c63af5..0000000000 --- a/math/w_dremf.c +++ /dev/null @@ -1,16 +0,0 @@ -/* - * dremf() wrapper for remainderf(). - * - * Written by J.T. Conklin, <jtc@wimsey.com> - * Placed into the Public Domain, 1994. - */ - -#include <math.h> -#include <math_private.h> - -float -__dremf (float x, float y) -{ - return __remainderf(x, y); -} -weak_alias (__dremf, dremf) diff --git a/math/w_dreml.c b/math/w_dreml.c deleted file mode 100644 index 8d0139ac28..0000000000 --- a/math/w_dreml.c +++ /dev/null @@ -1,17 +0,0 @@ -/* - * dreml() wrapper for remainderl(). - * - * Written by J.T. Conklin, <jtc@wimsey.com> - * Conversion to long double by Ulrich Drepper, - * Cygnus Support, drepper@cygnus.com. - * Placed into the Public Domain, 1994. - */ - -#include <math.h> - -long double -__dreml (long double x, long double y) -{ - return __remainderl(x, y); -} -weak_alias (__dreml, dreml) diff --git a/math/w_remainder.c b/math/w_remainder.c index a6da1921dc..aa70f0213f 100644 --- a/math/w_remainder.c +++ b/math/w_remainder.c @@ -32,7 +32,9 @@ __remainder (double x, double y) return __ieee754_remainder (x, y); } weak_alias (__remainder, remainder) +weak_alias (__remainder, drem) #ifdef NO_LONG_DOUBLE strong_alias (__remainder, __remainderl) weak_alias (__remainder, remainderl) +weak_alias (__remainder, dreml) #endif diff --git a/math/w_remainderf.c b/math/w_remainderf.c index c003002287..beb07756c5 100644 --- a/math/w_remainderf.c +++ b/math/w_remainderf.c @@ -32,3 +32,4 @@ __remainderf (float x, float y) return __ieee754_remainderf (x, y); } weak_alias (__remainderf, remainderf) +weak_alias (__remainderf, dremf) diff --git a/math/w_remainderl.c b/math/w_remainderl.c index b25929d16e..393c99aad0 100644 --- a/math/w_remainderl.c +++ b/math/w_remainderl.c @@ -32,3 +32,4 @@ __remainderl (long double x, long double y) return __ieee754_remainderl (x, y); } weak_alias (__remainderl, remainderl) +weak_alias (__remainderl, dreml) |