compiling newlib

Keith Packard keithp@keithp.com
Tue Aug 25 17:04:18 GMT 2020


Paul Zimmermann <Paul.Zimmermann@inria.fr> writes:

> thank you Jeff for your answer.
>
> In return I found I believe an issue with newlib's tgammaf function, for
> input -0, where it gives +inf instead of -inf:

Yeah, it's easy to fix the underlying __ieee754_lgamma functions to
adjust the sign of the return:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-libm-Fix-sign-value-returned-from-__ieee754_lgamma-_.patch
Type: text/x-diff
Size: 1579 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/newlib/attachments/20200825/48dc7188/attachment.bin>
-------------- next part --------------

There's a bit of a mess with the gamma functions. There are _r
versions of these functions that pass through the sign return pointer
instead of applying it locally as they should. That reduces the set of
gamma functions as follows:

Reentrant functions:

        double                  float
        __ieee754_lgamma_r      __ieee754_lgammaf_r
        __ieee754_gamma         __ieee754_gammaf
        
        lgamma_r                lgammaf_r
        tgamma                  tgammaf

gamma/gammaf should be alternate names for tgamma/tgammaf, and would
thus be re-entrant.

Non-reentrant functions:

        __ieee754_lgamma        __ieee754_lgammaf        

        lgamma                  lgammaf

-- 
-keith
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/newlib/attachments/20200825/48dc7188/attachment.sig>


More information about the Newlib mailing list