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-340-g0fc5647


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  0fc56478a969cd02475130526bf9b2a6e416993c (commit)
      from  3ca622e4d6054c0b99b2df36580462663edc8d12 (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=0fc56478a969cd02475130526bf9b2a6e416993c

commit 0fc56478a969cd02475130526bf9b2a6e416993c
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Sep 13 15:47:26 2017 +0000

    Clear up log1p, ldexp, scalbn, scalbln compat handling.
    
    This patch cleans up how compat symbols / long double versioning are
    handled for log1p, ldexp, scalbn and scalbln functions.
    
    The general principle is to do as much as possible through the
    type-generic templates.  Previously, when errno-setting wrappers were
    added the compat long double symbols were left pointing directly to
    the underlying implementations; they are moved to point to the
    errno-setting wrappers.  For the functions also present in libc,
    compat symbol handling for the libc copies needs to go in ldbl-opt
    wrappers, but the type-generic templates can handle it for the libm
    copies.  There is no need for w_scalbln_template.c to disable the
    creation of an unused internal alias (such code made sense in the
    context of patches trying to avoid any changes to generated code for
    ease of comparison, but can be removed in a change that specifically
    does intend to change details of where symbols point).
    
    Tested for x86_64, and with build-many-glibcs.py.
    
    	* math/w_scalbln_template.c (strong_alias): Do not undefine and
    	redefine.
    	* sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove
    	macro.
    	(ldexpl): Only define as compat symbol for libc, not libm.
    	(scalbnl): Define as compat symbol for libc here.
    	* sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only
    	define for [IS_IN (libc)].
    	(__ldexpl_2): Remove alias.
    	(ldexpl): Only define with long_double_symbol if [IS_IN (libc)].
    	(scalbnl): Likewise.  Use __wrap_scalbnl not __ldexpl_2 as base
    	name in long_double_symbol call.
    	* sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file.
    	* sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise.
    	* sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise.
    	* sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise.
    	* sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias):
    	Remove macro.
    	[IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl):
    	Define as compat symbol.

diff --git a/ChangeLog b/ChangeLog
index 3b74c0e..70b575b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,26 @@
+2017-09-13  Joseph Myers  <joseph@codesourcery.com>
+
+	* math/w_scalbln_template.c (strong_alias): Do not undefine and
+	redefine.
+	* sysdeps/ieee754/ldbl-opt/s_ldexp.c (declare_mgen_alias): Remove
+	macro.
+	(ldexpl): Only define as compat symbol for libc, not libm.
+	(scalbnl): Define as compat symbol for libc here.
+	* sysdeps/ieee754/ldbl-opt/s_ldexpl.c (declare_mgen_alias): Only
+	define for [IS_IN (libc)].
+	(__ldexpl_2): Remove alias.
+	(ldexpl): Only define with long_double_symbol if [IS_IN (libc)].
+	(scalbnl): Likewise.  Use __wrap_scalbnl not __ldexpl_2 as base
+	name in long_double_symbol call.
+	* sysdeps/ieee754/ldbl-opt/s_log1p.c: Remove file.
+	* sysdeps/ieee754/ldbl-opt/s_scalbln.c: Likewise.
+	* sysdeps/ieee754/ldbl-opt/s_scalbn.c: Likewise.
+	* sysdeps/ieee754/ldbl-opt/w_log1p.c: Likewise.
+	* sysdeps/ieee754/ldbl-opt/w_scalbln.c (declare_mgen_alias):
+	Remove macro.
+	[IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)] (scalblnl):
+	Define as compat symbol.
+
 2017-09-13  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* sysdeps/unix/sysv/linux/s390/s390-32/oldglob.c: New file.
diff --git a/math/w_scalbln_template.c b/math/w_scalbln_template.c
index 4315082..93148d5 100644
--- a/math/w_scalbln_template.c
+++ b/math/w_scalbln_template.c
@@ -34,8 +34,4 @@ M_DECL_FUNC (__w_scalbln) (FLOAT x, long int n)
   return x;
 }
 
-/* Define strong_alias to nothing because we don't want
-   declare_mgen_alias to create a strong alias for scalblnl.  */
-#undef strong_alias
-#define strong_alias(name, alias_name)
 declare_mgen_alias (__w_scalbln, scalbln)
diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexp.c b/sysdeps/ieee754/ldbl-opt/s_ldexp.c
index 5a875ae..e0433e9 100644
--- a/sysdeps/ieee754/ldbl-opt/s_ldexp.c
+++ b/sysdeps/ieee754/ldbl-opt/s_ldexp.c
@@ -17,14 +17,10 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define declare_mgen_alias(from, to) weak_alias (from, to)
 #include <math-type-macros-double.h>
 #include <s_ldexp_template.c>
 
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __ldexp, ldexpl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
+#if IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_0)
 compat_symbol (libc, __ldexp, ldexpl, GLIBC_2_0);
+compat_symbol (libc, __wrap_scalbn, scalbnl, GLIBC_2_0);
 #endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
index 85f34fa..e0741ad 100644
--- a/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
+++ b/sysdeps/ieee754/ldbl-opt/s_ldexpl.c
@@ -17,15 +17,13 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#define declare_mgen_alias(f,t)
+#if IS_IN (libc)
+# define declare_mgen_alias(f,t)
+#endif
 #include <math-type-macros-ldouble.h>
 #include <s_ldexp_template.c>
 
-strong_alias (__ldexpl, __ldexpl_2)
-#if IS_IN (libm)
-long_double_symbol (libm, __ldexpl, ldexpl);
-long_double_symbol (libm, __ldexpl_2, scalbnl);
-#else
+#if IS_IN (libc)
 long_double_symbol (libc, __ldexpl, ldexpl);
-long_double_symbol (libc, __ldexpl_2, scalbnl);
+long_double_symbol (libc, __wrap_scalbnl, scalbnl);
 #endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_log1p.c b/sysdeps/ieee754/ldbl-opt/s_log1p.c
deleted file mode 100644
index 495fa32..0000000
--- a/sysdeps/ieee754/ldbl-opt/s_log1p.c
+++ /dev/null
@@ -1,5 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_log1p.c>
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __log1p, log1pl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_scalbln.c b/sysdeps/ieee754/ldbl-opt/s_scalbln.c
deleted file mode 100644
index 391142b..0000000
--- a/sysdeps/ieee754/ldbl-opt/s_scalbln.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_scalbln.c>
-#if IS_IN (libm)
-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
-compat_symbol (libm, __scalbln, scalblnl, GLIBC_2_1);
-#endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_1)
-compat_symbol (libc, __scalbln, scalblnl, GLIBC_2_1);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/s_scalbn.c b/sysdeps/ieee754/ldbl-opt/s_scalbn.c
deleted file mode 100644
index 1ad81b1..0000000
--- a/sysdeps/ieee754/ldbl-opt/s_scalbn.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <math_ldbl_opt.h>
-#include <sysdeps/ieee754/dbl-64/s_scalbn.c>
-#if IS_IN (libm)
-# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0)
-compat_symbol (libm, __scalbn, scalbnl, GLIBC_2_0);
-# endif
-#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0)
-compat_symbol (libc, __scalbn, scalbnl, GLIBC_2_0);
-#endif
diff --git a/sysdeps/ieee754/ldbl-opt/w_log1p.c b/sysdeps/ieee754/ldbl-opt/w_log1p.c
deleted file mode 100644
index ad05247..0000000
--- a/sysdeps/ieee754/ldbl-opt/w_log1p.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#define declare_mgen_alias(from, to) weak_alias (from, to)
-#include <math-type-macros-double.h>
-#include <w_log1p_template.c>
diff --git a/sysdeps/ieee754/ldbl-opt/w_scalbln.c b/sysdeps/ieee754/ldbl-opt/w_scalbln.c
index 495169f..17a8a96 100644
--- a/sysdeps/ieee754/ldbl-opt/w_scalbln.c
+++ b/sysdeps/ieee754/ldbl-opt/w_scalbln.c
@@ -1,3 +1,5 @@
-#define declare_mgen_alias(from, to) weak_alias (from, to)
 #include <math-type-macros-double.h>
 #include <w_scalbln_template.c>
+#if IS_IN (libc) && LONG_DOUBLE_COMPAT (libc, GLIBC_2_1)
+compat_symbol (libc, __w_scalbln, scalblnl, GLIBC_2_1);
+#endif

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

Summary of changes:
 ChangeLog                            |   23 +++++++++++++++++++++++
 math/w_scalbln_template.c            |    4 ----
 sysdeps/ieee754/ldbl-opt/s_ldexp.c   |    8 ++------
 sysdeps/ieee754/ldbl-opt/s_ldexpl.c  |   12 +++++-------
 sysdeps/ieee754/ldbl-opt/s_log1p.c   |    5 -----
 sysdeps/ieee754/ldbl-opt/s_scalbln.c |    9 ---------
 sysdeps/ieee754/ldbl-opt/s_scalbn.c  |    9 ---------
 sysdeps/ieee754/ldbl-opt/w_log1p.c   |    3 ---
 sysdeps/ieee754/ldbl-opt/w_scalbln.c |    4 +++-
 9 files changed, 33 insertions(+), 44 deletions(-)
 delete mode 100644 sysdeps/ieee754/ldbl-opt/s_log1p.c
 delete mode 100644 sysdeps/ieee754/ldbl-opt/s_scalbln.c
 delete mode 100644 sysdeps/ieee754/ldbl-opt/s_scalbn.c
 delete mode 100644 sysdeps/ieee754/ldbl-opt/w_log1p.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]