This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: New release time?


Corinna Vinschen wrote:
> 
> On Thu, Apr 10, 2003 at 03:00:42PM -0400, Pierre A. Humblet wrote:
> > Christopher Faylor wrote:
> > >
> > > On Thu, Apr 10, 2003 at 07:29:47PM +0200, Corinna Vinschen wrote:
> > > >
> > > >Urgh!  cygwin/regex/regex.h:
> > > >
> > > >  typedef off_t regoff_t;
> > > >
> > > >This means, the current Cygwin from CVS is using a 64bit regoff_t while
> > > >the applications linked against up to 1.3.22 are using a 32bit regoff_t.
> >
> > Can't this occur whenever:
> > 1) We distribute an updated cygwin1.dll and <sys/types.h>
> > 2) Some package XXX with XXX.dll and with XXX.h including <sys/types> is
> >    NOT updated
> > 3) A user compiles an application using package XXX
> 
> No.  The problem isn't the definition of off_t but the dependency of
> regoff_t from off_t.  This results in changing the size of regoff_t
> *inside* of Cygwin with 1.5.0 since now __CYGWIN_USE_BIG_TYPES__ is
> defined and off_t is 64 bit.  The solution is either to decouple
> regoff_t from off_t and use _off_t instead, so regoff_t is always
> 32 bit or to go the hard way and define __regoff32_t and __regoff64_t
> and 32 as well as 64 bit entry points for the external regex functions.
> 
> I'm tending to keep it 32 bit.
> 
Corinna,

I agree that something must be changed for regoff_t and your solution is
fine.
My question really was: will similar problems happen in other cases, 
such as e.g. zlib?
It seems that a user doing 3) above will endup with an application
using 64 bit offsets calling functions in (old) cygz.dll that still
expects 32 bits.

Pierre


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