On 06/09/2011 04:44 AM, Bruno Haible wrote:
> Hi Eric,
> 
>> the new cygwin cross-compiler for mingw:
>>
>> i686-pc-mingw32-gcc (GCC) 4.5.2
> 
> Ah, interesting.
> 
> There is also a new cross-compiler i686-w64-mingw32-gcc.

And a new x86_64-w64-mingw32-gcc, as well!

> It also produces
> native Win32 executables. Do you know what's the difference between
> i686-pc-mingw32 and i686-w64-mingw32?

i686-pc-mingw32 is the old mingw32 project; it is not as actively
maintained today, but is still the project used by cygwin.  Right now,
it uses dwarf exceptions.

i686-w64-mingw32 is the new mingw (aka mingw64) project; it is currently
more actively maintained, and the Fedora project is trying to switch
over to this cross-compiler.  However, it still uses sjlj exceptions
(worse performance on C++ code).  This generates 32-bit executables
(despite the w64 in the name, and the mingw32 is a bit of a misnomer as
well - but that's historical).

x86_64-w64-mingw32 also stems from the mingw (aka mingw64) project; it
is the 64-bit counterpart.  There is work underway to make the mingw64
project a multilib compiler (one gcc producing either 32- or 64-bit
executables depending on options), but it's not available on cygwin yet.
 If cygwin is ever ready for compilation on 64-bit windows, this would
be the project to use; but it requires switching away from sjlj
exceptions first.

I could be misrepresenting things though; for more authoritative
answers, ask Chuck Wilson on the cygwin lists for details about the
current state of cygwin cross-compilers for mingw.

-- 
Eric Blake   ebl...@redhat.com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to