From 5ce8f125063cfd8660710a80243cb705e66f0626 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 29 Oct 2015 22:29:21 +0000 Subject: 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. --- sysdeps/ieee754/ldbl-opt/w_remainderl.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sysdeps/ieee754/ldbl-opt/w_remainderl.c') diff --git a/sysdeps/ieee754/ldbl-opt/w_remainderl.c b/sysdeps/ieee754/ldbl-opt/w_remainderl.c index e450a25bbc..7a344b7709 100644 --- a/sysdeps/ieee754/ldbl-opt/w_remainderl.c +++ b/sysdeps/ieee754/ldbl-opt/w_remainderl.c @@ -3,3 +3,5 @@ #define weak_alias(n,a) #include long_double_symbol (libm, __remainderl, remainderl); +strong_alias (__remainderl, __dreml) +long_double_symbol (libm, __dreml, dreml); -- cgit 1.4.1