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-342-g1aae75e


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  1aae75ef80aaa6129fb3f2a68fdfba60a945c4df (commit)
      from  bcea7ad608466a886767ddc743dce0df11980b5f (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=1aae75ef80aaa6129fb3f2a68fdfba60a945c4df

commit 1aae75ef80aaa6129fb3f2a68fdfba60a945c4df
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Wed Sep 13 22:17:23 2017 +0000

    Define and use libm_alias_ldouble.
    
    Continuing the process of setting up common macros for libm function
    aliases, with a view to using them to define _FloatN / _FloatNx
    aliases in future, this patch adds a libm_alias_ldouble macro and uses
    it in the type-generic templates.
    
    Since math-type-macros-ldouble.h already did the appropriate thing for
    each symbol (weak_alias or long_double_symbol), this is just a
    straightforward rearrangement of code, to make the required logic
    available in a place that can also be used outside of the type-generic
    templates in future (in particular, to eliminate various wrappers for
    functions in ldbl-opt and ldbl-64-128).
    
    Tested for x86_64.  Also tested with build-many-glibcs.py that
    installed stripped shared libraries are unchanged by the patch.
    
    	* sysdeps/generic/libm-alias-ldouble.h: New file.
    	* sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Likewise.
    	* sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Remove.
    	* sysdeps/generic/math-type-macros-ldouble.h: Include
    	<libm-alias-ldouble.h>.
    	[!declare_mgen_alias] (declare_mgen_alias): Define to use
    	libm_alias_ldouble.

diff --git a/ChangeLog b/ChangeLog
index 21a51b4..3f2e355 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2017-09-13  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/generic/libm-alias-ldouble.h: New file.
+	* sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h: Likewise.
+	* sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Remove.
+	* sysdeps/generic/math-type-macros-ldouble.h: Include
+	<libm-alias-ldouble.h>.
+	[!declare_mgen_alias] (declare_mgen_alias): Define to use
+	libm_alias_ldouble.
+
 2017-09-13  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
 	* sysdeps/ieee754/dbl-64/w_exp_compat.c: Move to...
diff --git a/sysdeps/generic/libm-alias-ldouble.h b/sysdeps/generic/libm-alias-ldouble.h
new file mode 100644
index 0000000..7414b92
--- /dev/null
+++ b/sysdeps/generic/libm-alias-ldouble.h
@@ -0,0 +1,36 @@
+/* Define aliases for libm long double functions.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBM_ALIAS_LDOUBLE_H
+#define _LIBM_ALIAS_LDOUBLE_H
+
+/* Define aliases for a long double libm function that has internal
+   name FROM ## l ## R and public names TO ## suffix ## R for each
+   suffix of a supported floating-point type with the same format as
+   long double.  This should only be used for functions where such
+   public names exist for _FloatN types, not for
+   implementation-namespace exported names (where there is one name
+   per format, not per type) or for obsolescent functions not provided
+   for _FloatN types.  */
+#define libm_alias_ldouble_r(from, to, r)	\
+  weak_alias (from ## l ## r, to ## l ## r)
+
+/* Likewise, but without the R suffix.  */
+#define libm_alias_ldouble(from, to) libm_alias_ldouble_r (from, to, )
+
+#endif
diff --git a/sysdeps/generic/math-type-macros-ldouble.h b/sysdeps/generic/math-type-macros-ldouble.h
index 7dbd559..750bae7 100644
--- a/sysdeps/generic/math-type-macros-ldouble.h
+++ b/sysdeps/generic/math-type-macros-ldouble.h
@@ -27,6 +27,12 @@
 #define CFLOAT _Complex long double
 #define M_STRTO_NAN __strtold_nan
 
+#include <libm-alias-ldouble.h>
+
+#ifndef declare_mgen_alias
+# define declare_mgen_alias(from, to) libm_alias_ldouble (from, to)
+#endif
+
 /* Supply the generic macros.  */
 #include <math-type-macros.h>
 
diff --git a/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h b/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
new file mode 100644
index 0000000..ae32027
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-opt/libm-alias-ldouble.h
@@ -0,0 +1,41 @@
+/* Define aliases for libm long double functions.  ldbl-opt version.
+   Copyright (C) 2017 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#ifndef _LIBM_ALIAS_LDOUBLE_H
+#define _LIBM_ALIAS_LDOUBLE_H
+
+#include <math_ldbl_opt.h>
+#include <ldbl-compat-choose.h>
+
+/* Define aliases for a long double libm function that has internal
+   name FROM ## l ## R and public names TO ## suffix ## R for each
+   suffix of a supported floating-point type with the same format as
+   long double.  This should only be used for functions where such
+   public names exist for _FloatN types, not for
+   implementation-namespace exported names (where there is one name
+   per format, not per type) or for obsolescent functions not provided
+   for _FloatN types.  */
+#define libm_alias_ldouble_r(from, to, r)			\
+  LONG_DOUBLE_COMPAT_CHOOSE_libm_ ## to ## l ## r		\
+    (long_double_symbol (libm, from ## l ## r, to ## l ## r),	\
+     weak_alias (from ## l ## r, to ## l ## r));
+
+/* Likewise, but without the R suffix.  */
+#define libm_alias_ldouble(from, to) libm_alias_ldouble_r (from, to, )
+
+#endif
diff --git a/sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h b/sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h
deleted file mode 100644
index 20873ae..0000000
--- a/sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Overrides for ldbl-opt versioning for long double types.
-   Copyright (C) 2016-2017 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _MATH_TYPE_MACROS_LDOUBLE
-
-#include <math_ldbl_opt.h>
-#include <ldbl-compat-choose.h>
-
-#define maybe_long_double_symbol(lib, from, to)				\
-  LONG_DOUBLE_COMPAT_CHOOSE_ ## lib ## _ ## to (long_double_symbol (lib, \
-								    from, \
-								    to), \
-						weak_alias (from, to))
-
-/* Use properly versioned symbols for long double on platforms where
-   it was not always a distinct type.  */
-#if !defined declare_mgen_alias
-# define declare_mgen_alias(from, to) \
-  maybe_long_double_symbol (libm, from ## l, to ## l);
-#endif
-
-#include_next <math-type-macros-ldouble.h>
-#endif

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

Summary of changes:
 ChangeLog                                          |   10 +++++
 .../{libm-alias-float.h => libm-alias-ldouble.h}   |   27 +++++++-------
 sysdeps/generic/math-type-macros-ldouble.h         |    6 +++
 .../{libm-alias-double.h => libm-alias-ldouble.h}  |   33 ++++++++---------
 .../ieee754/ldbl-opt/math-type-macros-ldouble.h    |   38 --------------------
 5 files changed, 45 insertions(+), 69 deletions(-)
 copy sysdeps/generic/{libm-alias-float.h => libm-alias-ldouble.h} (52%)
 copy sysdeps/ieee754/ldbl-opt/{libm-alias-double.h => libm-alias-ldouble.h} (51%)
 delete mode 100644 sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h


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]