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-547-ga8dce61


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  a8dce6197a646fcf870dd2e87069eba3c99099e1 (commit)
      from  bedac136717a1c26fa579aca82124ce3c22254bf (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=a8dce6197a646fcf870dd2e87069eba3c99099e1

commit a8dce6197a646fcf870dd2e87069eba3c99099e1
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Oct 9 22:04:18 2017 +0000

    Use generic macros for lgamma_r function aliases.
    
    Continuing the use of generic macros for defining libm function
    aliases, in preparation for adding more _FloatN / _FloatNx function
    names, this patch makes the lgamma_r functions use such macros.
    
    declare_mgen_alias_r becomes a standard macro in math-type-macros.h
    instead of being locally defined in w_lgamma_r_templace.c.  This in
    turn must be defined by each math-type-macros-<type>.h.  Rather than
    providing an unused default in math-type-macros.h, that header is made
    to give an error if math-type-macros-<type>.h failed to define
    declare_mgen_alias or declare_mgen_alias_r.  The compat lgamma_r
    wrappers are updated similarly.  The ldbl-opt versions are removed as
    no longer needed.
    
    Tested for x86_64, and with build-many-glibcs.py.  Installed stripped
    shared libraries are unchanged except for powerpc64le (where the usual
    issue applies that an ldbl-opt long double function previously used
    long_double_symbol unconditionally and now the symbol versions on
    powerpc64le mean weak_alias is used instead, resulting in the same
    symbol versions in the final shared library but still enough
    difference in the input objects for that library not to be
    byte-identical).
    
    	* sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give
    	error.  Remove default definition of declare_mgen_alias.
    	[!declare_mgen_alias_r]: Likewise.
    	* sysdeps/generic/math-type-macros-double.h
    	[!declare_mgen_alias_r] (declare_mgen_alias_r): New macro.
    	* sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r]
    	(declare_mgen_alias_r): Likewise.
    	* sysdeps/generic/math-type-macros-float128.h
    	[!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
    	* sysdeps/generic/math-type-macros-ldouble.h
    	[!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
    	* math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove
    	macro.
    	(declare_mgen_alias_r_s): Likewise.
    	(declare_mgen_alias_r): Likewise.
    	* math/w_lgamma_r_compat.c: Include <libm-alias-double.h>.
    	(lgamma_r): Define using libm_alias_double_r.
    	* math/w_lgammaf_r_compat.c: Include <libm-alias-float.h>.
    	(lgammaf_r): Define using libm_alias_float_r.
    	* math/w_lgammal_r_compat.c: Include <libm-alias-ldouble.h>.
    	(lgammal_r): Define using libm_alias_ldouble_r.
    	* sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file.
    	* sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.

diff --git a/ChangeLog b/ChangeLog
index b8695b2..8f53a08 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2017-10-09  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give
+	error.  Remove default definition of declare_mgen_alias.
+	[!declare_mgen_alias_r]: Likewise.
+	* sysdeps/generic/math-type-macros-double.h
+	[!declare_mgen_alias_r] (declare_mgen_alias_r): New macro.
+	* sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r]
+	(declare_mgen_alias_r): Likewise.
+	* sysdeps/generic/math-type-macros-float128.h
+	[!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
+	* sysdeps/generic/math-type-macros-ldouble.h
+	[!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
+	* math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove
+	macro.
+	(declare_mgen_alias_r_s): Likewise.
+	(declare_mgen_alias_r): Likewise.
+	* math/w_lgamma_r_compat.c: Include <libm-alias-double.h>.
+	(lgamma_r): Define using libm_alias_double_r.
+	* math/w_lgammaf_r_compat.c: Include <libm-alias-float.h>.
+	(lgammaf_r): Define using libm_alias_float_r.
+	* math/w_lgammal_r_compat.c: Include <libm-alias-ldouble.h>.
+	(lgammal_r): Define using libm_alias_ldouble_r.
+	* sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file.
+	* sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
+
 2017-10-09  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* lib/glob.c (__glob_pattern_type): Remove now-spurious
diff --git a/math/w_lgamma_r_compat.c b/math/w_lgamma_r_compat.c
index f88a5df..5b3ceaa 100644
--- a/math/w_lgamma_r_compat.c
+++ b/math/w_lgamma_r_compat.c
@@ -17,6 +17,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-double.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -33,9 +34,5 @@ __lgamma_r(double x, int *signgamp)
 
 	return y;
 }
-weak_alias (__lgamma_r, lgamma_r)
-# ifdef NO_LONG_DOUBLE
-strong_alias (__lgamma_r, __lgammal_r)
-weak_alias (__lgamma_r, lgammal_r)
-# endif
+libm_alias_double_r (__lgamma, lgamma, _r)
 #endif
diff --git a/math/w_lgamma_r_template.c b/math/w_lgamma_r_template.c
index 5610db1..57c285b 100644
--- a/math/w_lgamma_r_template.c
+++ b/math/w_lgamma_r_template.c
@@ -34,12 +34,6 @@
 #define M_CALL_FUNC_R_S(x) M_CALL_FUNC_R_X (x)
 #define M_CALL_FUNC_R(x) M_CALL_FUNC_R_S (M_SUF (x))
 
-#define declare_mgen_alias_r_x(from, to) weak_alias (from ## _r, to ## _r)
-#define declare_mgen_alias_r_s(from, to) \
-	declare_mgen_alias_r_x (from, to)
-#define declare_mgen_alias_r(from, to) \
-	declare_mgen_alias_r_s (M_SUF (from), M_SUF (to))
-
 FLOAT
 M_DECL_FUNC_R (__lgamma) (FLOAT x, int *signgamp)
 {
diff --git a/math/w_lgammaf_r_compat.c b/math/w_lgammaf_r_compat.c
index 86003de..c7751f1 100644
--- a/math/w_lgammaf_r_compat.c
+++ b/math/w_lgammaf_r_compat.c
@@ -20,6 +20,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-float.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -36,5 +37,5 @@ __lgammaf_r(float x, int *signgamp)
 
 	return y;
 }
-weak_alias (__lgammaf_r, lgammaf_r)
+libm_alias_float_r (__lgamma, lgamma, _r)
 #endif
diff --git a/math/w_lgammal_r_compat.c b/math/w_lgammal_r_compat.c
index 781bfa4..09a8070 100644
--- a/math/w_lgammal_r_compat.c
+++ b/math/w_lgammal_r_compat.c
@@ -21,6 +21,7 @@
 #include <math.h>
 #include <math_private.h>
 #include <math-svid-compat.h>
+#include <libm-alias-ldouble.h>
 
 
 #if LIBM_SVID_COMPAT
@@ -37,5 +38,5 @@ __lgammal_r(long double x, int *signgamp)
 
 	return y;
 }
-weak_alias (__lgammal_r, lgammal_r)
+libm_alias_ldouble_r (__lgamma, lgamma, _r)
 #endif
diff --git a/sysdeps/generic/math-type-macros-double.h b/sysdeps/generic/math-type-macros-double.h
index e978f90..a02c034 100644
--- a/sysdeps/generic/math-type-macros-double.h
+++ b/sysdeps/generic/math-type-macros-double.h
@@ -33,6 +33,10 @@
 # define declare_mgen_alias(from, to) libm_alias_double (from, to)
 #endif
 
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_double_r (from, to, _r)
+#endif
+
 /* Supply the generic macros.  */
 #include <math-type-macros.h>
 
diff --git a/sysdeps/generic/math-type-macros-float.h b/sysdeps/generic/math-type-macros-float.h
index b23789f..53616cd 100644
--- a/sysdeps/generic/math-type-macros-float.h
+++ b/sysdeps/generic/math-type-macros-float.h
@@ -36,6 +36,10 @@
 # define declare_mgen_alias(from, to) libm_alias_float (from, to)
 #endif
 
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_float_r (from, to, _r)
+#endif
+
 /* Supply the generic macros.  */
 #include <math-type-macros.h>
 
diff --git a/sysdeps/generic/math-type-macros-float128.h b/sysdeps/generic/math-type-macros-float128.h
index 3e69c17..a66f5b6 100644
--- a/sysdeps/generic/math-type-macros-float128.h
+++ b/sysdeps/generic/math-type-macros-float128.h
@@ -38,6 +38,10 @@
 # define declare_mgen_alias(from, to) libm_alias_float128 (from, to)
 #endif
 
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_float128_r (from, to, _r)
+#endif
+
 /* Supply the generic macros.  */
 #include <math-type-macros.h>
 
diff --git a/sysdeps/generic/math-type-macros-ldouble.h b/sysdeps/generic/math-type-macros-ldouble.h
index 750bae7..234e33e 100644
--- a/sysdeps/generic/math-type-macros-ldouble.h
+++ b/sysdeps/generic/math-type-macros-ldouble.h
@@ -33,6 +33,10 @@
 # define declare_mgen_alias(from, to) libm_alias_ldouble (from, to)
 #endif
 
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_ldouble_r (from, to, _r)
+#endif
+
 /* Supply the generic macros.  */
 #include <math-type-macros.h>
 
diff --git a/sysdeps/generic/math-type-macros.h b/sysdeps/generic/math-type-macros.h
index 6aaa233..bbd9c0e 100644
--- a/sysdeps/generic/math-type-macros.h
+++ b/sysdeps/generic/math-type-macros.h
@@ -34,12 +34,13 @@
 		converts a string into the appropriate FLOAT nan
 		value.
 
-  Optionally, these headers may inject a non-standard
-  definition for the following:
-
   declare_mgen_alias(from,to)
       This exposes the appropriate symbol(s) for a
-      function f of type FLOAT.  */
+      function f of type FLOAT.
+
+  declare_mgen_alias_r(from,to)
+      This exposes the appropriate symbol(s) for a
+      function f_r of type FLOAT.  */
 
 #ifndef M_PFX
 # error "M_PFX must be defined."
@@ -59,6 +60,12 @@
 #ifndef CFLOAT
 # error "CFLOAT must be defined."
 #endif
+#ifndef declare_mgen_alias
+# error "declare_mgen_alias must be defined."
+#endif
+#ifndef declare_mgen_alias_r
+# error "declare_mgen_alias_r must be defined."
+#endif
 
 #define __M_CONCAT(a,b) a ## b
 #define __M_CONCATX(a,b) __M_CONCAT(a,b)
@@ -102,9 +109,4 @@
 # define M_DECL_FUNC(f) M_SUF (f)
 #endif
 
-/* If the type does not declare special aliasing, use the default.  */
-#ifndef declare_mgen_alias
-# define declare_mgen_alias(from, to) weak_alias (M_SUF (from), M_SUF (to))
-#endif
-
 #endif /* _MATH_TYPE_MACROS */
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c b/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c
deleted file mode 100644
index 673954c..0000000
--- a/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <math/w_lgamma_r_compat.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __lgamma_r, lgammal_r, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c b/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c
deleted file mode 100644
index 431aa5d..0000000
--- a/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <math_ldbl_opt.h>
-#undef weak_alias
-#define weak_alias(n,a)
-#include <math/w_lgammal_r_compat.c>
-#if LIBM_SVID_COMPAT
-long_double_symbol (libm, __lgammal_r, lgammal_r);
-#endif

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

Summary of changes:
 ChangeLog                                     |   26 +++++++++++++++++++++++++
 math/w_lgamma_r_compat.c                      |    7 +----
 math/w_lgamma_r_template.c                    |    6 -----
 math/w_lgammaf_r_compat.c                     |    3 +-
 math/w_lgammal_r_compat.c                     |    3 +-
 sysdeps/generic/math-type-macros-double.h     |    4 +++
 sysdeps/generic/math-type-macros-float.h      |    4 +++
 sysdeps/generic/math-type-macros-float128.h   |    4 +++
 sysdeps/generic/math-type-macros-ldouble.h    |    4 +++
 sysdeps/generic/math-type-macros.h            |   20 ++++++++++--------
 sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c  |    5 ----
 sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c |    7 ------
 12 files changed, 59 insertions(+), 34 deletions(-)
 delete mode 100644 sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c
 delete mode 100644 sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c


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]