summaryrefslogtreecommitdiff
path: root/math
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2015-10-29 22:29:21 +0000
committerJoseph Myers <joseph@codesourcery.com>2015-10-29 22:29:21 +0000
commit5ce8f125063cfd8660710a80243cb705e66f0626 (patch)
tree84bc49dcfb91eea8279fa1243f0b24e6a41d2a18 /math
parent91bcb95ad4454ea878e7a2eac5c4a0eeb6fb4de6 (diff)
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/Makefile2
-rw-r--r--math/w_drem.c19
-rw-r--r--math/w_dremf.c16
-rw-r--r--math/w_dreml.c17
-rw-r--r--math/w_remainder.c2
-rw-r--r--math/w_remainderf.c1
-rw-r--r--math/w_remainderl.c1
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)