Placement of signgam in libc instead of libm

Jeff Johnston jjohnstn@redhat.com
Mon Apr 24 15:16:29 GMT 2023


I looked at this.  I think it would ok to move as the method requires
math.h and I would
assume any users would have -lm specified.

-- Jeff J.

On Mon, Apr 24, 2023 at 4:52 AM Corinna Vinschen <vinschen@redhat.com>
wrote:

> On Apr 20 16:20, Joel Sherrill wrote:
> > Hi
> >
> > While double some checking that all references used by the long double
> math
> > routines Jennifer are resolved when linking, we have found a small
> oddity.
> >
> > The file libc/reent/signgam.c is implemented as follows:
> >
> > int *
> > __signgam (void)
> > {
> >   return &_REENT_SIGNGAM(_REENT);
> > }
> >
> > When TLS is enabled, the macro _REENT_SIGNGAM resolves to
> > _tls_gamma_signgam which is in the file libm/math/w_lgamma.c. This
> creates
> > the first reference from libc to libm that I have ever seen and requires
> > explicitly linking with -lm -lc when using lgamma().
> >
> > Would anyone be opposed to moving this method to libm/math?
>
> Not me, but Jeff added this to libc for a reason, I guess...?
>
>
> Corinna
>
>


More information about the Newlib mailing list