This is the mail archive of the newlib@sources.redhat.com mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [khan@NanoTech.Wisc.EDU: missing signgam problem [Re: perl/PDL]]


"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/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]