RFC: Cygwin 64 bit?

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Jun 28 19:22:00 GMT 2011


On Jun 28 12:35, Charles Wilson wrote:
> On 2:59 PM, JonY wrote:
> >>   - What name should the 64 bit DLL have?
> > 
> > I think they should still use the "cyg" prefix, the libtool people was
> > against it when I suggested using a new prefix for 64bit mingw.
> 
> Not /this/ libtool person.  I would LIKE to be able to distinguish
> between 32bit and 64bit DLLs on both cygwin and mingw.  I'd support a
> change to libtool for cygwin64 DLLs to have an alternate prefix
> (cyg64*?), and (if it's not too late, horse/barn situation) I'd also
> support a similar change for mingw64.

cyg64 sounds like a good idea to me.  It would be a good way to allow
to reside 64 and 32 bit stuff in the same /bin dir.

> I prefer being able to "upgrade" slowly from 32bit to 64bit, by
> intermingling the apps.  But, this requires
>   (a) cygwin64-1.dll(?) and cygwin-1.dll being able to share data

Right.

>   (b) ABI/API consistency.  If zlib1.dll defines an interface that takes
> a (32bit) "long"...but my 64bit version of tar.exe thinks that a long is
> 64bits...it might break if linked to the 32bit version of zlib1.dll.
> Does this mean that ALL DLLs must have 64bit implementations before ANY
> client EXEs are ported to the 64bit "platform".  That's another
> "crippled until" non-solution...

No, 32 and 64 bit DLLs are not interchangable anyway.  A 64 bit process
can't load 32 bit DLLs and a 32 bit process can't load 64 bit DLLs.
So, if you only have a 32 bit cygz.dll, you can only create 32 bit
executables using it.  Only with a cyg64z.dll you can create a 64 bit
executable using libz.  Same goes for static linking, of course.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat



More information about the Cygwin-developers mailing list