RFC: Cygwin 64 bit?

Chiheng Xu chiheng.xu@gmail.com
Mon Jun 27 01:45:00 GMT 2011

On Sun, Jun 26, 2011 at 7:45 PM, Corinna Vinschen
> 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?
>  - Where should 64 bit binaries and libs go?
>  - Do we define "long" as 32 bit or 64 bit type?
>  - What defines should a 64 bit Cygwin compiler define?
>  - What Windows headers and link libs do we use?
> - Create a x86_64-pc-cygwin cross toolchain.

Perhaps, you can use mingw64 cross toolchain directly, but with
cygwin/cygwin64 's own headers and libs.

mingw64 cross toolchain(32 bits and 64 bits) can be built and tested
in Cygwin environment.

Have you tried to use mingw64 cross toolchain(32 bits) to build Cygwin DLL ?

There is a problem. MinGW.org 's  win32api and mingw-runtime are 2
seperate packages, but mingw64 has no seperate win32api or win64api
packages. Cygwin DLL depend on win32api or win64api packages.  You
want to modify the w32api to win64api or extract win64api(the headers
, libs) from mingw64 ?

> - 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.

Cygwin source code should really be more clean.  Using some tools like
Source Insight(http://www.sourceinsight.com/) may be helpful.

Maybe you can't  start Cygwin64 project untill Cygwin source code 's
cleanness reach some criteria.

If Cygwin source code is extremely clean, then it would be easy to
make it 64bit clean, I think.

> - 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 think single distro but with seperate bin/include/lib directories is good.

In 64bit system, 64bit bin directory can precede 32bit  bin directory in PATH.

This may be implemented as Cygwin64.bat, in parallel with Cygwin.bat.

32bit Cygwin will be a self sustained system,  in very long time, say,
 5~10 years.  32bit Cygwin known nothing about 64bit things.
But 64bit Cygwin can use 32bit Cygwin(the tools) to bootstrap itself
at its baby stage.

Chiheng Xu

More information about the Cygwin-developers mailing list