Use libm_alias_ldouble in sysdeps/i386/fpu.
authorJoseph Myers <joseph@codesourcery.com>
Fri, 17 Nov 2017 22:54:39 +0000 (22:54 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Fri, 17 Nov 2017 22:54:39 +0000 (22:54 +0000)
This patch continues the preparation for additional _FloatN / _FloatNx
function aliases by using libm_alias_ldouble for sysdeps/i386/fpu long
double functions, so that they can have _Float64x aliases added in
future.

Tested for x86_64 (which includes some of these implementations) and
x86, including build-many-glibcs.py tests that installed stripped
shared libraries are unchanged by the patch.

* sysdeps/i386/fpu/e_expl.S: Include <libm-alias-ldouble.h>.
[USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_asinhl.S: Include <libm-alias-ldouble.h>.
(asinhl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_atanl.c: Include <libm-alias-ldouble.h>.
(atanl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_cbrtl.S: Include <libm-alias-ldouble.h>.
(cbrtl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_ceill.S: Include <libm-alias-ldouble.h>.
(ceill): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_copysignl.S: Include <libm-alias-ldouble.h>.
(copysignl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_fabsl.S: Include <libm-alias-ldouble.h>.
(fabsl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_floorl.S: Include <libm-alias-ldouble.h>.
(floorl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
(fmaxl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
(fminl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_frexpl.S: Include <libm-alias-ldouble.h>.
(frexpl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_llrintl.S: Include <libm-alias-ldouble.h>.
(llrintl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_logbl.c: Include <libm-alias-ldouble.h>.
(logbl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_lrintl.S: Include <libm-alias-ldouble.h>.
(lrintl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_nearbyintl.S: Include <libm-alias-ldouble.h>.
(nearbyintl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_nextafterl.c: Include <libm-alias-ldouble.h>.
(nextafterl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_remquol.S: Include <libm-alias-ldouble.h>.
(remquol): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_rintl.c: Include <libm-alias-ldouble.h>.
(rintl): Define using libm_alias_ldouble.
* sysdeps/i386/fpu/s_truncl.S: Include <libm-alias-ldouble.h>.
(truncl): Define using libm_alias_ldouble.
* sysdeps/i386/i686/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
(fmaxl): Define using libm_alias_ldouble.
* sysdeps/i386/i686/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
(fminl): Define using libm_alias_ldouble.

22 files changed:
ChangeLog
sysdeps/i386/fpu/e_expl.S
sysdeps/i386/fpu/s_asinhl.S
sysdeps/i386/fpu/s_atanl.c
sysdeps/i386/fpu/s_cbrtl.S
sysdeps/i386/fpu/s_ceill.S
sysdeps/i386/fpu/s_copysignl.S
sysdeps/i386/fpu/s_fabsl.S
sysdeps/i386/fpu/s_floorl.S
sysdeps/i386/fpu/s_fmaxl.S
sysdeps/i386/fpu/s_fminl.S
sysdeps/i386/fpu/s_frexpl.S
sysdeps/i386/fpu/s_llrintl.S
sysdeps/i386/fpu/s_logbl.c
sysdeps/i386/fpu/s_lrintl.S
sysdeps/i386/fpu/s_nearbyintl.S
sysdeps/i386/fpu/s_nextafterl.c
sysdeps/i386/fpu/s_remquol.S
sysdeps/i386/fpu/s_rintl.c
sysdeps/i386/fpu/s_truncl.S
sysdeps/i386/i686/fpu/s_fmaxl.S
sysdeps/i386/i686/fpu/s_fminl.S

index 29cb084..ed34dd0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,48 @@
 2017-11-17  Joseph Myers  <joseph@codesourcery.com>
 
+       * sysdeps/i386/fpu/e_expl.S: Include <libm-alias-ldouble.h>.
+       [USE_AS_EXPM1L] (expm1l): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_asinhl.S: Include <libm-alias-ldouble.h>.
+       (asinhl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_atanl.c: Include <libm-alias-ldouble.h>.
+       (atanl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_cbrtl.S: Include <libm-alias-ldouble.h>.
+       (cbrtl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_ceill.S: Include <libm-alias-ldouble.h>.
+       (ceill): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_copysignl.S: Include <libm-alias-ldouble.h>.
+       (copysignl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_fabsl.S: Include <libm-alias-ldouble.h>.
+       (fabsl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_floorl.S: Include <libm-alias-ldouble.h>.
+       (floorl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
+       (fmaxl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
+       (fminl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_frexpl.S: Include <libm-alias-ldouble.h>.
+       (frexpl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_llrintl.S: Include <libm-alias-ldouble.h>.
+       (llrintl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_logbl.c: Include <libm-alias-ldouble.h>.
+       (logbl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_lrintl.S: Include <libm-alias-ldouble.h>.
+       (lrintl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_nearbyintl.S: Include <libm-alias-ldouble.h>.
+       (nearbyintl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_nextafterl.c: Include <libm-alias-ldouble.h>.
+       (nextafterl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_remquol.S: Include <libm-alias-ldouble.h>.
+       (remquol): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_rintl.c: Include <libm-alias-ldouble.h>.
+       (rintl): Define using libm_alias_ldouble.
+       * sysdeps/i386/fpu/s_truncl.S: Include <libm-alias-ldouble.h>.
+       (truncl): Define using libm_alias_ldouble.
+       * sysdeps/i386/i686/fpu/s_fmaxl.S: Include <libm-alias-ldouble.h>.
+       (fmaxl): Define using libm_alias_ldouble.
+       * sysdeps/i386/i686/fpu/s_fminl.S: Include <libm-alias-ldouble.h>.
+       (fminl): Define using libm_alias_ldouble.
+
        * bits/floatn-common.h [!__ASSEMBLER]: Disable everything related
        to C syntax instead of availability and properties of types.
        * bits/floatn.h [!__ASSEMBLER]: Likewise.
index 7d75fe2..18a627e 100644 (file)
@@ -22,6 +22,7 @@
  * -- moshier@na-net.ornl.gov
  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 #include <i386-math-asm.h>
 
@@ -220,7 +221,7 @@ ENTRY(IEEE754_EXPL)
 END(IEEE754_EXPL)
 #ifdef USE_AS_EXPM1L
 libm_hidden_def (__expm1l)
-weak_alias (__expm1l, expm1l)
+libm_alias_ldouble (__expm1, expm1)
 #else
 strong_alias (IEEE754_EXPL, EXPL_FINITE)
 #endif
index f31a267..e1d6ef7 100644 (file)
@@ -17,6 +17,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
        .section .rodata
@@ -141,4 +142,4 @@ ENTRY(__asinhl)
        fchs
 4:     ret
 END(__asinhl)
-weak_alias (__asinhl, asinhl)
+libm_alias_ldouble (__asinh, asinh)
index b7dba88..2b02ac1 100644 (file)
@@ -6,6 +6,7 @@
  */
 
 #include <math_private.h>
+#include <libm-alias-ldouble.h>
 
 long double
 __atanl (long double x)
@@ -19,4 +20,4 @@ __atanl (long double x)
   return res;
 }
 
-weak_alias (__atanl, atanl)
+libm_alias_ldouble (__atan, atan)
index e4a72d2..b5f4867 100644 (file)
@@ -18,6 +18,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
         .section .rodata
@@ -226,4 +227,4 @@ ENTRY(__cbrtl)
        fadd    %st
        ret
 END(__cbrtl)
-weak_alias (__cbrtl, cbrtl)
+libm_alias_ldouble (__cbrt, cbrt)
index 7c08f43..70d5c6c 100644 (file)
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
 RCSID("$NetBSD: $")
@@ -37,4 +38,4 @@ ENTRY(__ceill)
        cfi_adjust_cfa_offset (-32)
        ret
 END (__ceill)
-weak_alias (__ceill, ceill)
+libm_alias_ldouble (__ceil, ceil)
index 2163e7b..671ce68 100644 (file)
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
 RCSID("$NetBSD: $")
@@ -18,4 +19,4 @@ ENTRY(__copysignl)
        fldt    4(%esp)
        ret
 END (__copysignl)
-weak_alias (__copysignl, copysignl)
+libm_alias_ldouble (__copysign, copysign)
index a12a3e0..6642ed4 100644 (file)
@@ -1,3 +1,4 @@
+#include <libm-alias-ldouble.h>
 #include <sysdep.h>
 
        .text
@@ -6,4 +7,4 @@ ENTRY(__fabsl)
        fabs
        ret
 END(__fabsl)
-weak_alias (__fabsl, fabsl)
+libm_alias_ldouble (__fabs, fabs)
index dc74a0c..f85b542 100644 (file)
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
 RCSID("$NetBSD: $")
@@ -37,4 +38,4 @@ ENTRY(__floorl)
        cfi_adjust_cfa_offset (-32)
        ret
 END (__floorl)
-weak_alias (__floorl, floorl)
+libm_alias_ldouble (__floor, floor)
index 6816292..51264c4 100644 (file)
@@ -17,6 +17,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <sysdep.h>
 
        .text
@@ -68,4 +69,4 @@ ENTRY(__fmaxl)
        faddp
        ret
 END(__fmaxl)
-weak_alias (__fmaxl, fmaxl)
+libm_alias_ldouble (__fmax, fmax)
index 12ef21f..d496521 100644 (file)
@@ -17,6 +17,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <sysdep.h>
 
        .text
@@ -68,4 +69,4 @@ ENTRY(__fminl)
        faddp
        ret
 END(__fminl)
-weak_alias (__fminl, fminl)
+libm_alias_ldouble (__fmin, fmin)
index 04f2888..5d71c90 100644 (file)
@@ -17,6 +17,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
        .section .rodata
@@ -89,4 +90,4 @@ ENTRY (__frexpl)
        movl    %ecx, (%eax)
        ret
 END (__frexpl)
-weak_alias (__frexpl, frexpl)
+libm_alias_ldouble (__frexp, frexp)
index 7b48c02..87c11b1 100644 (file)
@@ -18,6 +18,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <sysdep.h>
 
        .text
@@ -33,4 +34,4 @@ ENTRY(__llrintl)
        cfi_adjust_cfa_offset (-4)
        ret
 END(__llrintl)
-weak_alias (__llrintl, llrintl)
+libm_alias_ldouble (__llrint, llrint)
index 391e2db..601d873 100644 (file)
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#include <libm-alias-ldouble.h>
 #include <math_private.h>
 
 long double
@@ -16,4 +17,4 @@ __logbl (long double x)
   return res;
 }
 
-weak_alias (__logbl, logbl)
+libm_alias_ldouble (__logb, logb)
index ba6dbdf..b55f50c 100644 (file)
@@ -18,6 +18,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <sysdep.h>
 
        .text
@@ -31,4 +32,4 @@ ENTRY(__lrintl)
        cfi_adjust_cfa_offset (-4)
        ret
 END(__lrintl)
-weak_alias (__lrintl, lrintl)
+libm_alias_ldouble (__lrint, lrint)
index 3b7d1e2..852e1f6 100644 (file)
@@ -4,6 +4,7 @@
  */
 /* Adapted for use as nearbyint by Ulrich Drepper <drepper@cygnus.com>.  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
 ENTRY(__nearbyintl)
@@ -20,4 +21,4 @@ ENTRY(__nearbyintl)
        cfi_adjust_cfa_offset (-32)
        ret
 END (__nearbyintl)
-weak_alias (__nearbyintl, nearbyintl)
+libm_alias_ldouble (__nearbyint, nearbyint)
index 92f53ab..0ad2ea0 100644 (file)
@@ -29,6 +29,7 @@ static char rcsid[] = "$NetBSD: $";
 #include <errno.h>
 #include <math.h>
 #include <math_private.h>
+#include <libm-alias-ldouble.h>
 
 long double __nextafterl(long double x, long double y)
 {
@@ -120,6 +121,6 @@ long double __nextafterl(long double x, long double y)
        SET_LDOUBLE_WORDS(x,esx,hx,lx);
        return x;
 }
-weak_alias (__nextafterl, nextafterl)
+libm_alias_ldouble (__nextafter, nextafter)
 strong_alias (__nextafterl, __nexttowardl)
 weak_alias (__nextafterl, nexttowardl)
index f3d84fc..f02cc10 100644 (file)
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
 #define PARMS  4               /* no space for saved regs */
@@ -42,4 +43,4 @@ ENTRY (__remquol)
 
        ret
 END (__remquol)
-weak_alias (__remquol, remquol)
+libm_alias_ldouble (__remquo, remquo)
index 66af9cb..5900435 100644 (file)
@@ -4,6 +4,7 @@
  * Public domain.
  */
 
+#include <libm-alias-ldouble.h>
 #include <math_private.h>
 
 long double
@@ -15,4 +16,4 @@ __rintl (long double x)
   return res;
 }
 
-weak_alias (__rintl, rintl)
+libm_alias_ldouble (__rint, rint)
index a884123..62083f9 100644 (file)
@@ -17,6 +17,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <machine/asm.h>
 
 ENTRY(__truncl)
@@ -37,4 +38,4 @@ ENTRY(__truncl)
        cfi_adjust_cfa_offset (-32)
        ret
 END(__truncl)
-weak_alias (__truncl, truncl)
+libm_alias_ldouble (__trunc, trunc)
index 3f6c21c..a669eed 100644 (file)
@@ -18,6 +18,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <sysdep.h>
+#include <libm-alias-ldouble.h>
 
        .text
 ENTRY(__fmaxl)
@@ -55,4 +56,4 @@ ENTRY(__fmaxl)
        faddp
        ret
 END(__fmaxl)
-weak_alias (__fmaxl, fmaxl)
+libm_alias_ldouble (__fmax, fmax)
index e1cb83f..5fdda36 100644 (file)
@@ -17,6 +17,7 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <libm-alias-ldouble.h>
 #include <sysdep.h>
 
        .text
@@ -55,4 +56,4 @@ ENTRY(__fminl)
        faddp
        ret
 END(__fminl)
-weak_alias (__fminl, fminl)
+libm_alias_ldouble (__fmin, fmin)