This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.26.9000-908-gd17542d


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  d17542d235dd6dd4a83d28997f789543417afe11 (commit)
      from  0ddde474db4e466a991652049888b7dbb8515f69 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=d17542d235dd6dd4a83d28997f789543417afe11

commit d17542d235dd6dd4a83d28997f789543417afe11
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Sat Dec 2 00:11:37 2017 +0000

    Use libm_alias_double for remaining powerpc functions.
    
    Continuing the preparation for additional _FloatN / _FloatNx function
    aliases, this patch makes the remaining double powerpc functions use
    libm_alias_double to define function aliases (with consequent removal
    of the need for local compat symbol handling).  Previous cleanups
    avoid this patch changing installed stripped shared libraries for any
    build-many-glibcs.py configuration (there are still some functions in
    this patch for which the order of double and float aliases changes
    within an individual source file, but in this case this doesn't result
    in changes to the final library).
    
    Tested with build-many-glibcs.py that installed stripped shared
    libraries are unchanged for all its hard-float powerpc configurations.
    
    	* sysdeps/powerpc/power7/fpu/s_logb.c: Include
    	<libm-alias-double.h>.
    	(logb): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include
    	<libm-alias-double.h>.
    	(copysign): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include
    	<libm-alias-double.h>.
    	(lrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include
    	<libm-alias-double.h>.
    	(lround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
    	Include <libm-alias-double.h>.
    	(copysign): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c:
    	Include <libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c:
    	Include <libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include
    	<libm-alias-double.h>.
    	(logb): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c:
    	Include <libm-alias-double.h>.
    	(lrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c:
    	Include <libm-alias-double.h>.
    	(lround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include
    	<libm-alias-double.h>.
    	(lround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include
    	<libm-alias-double.h>.
    	(copysign): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include
    	<libm-alias-double.h>.
    	(lrint): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include
    	<libm-alias-double.h>.
    	(lround): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include
    	<libm-alias-double.h>.
    	(copysign): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	(lrint): Likewise.
    	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	(lround): Likewise.
    	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include
    	<libm-alias-double.h>.
    	(logb): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include
    	<libm-alias-double.h>.
    	(copysign): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	(lrint): Likewise.
    	* sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	(lround): Likewise.
    	* sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	(lround): Likewise.
    	* sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include
    	<libm-alias-double.h>.
    	(copysign): Define using libm_alias_double.
    	* sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	(lrint): Likewise.
    	* sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	(lround): Likewise.
    	* sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include
    	<libm-alias-double.h>.
    	(llrint): Define using libm_alias_double.
    	(lrint): Likewise.
    	* sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include
    	<libm-alias-double.h>.
    	(llround): Define using libm_alias_double.
    	(lround): Likewise.

diff --git a/ChangeLog b/ChangeLog
index e65ca61..3354d09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,117 @@
+2017-12-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/powerpc/power7/fpu/s_logb.c: Include
+	<libm-alias-double.h>.
+	(logb): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/fpu/s_copysign.S: Include
+	<libm-alias-double.h>.
+	(copysign): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/fpu/s_llrint.c: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/fpu/s_llround.c: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/fpu/s_lrint.S: Include
+	<libm-alias-double.h>.
+	(lrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/fpu/s_lround.S: Include
+	<libm-alias-double.h>.
+	(lround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c:
+	Include <libm-alias-double.h>.
+	(copysign): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c:
+	Include <libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c:
+	Include <libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c: Include
+	<libm-alias-double.h>.
+	(logb): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c:
+	Include <libm-alias-double.h>.
+	(lrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c:
+	Include <libm-alias-double.h>.
+	(lround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S: Include
+	<libm-alias-double.h>.
+	(lround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S: Include
+	<libm-alias-double.h>.
+	(copysign): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S: Include
+	<libm-alias-double.h>.
+	(lrint): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S: Include
+	<libm-alias-double.h>.
+	(lround): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c: Include
+	<libm-alias-double.h>.
+	(copysign): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	(lrint): Likewise.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	(lround): Likewise.
+	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c: Include
+	<libm-alias-double.h>.
+	(logb): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc64/fpu/s_copysign.S: Include
+	<libm-alias-double.h>.
+	(copysign): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc64/fpu/s_llrint.S: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	(lrint): Likewise.
+	* sysdeps/powerpc/powerpc64/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	(lround): Likewise.
+	* sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	(lround): Likewise.
+	* sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S: Include
+	<libm-alias-double.h>.
+	(copysign): Define using libm_alias_double.
+	* sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	(lrint): Likewise.
+	* sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	(lround): Likewise.
+	* sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S: Include
+	<libm-alias-double.h>.
+	(llrint): Define using libm_alias_double.
+	(lrint): Likewise.
+	* sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S: Include
+	<libm-alias-double.h>.
+	(llround): Define using libm_alias_double.
+	(lround): Likewise.
+
 2017-12-01  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
diff --git a/sysdeps/powerpc/power7/fpu/s_logb.c b/sysdeps/powerpc/power7/fpu/s_logb.c
index 1c7a4a8..ab8e634 100644
--- a/sysdeps/powerpc/power7/fpu/s_logb.c
+++ b/sysdeps/powerpc/power7/fpu/s_logb.c
@@ -17,6 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* This implementation avoids FP to INT conversions by using VSX
    bitwise instructions over FP values.  */
@@ -68,12 +69,4 @@ __logb (double x)
   /* Test to avoid logb_downward (0.0) == -0.0.  */
   return ret == -0.0 ? 0.0 : ret;
 }
-weak_alias (__logb, logb)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__logb, __logbl)
-weak_alias (__logb, logbl)
-#endif
-
-#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
-compat_symbol (libm, __logb, logbl, GLIBC_2_0);
-#endif
+libm_alias_double (__logb, logb)
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/fpu/s_copysign.S
index 850dded..779dab6 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_copysign.S
+++ b/sysdeps/powerpc/powerpc32/fpu/s_copysign.S
@@ -21,6 +21,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 ENTRY(__copysign)
 /* double [f1] copysign (double [f1] x, double [f2] y);
@@ -40,20 +41,12 @@ L(0):	fnabs   fp1,fp1
 	blr
 	END (__copysign)
 
-weak_alias (__copysign,copysign)
+libm_alias_double (__copysign, copysign)
 
 /* It turns out that it's safe to use this code even for single-precision.  */
 weak_alias (__copysign,copysignf)
 strong_alias(__copysign,__copysignf)
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (__copysign,copysignl)
-strong_alias(__copysign,__copysignl)
-#endif
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __copysign, copysignl, GLIBC_2_0)
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __copysign, copysignl, GLIBC_2_0)
 #endif
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llrint.c b/sysdeps/powerpc/powerpc32/fpu/s_llrint.c
index 13d150c..124740a 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_llrint.c
+++ b/sysdeps/powerpc/powerpc32/fpu/s_llrint.c
@@ -21,6 +21,7 @@
 #include <math_ldbl_opt.h>
 #include <math_private.h>
 #include <stdint.h>
+#include <libm-alias-double.h>
 
 long long int
 __llrint (double x)
@@ -53,11 +54,4 @@ __llrint (double x)
 	return (long long int) (long int) rx << 32;
     }
 }
-weak_alias (__llrint, llrint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
-#endif
+libm_alias_double (__llrint, llrint)
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_llround.c b/sysdeps/powerpc/powerpc32/fpu/s_llround.c
index 5e5a237..ffd56c8 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_llround.c
+++ b/sysdeps/powerpc/powerpc32/fpu/s_llround.c
@@ -21,6 +21,7 @@
 #include <math_ldbl_opt.h>
 #include <math_private.h>
 #include <stdint.h>
+#include <libm-alias-double.h>
 
 /* Round to the nearest integer, with values exactly on a 0.5 boundary
    rounded away from zero, regardless of the current rounding mode.
@@ -80,11 +81,4 @@ __llround (double x)
     }
   return xr;
 }
-weak_alias (__llround, llround)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llround, __llroundl)
-weak_alias (__llround, llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
-#endif
+libm_alias_double (__llround, llround)
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
index 8d54d95..2f4acbd 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
+++ b/sysdeps/powerpc/powerpc32/fpu/s_lrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long int[r3] __lrint (double x[fp1])  */
 ENTRY (__lrint)
@@ -32,15 +33,7 @@ ENTRY (__lrint)
 	blr
 	END (__lrint)
 
-weak_alias (__lrint, lrint)
+libm_alias_double (__lrint, lrint)
 
 strong_alias (__lrint, __lrintf)
 weak_alias (__lrint, lrintf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lrint, __lrintl)
-weak_alias (__lrint, lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/fpu/s_lround.S
index e4ec1bb..f26c580 100644
--- a/sysdeps/powerpc/powerpc32/fpu/s_lround.S
+++ b/sysdeps/powerpc/powerpc32/fpu/s_lround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 	.section	.rodata.cst4,"aM",@progbits,4
 	.align	2
@@ -115,15 +116,7 @@ ENTRY (__lround)
 	b	.Lconvert
 	END (__lround)
 
-weak_alias (__lround, lround)
+libm_alias_double (__lround, lround)
 
 strong_alias (__lround, __lroundf)
 weak_alias (__lround, lroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c
index bddc1ab..13bf654 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_copysign.c
@@ -25,6 +25,7 @@
 #undef __copysign
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__redirect_copysign) __copysign_ppc32 attribute_hidden;
 extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden;
@@ -36,16 +37,8 @@ libc_ifunc (__libm_copysign,
             : __copysign_ppc32);
 
 strong_alias (__libm_copysign, __copysign)
-weak_alias (__copysign, copysign)
+libm_alias_double (__copysign, copysign)
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (__copysign,copysignl)
-strong_alias(__copysign,__copysignl)
-#endif
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
 #endif
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c
index 88357eb..7e14926 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llrint.c
@@ -20,6 +20,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__llrint) __llrint_ppc32 attribute_hidden;
 extern __typeof (__llrint) __llrint_power6 attribute_hidden;
@@ -29,12 +30,4 @@ libc_ifunc (__llrint,
 	    ? __llrint_power6
             : __llrint_ppc32);
 
-weak_alias (__llrint, llrint)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
-#endif
+libm_alias_double (__llrint, llrint)
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c
index caf8953..be56382 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_llround.c
@@ -20,6 +20,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__llround) __llround_ppc32 attribute_hidden;
 extern __typeof (__llround) __llround_power5plus attribute_hidden;
@@ -32,12 +33,4 @@ libc_ifunc (__llround,
 	      ? __llround_power5plus
             : __llround_ppc32);
 
-weak_alias (__llround, llround)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llround, __llroundl)
-weak_alias (__llround, llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
-#endif
+libm_alias_double (__llround, llround)
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c
index f178967..32473ed 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_logb.c
@@ -20,6 +20,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__logb) __logb_ppc32 attribute_hidden;
 extern __typeof (__logb) __logb_power7 attribute_hidden;
@@ -29,13 +30,4 @@ libc_ifunc (__logb,
 	    ? __logb_power7
             : __logb_ppc32);
 
-weak_alias (__logb, logb)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__logb, __logbl)
-weak_alias (__logb, logbl)
-#endif
-
-#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
-compat_symbol (libm, __logb, logbl, GLIBC_2_0);
-#endif
+libm_alias_double (__logb, logb)
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c
index ec7c991..cb134f9 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lrint.c
@@ -20,6 +20,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__lrint) __lrint_ppc32 attribute_hidden;
 extern __typeof (__lrint) __lrint_power6x attribute_hidden;
@@ -29,12 +30,4 @@ libc_ifunc (__lrint,
 	      __lrint_power6x
             : __lrint_ppc32);
 
-weak_alias (__lrint, lrint)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__lrint, lrintl)
-strong_alias (__lrint, __lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1);
-#endif
+libm_alias_double (__lrint, lrint)
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c
index fdc0c3d..e533623 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/multiarch/s_lround.c
@@ -20,6 +20,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__lround) __lround_ppc32 attribute_hidden;
 extern __typeof (__lround) __lround_power5plus attribute_hidden;
@@ -32,12 +33,4 @@ libc_ifunc (__lround,
 		  __lround_power5plus
             : __lround_ppc32);
 
-weak_alias (__lround, lround)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1);
-#endif
+libm_alias_double (__lround, lround)
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S b/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S
index d16dbb8..1284f27 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long long int[r3, r4] __llrint (double x[fp1])  */
 ENTRY (__llrint)
@@ -35,12 +36,4 @@ ENTRY (__llrint)
 	blr
 	END (__llrint)
 
-weak_alias (__llrint, llrint)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
-#endif
+libm_alias_double (__llrint, llrint)
diff --git a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S
index 24bd533..45926fd 100644
--- a/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
  .section .rodata.cst8,"aM",@progbits,8
  .align 3
@@ -92,15 +93,7 @@ ENTRY (__llround)
 	b	.Lconvert
 	END (__llround)
 
-weak_alias (__llround, llround)
+libm_alias_double (__llround, llround)
 
 strong_alias (__llround, __llroundf)
 weak_alias (__llround, llroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S
index adbc7eb..205e68b 100644
--- a/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long [r3] llround (float x [fp1])
    IEEE 1003.1 lround function.  IEEE specifies "round to the nearest
@@ -45,15 +46,7 @@ ENTRY (__llround)
 	blr
 	END (__llround)
 
-weak_alias (__llround, llround)
+libm_alias_double (__llround, llround)
 
 strong_alias (__llround, __llroundf)
 weak_alias (__llround, llroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S
index f618463..acd0cd9 100644
--- a/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S
+++ b/sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S
@@ -17,6 +17,7 @@
    <http://www.gnu.org/licenses/>.  */
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long [r3] lround (float x [fp1])
    IEEE 1003.1 lround function.  IEEE specifies "round to the nearest
@@ -43,15 +44,7 @@ ENTRY (__lround)
 	blr
 	END (__lround)
 
-weak_alias (__lround, lround)
+libm_alias_double (__lround, lround)
 
 strong_alias (__lround, __lroundf)
 weak_alias (__lround, lroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S
index d6cc801..a93407a 100644
--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S
+++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S
@@ -19,6 +19,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* double [f1] copysign (double [f1] x, double [f2] y);
    copysign(x,y) returns a value with the magnitude of x and
@@ -34,7 +35,7 @@ EALIGN (__copysign, 4, 0)
 END (__copysign)
 
 hidden_def (__copysign)
-weak_alias (__copysign, copysign)
+libm_alias_double (__copysign, copysign)
 
 /* It turns out that the 'double' version will also always work for
    single-precision.  */
@@ -42,17 +43,6 @@ strong_alias (__copysign, __copysignf)
 hidden_def (__copysignf)
 weak_alias (__copysignf, copysignf)
 
-#ifdef NO_LONG_DOUBLE
-strong_alias (__copysign, __copysignl)
-weak_alias (__copysign, copysignl)
-#endif
-
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
-compat_symbol (libm, copysign, copysignl, GLIBC_2_0)
-# endif
-#else
-# if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, copysign, copysignl, GLIBC_2_0);
-# endif
 #endif
diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S
index 326e773..0bf3c70 100644
--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S
+++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long long int[r3, r4] __llrint (double x[fp1])  */
 ENTRY (__llrint)
@@ -35,12 +36,4 @@ ENTRY (__llrint)
 	blr
 	END (__llrint)
 
-weak_alias (__llrint, llrint)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
-#endif
+libm_alias_double (__llrint, llrint)
diff --git a/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S b/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S
index 83ba999..4abaefd 100644
--- a/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long [r3] llround (float x [fp1])
    IEEE 1003.1 lround function.  IEEE specifies "round to the nearest
@@ -45,15 +46,7 @@ ENTRY (__llround)
 	blr
 	END (__llround)
 
-weak_alias (__llround, llround)
+libm_alias_double (__llround, llround)
 
 strong_alias (__llround, __llroundf)
 weak_alias (__llround, llroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S
index cb78051..eb32ea6 100644
--- a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S
+++ b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 	.machine	"power6"
 /* long int[r3] __lrint (double x[fp1])  */
@@ -27,15 +28,7 @@ ENTRY (__lrint)
 	blr
 	END (__lrint)
 
-weak_alias (__lrint, lrint)
+libm_alias_double (__lrint, lrint)
 
 strong_alias (__lrint, __lrintf)
 weak_alias (__lrint, lrintf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lrint, __lrintl)
-weak_alias (__lrint, lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S
index 05b13cd..ec2c208 100644
--- a/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S
+++ b/sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long [r3] lround (float x [fp1])
    IEEE 1003.1 lround function.  IEEE specifies "round to the nearest
@@ -37,15 +38,7 @@ ENTRY (__lround)
 	blr
 	END (__lround)
 
-weak_alias (__lround, lround)
+libm_alias_double (__lround, lround)
 
 strong_alias (__lround, __lroundf)
 weak_alias (__lround, lroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c
index 2bfb625..1bd971a 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c
+++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_copysign.c
@@ -25,6 +25,7 @@
 #undef __copysign
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__redirect_copysign) __copysign_ppc64 attribute_hidden;
 extern __typeof (__redirect_copysign) __copysign_power6 attribute_hidden;
@@ -36,16 +37,8 @@ libc_ifunc (__libm_copysign,
             : __copysign_ppc64);
 
 strong_alias (__libm_copysign, __copysign)
-weak_alias (__copysign, copysign)
+libm_alias_double (__copysign, copysign)
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (__copysign,copysignl)
-strong_alias(__copysign,__copysignl)
-#endif
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __copysign, copysignl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __copysign, copysignl, GLIBC_2_0);
 #endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c
index 8db494c..6c6e9ea 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c
+++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c
@@ -27,6 +27,7 @@
 #undef __lrint
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__llrint) __llrint_ppc64 attribute_hidden;
 extern __typeof (__llrint) __llrint_power6x attribute_hidden;
@@ -39,22 +40,8 @@ libc_ifunc (__llrint,
 	      ? __llrint_power6x
             : __llrint_ppc64);
 
-weak_alias (__llrint, llrint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1);
-#endif
+libm_alias_double (__llrint, llrint)
 
 /* long has the same width as long long on PowerPC64.  */
 strong_alias (__llrint, __lrint)
-weak_alias (__lrint, lrint)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__lrint, __lrintl)
-weak_alias (__lrint, lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1);
-#endif
+libm_alias_double (__lrint, lrint)
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
index b6c70c2..7d55d1b 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
+++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_llround.c
@@ -23,6 +23,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__llround) __llround_ppc64 attribute_hidden;
 extern __typeof (__llround) __llround_power5plus attribute_hidden;
@@ -38,25 +39,10 @@ libc_ifunc (__llround,
 		? __llround_power5plus
             : __llround_ppc64);
 
-weak_alias (__llround, llround)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1);
-#endif
+libm_alias_double (__llround, llround)
 
 /* long has the same width as long long on PPC64.  */
 #undef lround
 #undef __lround
 strong_alias (__llround, __lround)
-weak_alias (__llround, lround)
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llround, __llroundl)
-weak_alias (__llround, llroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1);
-#endif
+libm_alias_double (__lround, lround)
diff --git a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c
index c2e9f4d..7c23a3c 100644
--- a/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c
+++ b/sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c
@@ -20,6 +20,7 @@
 #include <math_ldbl_opt.h>
 #include <shlib-compat.h>
 #include "init-arch.h"
+#include <libm-alias-double.h>
 
 extern __typeof (__logb) __logb_ppc64 attribute_hidden;
 extern __typeof (__logb) __logb_power7 attribute_hidden;
@@ -29,13 +30,4 @@ libc_ifunc (__logb,
 	    ? __logb_power7
             : __logb_ppc64);
 
-weak_alias (__logb, logb)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__logb, __logbl)
-weak_alias (__logb, logbl)
-#endif
-
-#if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
-compat_symbol (libm, __logb, logbl, GLIBC_2_0);
-#endif
+libm_alias_double (__logb, logb)
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_copysign.S b/sysdeps/powerpc/powerpc64/fpu/s_copysign.S
index 0dd9ce0..ba4c43f 100644
--- a/sysdeps/powerpc/powerpc64/fpu/s_copysign.S
+++ b/sysdeps/powerpc/powerpc64/fpu/s_copysign.S
@@ -21,6 +21,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 ENTRY_TOCLESS (__copysign)
 	CALL_MCOUNT 0
@@ -40,20 +41,12 @@ L(0):	fnabs   fp1,fp1
 	blr
 	END (__copysign)
 
-weak_alias (__copysign,copysign)
+libm_alias_double (__copysign, copysign)
 
 /* It turns out that it's safe to use this code even for single-precision.  */
 weak_alias (__copysign,copysignf)
 strong_alias(__copysign,__copysignf)
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (__copysign,copysignl)
-strong_alias(__copysign,__copysignl)
-#endif
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __copysign, copysignl, GLIBC_2_0)
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __copysign, copysignl, GLIBC_2_0)
 #endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llrint.S b/sysdeps/powerpc/powerpc64/fpu/s_llrint.S
index 9fe0b22..64255c2 100644
--- a/sysdeps/powerpc/powerpc64/fpu/s_llrint.S
+++ b/sysdeps/powerpc/powerpc64/fpu/s_llrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long long int[r3] __llrint (double x[fp1])  */
 ENTRY_TOCLESS (__llrint)
@@ -32,8 +33,8 @@ ENTRY_TOCLESS (__llrint)
 	END (__llrint)
 
 strong_alias (__llrint, __lrint)
-weak_alias (__llrint, llrint)
-weak_alias (__lrint, lrint)
+libm_alias_double (__llrint, llrint)
+libm_alias_double (__lrint, lrint)
 /* The double version also works for single-precision as both float and
    double parameters are passed in 64bit FPRs and both versions are expected
    to return [long] long type.  */
@@ -41,14 +42,3 @@ strong_alias (__llrint, __llrintf)
 weak_alias (__llrint, llrintf)
 strong_alias (__lrint, __lrintf)
 weak_alias (__lrint, lrintf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-strong_alias (__lrint, __lrintl)
-weak_alias (__lrint, lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/fpu/s_llround.S
index 0803ba1..3b8365c 100644
--- a/sysdeps/powerpc/powerpc64/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc64/fpu/s_llround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 	.section	".toc","aw"
 .LC0:	/* 2^52 */
@@ -81,16 +82,5 @@ ENTRY (__llround)
 	END (__llround)
 
 strong_alias (__llround, __lround)
-weak_alias (__llround, llround)
-weak_alias (__lround, lround)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif
+libm_alias_double (__llround, llround)
+libm_alias_double (__lround, lround)
diff --git a/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S
index ec42993..9d3261a 100644
--- a/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long long [r3] llround (float x [fp1])
    IEEE 1003.1 llround function.  IEEE specifies "round to the nearest
@@ -43,8 +44,8 @@ ENTRY_TOCLESS (__llround, 4)
 	END (__llround)
 
 strong_alias (__llround, __lround)
-weak_alias (__llround, llround)
-weak_alias (__lround, lround)
+libm_alias_double (__llround, llround)
+libm_alias_double (__lround, lround)
 /* The double version also works for single-precision as both float and
    double parameters are passed in 64bit FPRs and both versions are expected
    to return [long] long type.  */
@@ -52,14 +53,3 @@ strong_alias (__llround, __llroundf)
 weak_alias (__llround, llroundf)
 strong_alias (__lround, __lroundf)
 weak_alias (__lround, lroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S b/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S
index a64f1b8..b994c8e 100644
--- a/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S
+++ b/sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S
@@ -19,6 +19,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* double [f1] copysign (double [f1] x, double [f2] y);
    copysign(x,y) returns a value with the magnitude of x and
@@ -34,7 +35,7 @@ ENTRY_TOCLESS (__copysign, 4)
 END (__copysign)
 
 hidden_def (__copysign)
-weak_alias (__copysign, copysign)
+libm_alias_double (__copysign, copysign)
 
 /* It turns out that the 'double' version will also always work for
    single-precision.  */
@@ -42,17 +43,6 @@ strong_alias (__copysign, __copysignf)
 hidden_def (__copysignf)
 weak_alias (__copysignf, copysignf)
 
-#ifdef NO_LONG_DOUBLE
-strong_alias (__copysign, __copysignl)
-weak_alias (__copysign, copysignl)
-#endif
-
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
-compat_symbol (libm, copysign, copysignl, GLIBC_2_0)
-# endif
-#else
-# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, copysign, copysignl, GLIBC_2_0);
-# endif
 #endif
diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S
index 61abdd1..0ba902c 100644
--- a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S
+++ b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 	.machine	"power6"
 /* long long int[r3] __llrint (double x[fp1])  */
@@ -29,8 +30,8 @@ ENTRY_TOCLESS (__llrint)
 	END (__llrint)
 
 strong_alias (__llrint, __lrint)
-weak_alias (__llrint, llrint)
-weak_alias (__lrint, lrint)
+libm_alias_double (__llrint, llrint)
+libm_alias_double (__lrint, lrint)
 /* The double version also works for single-precision as both float and
    double parameters are passed in 64bit FPRs and both versions are expected
    to return [long] long type.  */
@@ -38,14 +39,3 @@ strong_alias (__llrint, __llrintf)
 weak_alias (__llrint, llrintf)
 strong_alias (__lrint, __lrintf)
 weak_alias (__lrint, lrintf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-strong_alias (__lrint, __lrintl)
-weak_alias (__lrint, lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S
index d58b338..1c12e77 100644
--- a/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 /* long long [r3] llround (float x [fp1])
    IEEE 1003.1 llround function.  IEEE specifies "round to the nearest
@@ -39,8 +40,8 @@ ENTRY_TOCLESS (__llround)
 	END (__llround)
 
 strong_alias (__llround, __lround)
-weak_alias (__llround, llround)
-weak_alias (__lround, lround)
+libm_alias_double (__llround, llround)
+libm_alias_double (__lround, lround)
 /* The double version also works for single-precision as both float and
    double parameters are passed in 64bit FPRs and both versions are expected
    to return [long] long type.  */
@@ -48,14 +49,3 @@ strong_alias (__llround, __llroundf)
 weak_alias (__llround, llroundf)
 strong_alias (__lround, __lroundf)
 weak_alias (__lround, lroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S b/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S
index f1476de..815b26b 100644
--- a/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S
+++ b/sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S
@@ -18,6 +18,7 @@
 
 #include <sysdep.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 #define MFVSRD_R3_V1  .long 0x7c230066     /* mfvsrd  r3,vs1  */
 
@@ -30,8 +31,8 @@ ENTRY_TOCLESS (__llrint)
 END (__llrint)
 
 strong_alias (__llrint, __lrint)
-weak_alias (__llrint, llrint)
-weak_alias (__lrint, lrint)
+libm_alias_double (__llrint, llrint)
+libm_alias_double (__lrint, lrint)
 /* The double version also works for single-precision as both float and
    double parameters are passed in 64bit FPRs and both versions are expected
    to return [long] long type.  */
@@ -39,14 +40,3 @@ strong_alias (__llrint, __llrintf)
 weak_alias (__llrint, llrintf)
 strong_alias (__lrint, __lrintf)
 weak_alias (__lrint, lrintf)
-
-#ifdef NO_LONG_DOUBLE
-strong_alias (__llrint, __llrintl)
-weak_alias (__llrint, llrintl)
-strong_alias (__lrint, __lrintl)
-weak_alias (__lrint, lrintl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llrint, llrintl, GLIBC_2_1)
-compat_symbol (libm, __lrint, lrintl, GLIBC_2_1)
-#endif
diff --git a/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S b/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S
index 1dc5142..6b55025 100644
--- a/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S
+++ b/sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S
@@ -19,6 +19,7 @@
 #include <sysdep.h>
 #include <endian.h>
 #include <math_ldbl_opt.h>
+#include <libm-alias-double.h>
 
 #define MFVSRD_R3_V1  .long 0x7c230066     /* mfvsrd  r3,vs1  */
 
@@ -33,8 +34,8 @@ ENTRY_TOCLESS (__llround)
 END (__llround)
 
 strong_alias (__llround, __lround)
-weak_alias (__llround, llround)
-weak_alias (__lround, lround)
+libm_alias_double (__llround, llround)
+libm_alias_double (__lround, lround)
 /* The double version also works for single-precision as both float and
    double parameters are passed in 64bit FPRs and both versions are expected
    to return [long] long type.  */
@@ -42,14 +43,3 @@ strong_alias (__llround, __llroundf)
 weak_alias (__llround, llroundf)
 strong_alias (__lround, __lroundf)
 weak_alias (__lround, lroundf)
-
-#ifdef NO_LONG_DOUBLE
-weak_alias (__llround, llroundl)
-strong_alias (__llround, __llroundl)
-weak_alias (__lround, lroundl)
-strong_alias (__lround, __lroundl)
-#endif
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __llround, llroundl, GLIBC_2_1)
-compat_symbol (libm, __lround, lroundl, GLIBC_2_1)
-#endif

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |  114 ++++++++++++++++++++
 sysdeps/powerpc/power7/fpu/s_logb.c                |   11 +--
 sysdeps/powerpc/powerpc32/fpu/s_copysign.S         |   13 +--
 sysdeps/powerpc/powerpc32/fpu/s_llrint.c           |   10 +--
 sysdeps/powerpc/powerpc32/fpu/s_llround.c          |   10 +--
 sysdeps/powerpc/powerpc32/fpu/s_lrint.S            |   11 +--
 sysdeps/powerpc/powerpc32/fpu/s_lround.S           |   11 +--
 .../powerpc32/power4/fpu/multiarch/s_copysign.c    |   13 +--
 .../powerpc32/power4/fpu/multiarch/s_llrint.c      |   11 +--
 .../powerpc32/power4/fpu/multiarch/s_llround.c     |   11 +--
 .../powerpc32/power4/fpu/multiarch/s_logb.c        |   12 +--
 .../powerpc32/power4/fpu/multiarch/s_lrint.c       |   11 +--
 .../powerpc32/power4/fpu/multiarch/s_lround.c      |   11 +--
 sysdeps/powerpc/powerpc32/power4/fpu/s_llrint.S    |   11 +--
 sysdeps/powerpc/powerpc32/power4/fpu/s_llround.S   |   11 +--
 sysdeps/powerpc/powerpc32/power5+/fpu/s_llround.S  |   11 +--
 sysdeps/powerpc/powerpc32/power5+/fpu/s_lround.S   |   11 +--
 sysdeps/powerpc/powerpc32/power6/fpu/s_copysign.S  |   16 +---
 sysdeps/powerpc/powerpc32/power6/fpu/s_llrint.S    |   11 +--
 sysdeps/powerpc/powerpc32/power6/fpu/s_llround.S   |   11 +--
 sysdeps/powerpc/powerpc32/power6x/fpu/s_lrint.S    |   11 +--
 sysdeps/powerpc/powerpc32/power6x/fpu/s_lround.S   |   11 +--
 .../powerpc/powerpc64/fpu/multiarch/s_copysign.c   |   13 +--
 sysdeps/powerpc/powerpc64/fpu/multiarch/s_llrint.c |   19 +---
 .../powerpc/powerpc64/fpu/multiarch/s_llround.c    |   20 +---
 sysdeps/powerpc/powerpc64/fpu/multiarch/s_logb.c   |   12 +--
 sysdeps/powerpc/powerpc64/fpu/s_copysign.S         |   13 +--
 sysdeps/powerpc/powerpc64/fpu/s_llrint.S           |   16 +---
 sysdeps/powerpc/powerpc64/fpu/s_llround.S          |   16 +---
 sysdeps/powerpc/powerpc64/power5+/fpu/s_llround.S  |   16 +---
 sysdeps/powerpc/powerpc64/power6/fpu/s_copysign.S  |   16 +---
 sysdeps/powerpc/powerpc64/power6x/fpu/s_llrint.S   |   16 +---
 sysdeps/powerpc/powerpc64/power6x/fpu/s_llround.S  |   16 +---
 sysdeps/powerpc/powerpc64/power8/fpu/s_llrint.S    |   16 +---
 sysdeps/powerpc/powerpc64/power8/fpu/s_llround.S   |   16 +---
 35 files changed, 197 insertions(+), 361 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]