Message ID | 1493415280-30534-2-git-send-email-gftg@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
On Fri, 28 Apr 2017, Gabriel F. T. Gomes wrote: > From: "Paul E. Murphy" <murphyp@linux.vnet.ibm.com> > > 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. This patch is OK.
diff --git a/sysdeps/generic/math_private.h b/sysdeps/generic/math_private.h index aba1cb9..4d8a35f 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 feb4590..7c69968 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 dce8fc0..a41e8cf 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 1dee642..80f97fe 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)
From: "Paul E. Murphy" <murphyp@linux.vnet.ibm.com> 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. --- sysdeps/generic/math_private.h | 4 ++++ sysdeps/ieee754/ldbl-128/s_finitel.c | 2 +- sysdeps/ieee754/ldbl-128/s_isinfl.c | 2 +- sysdeps/ieee754/ldbl-128/s_isnanl.c | 2 +- 4 files changed, 7 insertions(+), 3 deletions(-)