libm long double functions on ARMv6.

Kyle Evans kevans91 at ksu.edu
Tue Aug 30 23:26:03 UTC 2016


On Thu, Aug 18, 2016 at 10:36 PM, Warner Losh <imp at bsdimp.com> wrote:

> On Wed, Aug 17, 2016 at 10:41 PM, Kyle Evans <kevans91 at ksu.edu> wrote:
> > Alright, apologies for the noise. I answered my own question- went
> > through the `long double` functions from msun/Makefile:101, and found
> > that `fmodl` seems to be the only one that is not properly aliased.
> >
> > The issue at [1] (r199422) seems to be relevant, so I'm CC'ing both
> > emaste@ and ngie@ as interested parties, also hoping for some
> > $0.02USD.
> >
> > I'm inlining a proposed patch at the end of this e-mail to match what
> > is currently done for all of the other `long double` functions on
> > these platforms where long double == double.
> >
> > [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199422
> >
> > diff --git a/lib/msun/src/e_fmod.c b/lib/msun/src/e_fmod.c
> > index 720aa03..a3578a1 100644
> > --- a/lib/msun/src/e_fmod.c
> > +++ b/lib/msun/src/e_fmod.c
> > @@ -130,3 +130,8 @@ __ieee754_fmod(double x, double y)
> >         }
> >         return x;               /* exact output */
> >  }
> > +
> > +#if LDBL_MANT_DIG == 53
> > +__weak_reference(fmod, fmodl);
> > +#endif
>
> This change looks good. Are there other functions that need this
> same treatment?
>
> And shouldn't this be
>
> #if LDBL_MANT_DIG == DBL_MANT_DIG
>
> instead?
>
> Warner
>

Hello!

If you're interested, I've amended the patch on my PR to address
consistency issues in all of these similar alias blocks. They're now all
standardized on no-parentheses and using LDBL_MANT_DIG == DBL_MANT_DIG
instead of the hard-coded 53 to convey the same meaning. You can find this
PR here: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211965

Thanks,

Kyle Evans


More information about the freebsd-arm mailing list