Corinna Vinschen
2013-02-09 21:01:19 UTC
Hi guys,
I just uploaded all the stuff I have 64 bit-wise to the sourceware ftp
area. See ftp://cygwin.com/pub/cygwin/64bit/
What you see there is this:
- binary-toolchain-x86_64-pc-linux-x-x86_64-pc-cygwin-20130209.tar.xz
This >80 Megs archive contains a binary toolchain dir, representing
the full cross-build toolchain for x86_64 Linux, targeting
x86_64-pc-cygwin. This toolchain allows to build 64 bit Cygwin as
well as 64 bit Cygwin binaries. Only C and C++ are supported as
languages, since that's all I need. libgcc and libstdc++ only exist
as static libs so far.
After unpacking you get a directory called x86_64-pc-cygwin. Assuming
you install to /opt, just add /opt/x86_64-pc-cygwin/bin to $PATH and
you should be all set. Again, this is a toolchain only running on
x86_64 Linux. I'm using it on Fedora 17 right now.
- x86_64-pc-cygwin-binutils-20130209.patch
- x86_64-pc-cygwin-gcc-20130209.patch
These are the current patchsets to binutils and gcc, relative to
current CVS/SVN HEAD. The problem I described in my mail
http://cygwin.com/ml/cygwin-developers/2013-02/msg00009.html
is yet unsolved, but the required changes to gcc to support that
scenario will be addresses by my collegue Kai Tietz within this
month.
- 64bit-testdir-20130209.tar.xz
This is the full set of 64 bit binaries I have right now, apart from
cygserver, which I missed to include. The set consists of the
cygwin DLL, the Cygwin utils, a dash shell, and a tool called
cat-maps, which I hacked to print out /proc/$PID/maps of a 64 bit
process. In fact, it's a simple cat(1), but only for printing the
maps file. Why not cat? Easy: cat-maps also works outside of a
Cygwin shell...
However, what's also include is a subdir called mingw64-gdb. That
subdir contains what the name implies, a x86_64 Mingw GDB targeting
x86_64 Windows. This GDB is *extremly* helpful to track down
problems in 64 bit Cygwin. Apart from that, strace also seems to
work quite nicely.
Please note, even if you can start 64 bit Cygwin processes from
32 bit Cygwin and vice versa, there's no real interaction between
32 and 64 bit Cygwin processes yet, especially not at execve time.
Don't try to run 64 bit processes from 32 bit mintty, it won't
work as expected. Use a Windows console for now.
- What's missing are the Cygwin sources, but you can easily fetch them
from the Cygwin CVS repo:
cvs -d :pserver:anoncvs-rDBXBDvO6BXQT0dZR+***@public.gmane.org co -r cygwin-64bit-branch winsup
Play with this all you like. If you find bugs, please report them to
this list. As usual, the best way to report bugs is to send patches.
Apart from that, I'm grateful if you use the included GDB to try to
track down the problem or, baring that, use strace and/or write a
testcase.
Peace,
Corinna
I just uploaded all the stuff I have 64 bit-wise to the sourceware ftp
area. See ftp://cygwin.com/pub/cygwin/64bit/
What you see there is this:
- binary-toolchain-x86_64-pc-linux-x-x86_64-pc-cygwin-20130209.tar.xz
This >80 Megs archive contains a binary toolchain dir, representing
the full cross-build toolchain for x86_64 Linux, targeting
x86_64-pc-cygwin. This toolchain allows to build 64 bit Cygwin as
well as 64 bit Cygwin binaries. Only C and C++ are supported as
languages, since that's all I need. libgcc and libstdc++ only exist
as static libs so far.
After unpacking you get a directory called x86_64-pc-cygwin. Assuming
you install to /opt, just add /opt/x86_64-pc-cygwin/bin to $PATH and
you should be all set. Again, this is a toolchain only running on
x86_64 Linux. I'm using it on Fedora 17 right now.
- x86_64-pc-cygwin-binutils-20130209.patch
- x86_64-pc-cygwin-gcc-20130209.patch
These are the current patchsets to binutils and gcc, relative to
current CVS/SVN HEAD. The problem I described in my mail
http://cygwin.com/ml/cygwin-developers/2013-02/msg00009.html
is yet unsolved, but the required changes to gcc to support that
scenario will be addresses by my collegue Kai Tietz within this
month.
- 64bit-testdir-20130209.tar.xz
This is the full set of 64 bit binaries I have right now, apart from
cygserver, which I missed to include. The set consists of the
cygwin DLL, the Cygwin utils, a dash shell, and a tool called
cat-maps, which I hacked to print out /proc/$PID/maps of a 64 bit
process. In fact, it's a simple cat(1), but only for printing the
maps file. Why not cat? Easy: cat-maps also works outside of a
Cygwin shell...
However, what's also include is a subdir called mingw64-gdb. That
subdir contains what the name implies, a x86_64 Mingw GDB targeting
x86_64 Windows. This GDB is *extremly* helpful to track down
problems in 64 bit Cygwin. Apart from that, strace also seems to
work quite nicely.
Please note, even if you can start 64 bit Cygwin processes from
32 bit Cygwin and vice versa, there's no real interaction between
32 and 64 bit Cygwin processes yet, especially not at execve time.
Don't try to run 64 bit processes from 32 bit mintty, it won't
work as expected. Use a Windows console for now.
- What's missing are the Cygwin sources, but you can easily fetch them
from the Cygwin CVS repo:
cvs -d :pserver:anoncvs-rDBXBDvO6BXQT0dZR+***@public.gmane.org co -r cygwin-64bit-branch winsup
Play with this all you like. If you find bugs, please report them to
this list. As usual, the best way to report bugs is to send patches.
Apart from that, I'm grateful if you use the included GDB to try to
track down the problem or, baring that, use strace and/or write a
testcase.
Peace,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat