[PATCH] newlib: switch to autoconf long double wider macro
Corinna Vinschen
vinschen@redhat.com
Fri Jan 21 13:27:16 GMT 2022
On Jan 21 07:39, Mike Frysinger wrote:
> On 21 Jan 2022 12:27, Corinna Vinschen wrote:
> > On Jan 21 00:04, Mike Frysinger wrote:
> > > Now that we require a recent version of autoconf, we can rely on this
> > > macro existing. It has inverted semantics from the existing test (it
> > > looks for "is wider" instead of "is equal"), so we have to invert the
> > > check when creating our _LDBL_EQ_DBL.
> > > ---
> > > newlib/configure | 72 +++++++++++++++++++++++++++++----------------
> > > newlib/configure.ac | 22 ++------------
> > > newlib/newlib.hin | 4 +++
> > > 3 files changed, 53 insertions(+), 45 deletions(-)
> >
> > Looks right to me, please push.
>
> for posterity, i'll note that autoconf uses a different (more comprehensive)
> testing method that ultimately arrives at a diff answer than what newlib is
> atm. for aarch64, _LDBL_EQ_DBL is now defined when it wasn't before.
>
> newlib today is doing:
> #if DBL_MANT_DIG == LDBL_MANT_DIG && \
> LDBL_MIN_EXP == DBL_MIN_EXP && \
> LDBL_MAX_EXP == DBL_MAX_EXP
> #define _LDBL_EQ_DBL
> #else
> #error "LDBL != DBL"
> #endif
>
> while autoconf is doing:
> (0 < ((DBL_MAX_EXP < LDBL_MAX_EXP)
> + (DBL_MANT_DIG < LDBL_MANT_DIG)
> - (LDBL_MAX_EXP < DBL_MAX_EXP)
> - (LDBL_MANT_DIG < DBL_MANT_DIG)))
> && (int) LDBL_EPSILON == 0
> -mike
Erm... that's kind of weird. The newlib expression doesn't look wrong.
So, out of curiosity of somebody not being familiar with aarch64,
why is that?
Corinna
More information about the Newlib
mailing list