libm long double functions on ARMv6.

Warner Losh imp at bsdimp.com
Fri Aug 19 03:36:31 UTC 2016


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


More information about the freebsd-arm mailing list