about summary refs log tree commit diff
path: root/math/w_remainder.c
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/w_remainder.c
parent91bcb95ad4454ea878e7a2eac5c4a0eeb6fb4de6 (diff)
downloadglibc-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/w_remainder.c')
-rw-r--r--math/w_remainder.c2
1 files changed, 2 insertions, 0 deletions
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