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-551-g0ff64d3


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  0ff64d3a18fc5111c54ffd3238231754dfd506dc (commit)
      from  541f19baf89e16304cdc5c3c8826896d3d2a7034 (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=0ff64d3a18fc5111c54ffd3238231754dfd506dc

commit 0ff64d3a18fc5111c54ffd3238231754dfd506dc
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Oct 11 02:51:39 2017 +0000

    Use generic alias macros in ldbl-opt.
    
    This patch fixes ldbl-opt code to use generic libm alias macros in
    preparation for getting _FloatN / _FloatNx aliases where appropriate.
    
    Four functions are affected, that undefine and redefine alias macros
    before including the implementations they wrap in such a way that
    _FloatN / _FloatNx aliases would not appear.  s_clog10l.c undefines
    and redefined declare_mgen_alias, so just needs a
    libm_alias_ldouble_other call added.  w_exp10l_compat.c undefines and
    redefines weak_alias, but in fact does not need to do so, since
    math/w_exp10l_compat.c uses libm_alias_ldouble and does not use
    weak_alias other than through that, so the undefines and redefines of
    weak_alias are removed.  w_lgamma_compatl.c and w_remainderl_compat.c
    are made to use libm_alias_ldouble_other in conjunction with restoring
    the original definition of weak_alias so this is effective.
    
    Tested with build-many-glibcs.py.  Installed stripped shared libraries
    are unchanged by this patch.
    
    	* sysdeps/ieee754/ldbl-opt/s_clog10l.c: Use
    	libm_alias_ldouble_other.
    	* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (weak_alias): Do not
    	undefine and redefine.
    	[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
    	(exp10l): Do not define here.
    	* sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA]
    	(weak_alias): Undefine and redefine.
    	[BUILD_LGAMMA]: Use libm_alias_ldouble_other.
    	* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
    	[LIBM_SVID_COMPAT] (weak_alias): Undefine and redefine here.
    	[LIBM_SVID_COMPAT]: Use libm_alias_ldouble_other.

diff --git a/ChangeLog b/ChangeLog
index 870d29d..f8914f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2017-10-11  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/ieee754/ldbl-opt/s_clog10l.c: Use
+	libm_alias_ldouble_other.
+	* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c (weak_alias): Do not
+	undefine and redefine.
+	[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
+	(exp10l): Do not define here.
+	* sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c [BUILD_LGAMMA]
+	(weak_alias): Undefine and redefine.
+	[BUILD_LGAMMA]: Use libm_alias_ldouble_other.
+	* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
+	[LIBM_SVID_COMPAT] (weak_alias): Undefine and redefine here.
+	[LIBM_SVID_COMPAT]: Use libm_alias_ldouble_other.
+
 	* soft-fp/fmadf4.c: Include <libm-alias-double.h>.
 	[!__fma] (fma): Define using libm_alias_double.
 	* soft-fp/fmasf4.c: Include <libm-alias-float.h>.
diff --git a/sysdeps/ieee754/ldbl-opt/s_clog10l.c b/sysdeps/ieee754/ldbl-opt/s_clog10l.c
index 15dc3ed..d557e96 100644
--- a/sysdeps/ieee754/ldbl-opt/s_clog10l.c
+++ b/sysdeps/ieee754/ldbl-opt/s_clog10l.c
@@ -29,3 +29,4 @@
 strong_alias (__clog10l_internal, __clog10l__internal)
 long_double_symbol (libm, __clog10l_internal, __clog10l);
 long_double_symbol (libm, __clog10l__internal, clog10l);
+libm_alias_ldouble_other (__clog10, clog10)
diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
index dd5915e..4822211 100644
--- a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
@@ -1,18 +1,8 @@
 #include <math_ldbl_opt.h>
-#undef weak_alias
-#define weak_alias(n,a)
 #undef compat_symbol
 #define compat_symbol(l,n,a,v)
 #include <math/w_exp10l_compat.c>
 #if LIBM_SVID_COMPAT
-# if !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)
-/* If ldbl-opt is used without special versioning for exp10l being
-   required, the generic code does not define exp10l because of the
-   undefine and redefine of weak_alias above.  */
-#  undef weak_alias
-#  define weak_alias(name, aliasname) _weak_alias (name, aliasname)
-weak_alias (__exp10l, exp10l)
-# endif
 # if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
 /* compat_symbol was undefined and redefined above to avoid the
    default pow10l compat symbol at version GLIBC_2_1 (as for ldbl-opt
diff --git a/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c b/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c
index f60b3d7..003a253 100644
--- a/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c
+++ b/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c
@@ -9,3 +9,8 @@
 #if GAMMA_ALIAS
 long_double_symbol (libm, __gammal, gammal);
 #endif
+#if BUILD_LGAMMA
+# undef weak_alias
+# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
+libm_alias_ldouble_other (__lgamma, lgamma)
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
index bb9bac0..2579600 100644
--- a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
@@ -3,14 +3,17 @@
 #define weak_alias(n,a)
 #include <math/w_remainderl_compat.c>
 #if LIBM_SVID_COMPAT
-# if !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
 /* If ldbl-opt is used without special versioning for remainderl being
    required, the generic code does not define remainderl because of
-   the undefine and redefine of weak_alias above.  */
-#  undef weak_alias
-#  define weak_alias(name, aliasname) _weak_alias (name, aliasname)
+   the undefine and redefine of weak_alias above.  In any case, that
+   undefine and redefine mean _FloatN / _FloatNx aliases have not been
+   defined.  */
+# undef weak_alias
+# define weak_alias(name, aliasname) _weak_alias (name, aliasname)
+# if !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)
 weak_alias (__remainderl, remainderl)
 # endif
 strong_alias (__remainderl, __dreml)
 long_double_symbol (libm, __dreml, dreml);
+libm_alias_ldouble_other (__remainder, remainder)
 #endif

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

Summary of changes:
 ChangeLog                                      |   13 +++++++++++++
 sysdeps/ieee754/ldbl-opt/s_clog10l.c           |    1 +
 sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c     |   10 ----------
 sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c    |    5 +++++
 sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c |   11 +++++++----
 5 files changed, 26 insertions(+), 14 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]