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-362-g6d9b0b5


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  6d9b0b5a22738e100b57bdd593d799abac4949d7 (commit)
      from  92892fdbfa5e4d9f3cc25601767da064d0a8818a (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=6d9b0b5a22738e100b57bdd593d799abac4949d7

commit 6d9b0b5a22738e100b57bdd593d799abac4949d7
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Sep 18 23:26:35 2017 +0000

    Fix powerpc64le problem from last ldbl-opt patch.
    
    This patch fixes a problem on powerpc64le that I missed in initial
    testing of my last patch to ldbl-opt.  In the specific case of
    powerpc64le, the weak aliases for exp10l and remainderl do not get
    defined in the generic wrappers because of how those wrappers
    undefine and redefine weak_alias.  This patch restores those aliases
    in the ldbl-opt code.
    
    Tested (compilation only) for powerpc64le with build-many-glibcs.py.
    
    	* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT &&
    	!LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] (weak_alias): Undefine and
    	redefine.
    	[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
    	(exp10l): Define as weak alias.
    	* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c [LIBM_SVID_COMPAT
    	&& !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (weak_alias): Undefine
    	and redefine.
    	[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)]
    	(remainderl): Define as weak alias.

diff --git a/ChangeLog b/ChangeLog
index a7bcaa6..757462f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2017-09-18  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c [LIBM_SVID_COMPAT &&
+	!LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)] (weak_alias): Undefine and
+	redefine.
+	[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_1)]
+	(exp10l): Define as weak alias.
+	* sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c [LIBM_SVID_COMPAT
+	&& !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)] (weak_alias): Undefine
+	and redefine.
+	[LIBM_SVID_COMPAT && !LONG_DOUBLE_COMPAT (libm, GLIBC_2_0)]
+	(remainderl): Define as weak alias.
+
 	* math/s_fmal.c: Include <libm-alias-ldouble.h>.
 	(fmal): Define using libm_alias_ldouble.
 	* math/w_acoshl_compat.c: Include <libm-alias-ldouble.h>.
diff --git a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
index 1c0e875..dd5915e 100644
--- a/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c
@@ -5,6 +5,14 @@
 #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_remainderl_compat.c b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
index 9314117..bb9bac0 100644
--- a/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
+++ b/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c
@@ -3,6 +3,14 @@
 #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)
+weak_alias (__remainderl, remainderl)
+# endif
 strong_alias (__remainderl, __dreml)
 long_double_symbol (libm, __dreml, dreml);
 #endif

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

Summary of changes:
 ChangeLog                                      |   11 +++++++++++
 sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c     |    8 ++++++++
 sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c |    8 ++++++++
 3 files changed, 27 insertions(+), 0 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]