RFC: Cygwin 64 bit?

JonY jon_y@users.sourceforge.net
Sun Jun 26 12:11:00 GMT 2011

On 6/26/2011 19:45, Corinna Vinschen wrote:
> Hi guys,
> I'm not sure if you agree, but as far as I can see, 32 bit systems are
> more and more reduced to a niche market, namely Netbooks and other very
> small systems.  On the Desktop, 32 bit is declining fast, in the server
> segment it's practically dead.
> Given this, I'm wondering how much future Cygwin has if we stick to
> 32 bit.  I think it will be pretty limited.  In fact, we're probably
> rather late in the game.
> Lately I read a bit more about how 32 and 64 bit processes can interact
> with each other on Windows, and it seems we could come up with a 64 bit
> DLL which shares all important information with its 32 bit counterpart,
> so that we could run 64 and 32 bit processes in parallel on a 64 bit
> system acting as a single system.  This would be especially important,
> given the fact that 64 bit Cygwin applications will be pretty rare in
> the beginning.

Yes please, 64bit Cygwin will be very nice.

> As far as I can see what we have to do in about this order is
> - Discuss certain basics.  This is probably the most crucial step.
>   For instance:
>   - 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.

>   - Where should 64 bit binaries and libs go?

Its best that if we can separate 32bit/64bit completely, so there won't
be any conflicting files.

>   - Do we define "long" as 32 bit or 64 bit type?

I suggest 32bit, they'll be some awkwardness accessing w32api at the
Cygwin backend if they're 64bit.

>   - What defines should a 64 bit Cygwin compiler define?

__CYGWIN__ and __CYGWIN64__? Just so to allow programmers to tell that
its cygwin and its 64bit.

>   - What Windows headers and link libs do we use?

Bootstrap with mingw-w64? :)

> - Create a x86_64-pc-cygwin cross toolchain.

Yeah, I suppose newlib has to be ported first.

> - Create x86_64 replacements for x86 code and in general try to make the
>   Cygwin code 64 bit clean where it isn't so far.
> - Decide how we can integrate 64 bit stuff into the distro.  Will we have
>   a 32 bit and a distinct 64 bit distro?  Or, should we stick to a single
>   distro?  If so, how do we separate 64 and 32 bit stuff?  What is the
>   best package layout?

I suggest separating them, since I don't imagine they can interact with
each other anyway.

> - Change setup to allow installation of 64 bit stuff on 64 bit systems.
> This is a big project which can only work if we have help and support
> from the community.  Before we can even contemplate to start discussing,
> I would like to learn:
> - How much interest do you have in a 64 bit Cygwin?
> - How much interest do you have to help to make 64 bit Cygwin real?
> - What part of the project would most interest you to help?  Coding
>   Cygwin?  Documentation?  Setup?  Toolchain?  You name it.

I'd like to help, but I don't know much on win32 API.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0xED74C077.asc
Type: application/pgp-keys
Size: 1685 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-developers/attachments/20110626/932a0207/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin-developers/attachments/20110626/932a0207/attachment.sig>

More information about the Cygwin-developers mailing list