about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-10-13 23:09:48 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-10-13 23:09:48 +0000
commit18c08b96414c7bb01af92bfef8d542ffc7bdaf80 (patch)
tree38d8e530b620dea73bf30012b18550e4b3d649cc
parentf8718a9e1620d6645e3c069e9b13fcd09f6db462 (diff)
downloadglibc-18c08b96414c7bb01af92bfef8d542ffc7bdaf80.tar.gz
glibc-18c08b96414c7bb01af92bfef8d542ffc7bdaf80.tar.xz
glibc-18c08b96414c7bb01af92bfef8d542ffc7bdaf80.zip
Support strfromf128 alias.
This patch adds support for building strfromf128 as an alias of
strfroml, in the case of __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128.

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged by this patch.  Also tested together with
changes to enable float128 aliases.

	* stdlib/strfroml.c: Include <bits/floatn.h>.
	[__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strfromf128):
	Define before include of <stdlib.h> and undefine afterwards, then
	define as weak alias.
-rw-r--r--ChangeLog5
-rw-r--r--stdlib/strfroml.c12
2 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index f3cca14d0e..46abc652cd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2017-10-13  Joseph Myers  <joseph@codesourcery.com>
 
+	* stdlib/strfroml.c: Include <bits/floatn.h>.
+	[__HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128] (strfromf128):
+	Define before include of <stdlib.h> and undefine afterwards, then
+	define as weak alias.
+
 	* sysdeps/ieee754/ldbl-64-128/s_nextafterl.c (weak_alias):
 	Undefine and restore default definition.  Use
 	libm_alias_ldouble_other.
diff --git a/stdlib/strfroml.c b/stdlib/strfroml.c
index f8c8a4fcc5..bd6ebca0ad 100644
--- a/stdlib/strfroml.c
+++ b/stdlib/strfroml.c
@@ -16,7 +16,19 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+#include <bits/floatn.h>
+
 #define FLOAT		long double
 #define STRFROM		strfroml
 
+#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
+# define strfromf128 __hide_strfromf128
+# include <stdlib.h>
+# undef strfromf128
+#endif
+
 #include "strfrom-skeleton.c"
+
+#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
+weak_alias (strfroml, strfromf128)
+#endif