This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
Re: [khan@NanoTech.Wisc.EDU: missing signgam problem [Re: perl/PDL]]
- To: Christopher Faylor <cgf at redhat dot com>, newlib at sources dot redhat dot com
- Subject: Re: [khan@NanoTech.Wisc.EDU: missing signgam problem [Re: perl/PDL]]
- From: "J. Johnston" <jjohnstn at cygnus dot com>
- Date: Mon, 29 Jan 2001 18:01:30 -0500
- Organization: Red Hat Inc.
- References: <20010120190248.A22071@redhat.com> <3A6CA07F.E8868D16@cygnus.com>
"J. Johnston" wrote:
>
> Christopher Faylor wrote:
> >
> > Should this be fixed in newlib?
> >
> > cgf
> >
>
> It should. The simple way to handle it is to change math.h to have:
>
> #define signgam (_impure_ptr->_new._reent._gamma_signgam)
>
> This mirrors the way stdio.h declares stdin/stdout/stderr.
>
I have checked in a patch, however, the fix is not the one I originally
listed above. Instead the patch to math.h handles signgam the same
way that errno is handled (there is a function which returns the address
of signgam and it is dereferenced). A new file libc/reent/signgam.c has
been added as part of the patch.
-- Jeff J.
> > ----- Forwarded message from Mumit Khan <khan@NanoTech.Wisc.EDU> -----
> >
> > From: Mumit Khan <khan@NanoTech.Wisc.EDU>
> > To: Jerome BENOIT <JGMBenoit@Wanadoo.fr>
> > cc: Cygnus <cygwin@sourceware.cygnus.com>
> > Subject: missing signgam problem [Re: perl/PDL]
> > Date: Sat, 20 Jan 2001 17:55:28 -0600 (CST)
> > In-Reply-To: <3A6A1AD8.4D81C9D8@Wanadoo.fr>
> >
> > On Sun, 21 Jan 2001, Jerome BENOIT wrote:
> >
> > > dllwrap --dllname Math.dll --driver-name gcc --dlltool dlltool
> > > --export-all-symb
> > > ols --as as --output-def libMath.def --output-lib libMath.a \
> > > -s -L/usr/local/lib Math.o blas.o eigens.o ndtri.o quiet_nan.o cpoly.o
> > > simq.o s
> > > vd.o const.o mtherr.o polevl.o
> > > /usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.a -
> > > L/usr/lib -lm
> > > dllwrap: no export definition file provided
> > > dllwrap: creating one, but that may not be what you want
> > > Math.o(.text+0xb8c2):Math.c: undefined reference to `signgam'
> > [ ... ]
> >
> > It's a bug in newlib (Cygwin's C library) math.h header. The variable
> > signgam was changed to a macro, but the header file doesn't show that.
> >
> > Please add the following 2 lines *before* signgam is used in the sources
> > (use grep to find out), and if it works, I'll work up a patch after
> > I figure out the right way to do this.
> >
> > extern __IMPORT struct _reent reent_data;
> > #define signgam reent_data._new._reent._gamma_signgam
> >
> > Regards,
> > Mumit
> >
> > --
> > Want to unsubscribe from this list?
> > Check out: http://cygwin.com/ml/#unsubscribe-simple
> >
> > ----- End forwarded message -----
> >
> > --
> > cgf@cygnus.com Red Hat, Inc.
> > http://sources.redhat.com/ http://www.redhat.com/