about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPaul E. Murphy <murphyp@linux.vnet.ibm.com>2017-05-04 14:47:27 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.vnet.ibm.com>2017-05-04 14:47:27 -0300
commit593bf7189a82b9b2874d41c71cb2109482a9f201 (patch)
tree6a1b514c390699f658e9b182345c1a03dbe45e14
parent4c3992fc459322a7c712700ba3244fcb125163d7 (diff)
downloadglibc-593bf7189a82b9b2874d41c71cb2109482a9f201.tar.gz
glibc-593bf7189a82b9b2874d41c71cb2109482a9f201.tar.xz
glibc-593bf7189a82b9b2874d41c71cb2109482a9f201.zip
ldbl-128: Use mathx_hidden_def inplace of hidden_def
This provides a extra macro expansion before invoking
the hidden_def macro.  This is necessary to build the
ldbl-128 files as float128 correctly.

	* sysdeps/generic/math_private.h:
	(mathx_hidden_def): New macro.
	* sysdeps/ieee754/ldbl-128/s_finitel.c: Replace hidden_def with
	the above.
	* sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
	* sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
-rw-r--r--ChangeLog8
-rw-r--r--sysdeps/generic/math_private.h4
-rw-r--r--sysdeps/ieee754/ldbl-128/s_finitel.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/s_isinfl.c2
-rw-r--r--sysdeps/ieee754/ldbl-128/s_isnanl.c2
5 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 7d023fc867..c0bb010f5f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2017-05-04  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
+
+	* sysdeps/generic/math_private.h (mathx_hidden_def): New macro.
+	* sysdeps/ieee754/ldbl-128/s_finitel.c: Replace hidden_def with
+	the above.
+	* sysdeps/ieee754/ldbl-128/s_isinfl.c: Likewise.
+	* sysdeps/ieee754/ldbl-128/s_isnanl.c: Likewise.
+
 2017-05-04  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #21445]
diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h
index aba1cb9cbc..4d8a35ff87 100644
--- a/sysdeps/generic/math_private.h
+++ b/sysdeps/generic/math_private.h
@@ -181,6 +181,10 @@ do {								\
 } while (0)
 #endif
 
+/* We need to guarantee an expansion of name when building
+   ldbl-128 files as another type (e.g _Float128).  */
+#define mathx_hidden_def(name) hidden_def(name)
+
 /* Get long double macros from a separate header.  */
 #include <math_ldbl.h>
 
diff --git a/sysdeps/ieee754/ldbl-128/s_finitel.c b/sysdeps/ieee754/ldbl-128/s_finitel.c
index feb4590924..7c699688fe 100644
--- a/sysdeps/ieee754/ldbl-128/s_finitel.c
+++ b/sysdeps/ieee754/ldbl-128/s_finitel.c
@@ -32,5 +32,5 @@ int __finitel(_Float128 x)
 	return (int)((u_int64_t)((hx&0x7fff000000000000LL)
 				 -0x7fff000000000000LL)>>63);
 }
-hidden_def (__finitel)
+mathx_hidden_def (__finitel)
 weak_alias (__finitel, finitel)
diff --git a/sysdeps/ieee754/ldbl-128/s_isinfl.c b/sysdeps/ieee754/ldbl-128/s_isinfl.c
index dce8fc0b5d..a41e8cf44b 100644
--- a/sysdeps/ieee754/ldbl-128/s_isinfl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isinfl.c
@@ -25,5 +25,5 @@ __isinfl (_Float128 x)
 	lx |= -lx;
 	return ~(lx >> 63) & (hx >> 62);
 }
-hidden_def (__isinfl)
+mathx_hidden_def (__isinfl)
 weak_alias (__isinfl, isinfl)
diff --git a/sysdeps/ieee754/ldbl-128/s_isnanl.c b/sysdeps/ieee754/ldbl-128/s_isnanl.c
index 1dee642512..80f97fea4c 100644
--- a/sysdeps/ieee754/ldbl-128/s_isnanl.c
+++ b/sysdeps/ieee754/ldbl-128/s_isnanl.c
@@ -34,5 +34,5 @@ int __isnanl(_Float128 x)
 	hx = 0x7fff000000000000LL - hx;
 	return (int)((u_int64_t)hx>>63);
 }
-hidden_def (__isnanl)
+mathx_hidden_def (__isnanl)
 weak_alias (__isnanl, isnanl)