This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: Updated: mingw-runtime-3.18-3
- From: Charles Wilson <cygwin at cwilson dot fastmail dot fm>
- To: Mailing List: CygWin-Apps <cygwin-apps at cygwin dot com>
- Date: Sat, 04 Jun 2011 14:31:49 -0400
- Subject: Re: Updated: mingw-runtime-3.18-3
- References: <201106020502.p5252MaN022999@alum-mailsec-relay-3.mit.edu> <BANLkTimjYTTneKq9Fyd2sqnidVwgD_nioQ@mail.gmail.com> <BANLkTimZSmQm-UtZHkzGK4=yezSOCdSBUQ@mail.gmail.com> <isdt55$9gu$1@dough.gmane.org>
On 6/4/2011 2:22 PM, René Berber wrote:
> On 6/4/2011 12:49 PM, Jim Reisert AD1C wrote:
>
>> René Berber suggested:
>>
>>> Use i686-pc-mingw32-gcc instead.
>>
>> That worked, thanks. That's not 100% correct, though, the command is
>> (or seems to be):
>>
>> i686-w64-mingw32-gcc
No, the mingw-gcc(-core) package provides i686-pc-mingw32-gcc.exe. The
mingw64-i686-gcc(-core) package provides i686-w64-mingw32-gcc.exe.
The difference between the two is:
1) mingw-gcc (that is, i686-pc-mingw32-*) is based on the mingw.org
distribution. It uses the mingw-runtime (e.g. msvcrt implibs & headers)
and w32api headers developed by that project -- which happen to be the
same as the ones used by the cygwin project itself.
2) mingw64-i686-gcc (that is, i686-w64-mingw32-*) is based on the
mingw64.sf.net distribution. It uses a different, and independently
developed, version of the msvcrt implibs, headers, and w32api headers.
It shares this distinction with the mingw64-x86_64-gcc (that is,
x86_64-w64-mingw32-*) compiler. However, the i686-w64 version creates
32bit output -- ONLY. the x86_64-w64 version creates 64bit output ONLY.
Furthermore, both the i686-w64 and x86_64-w64 versions use "sjlj"
exception handling, while the i686-pc version uses "dw2" exception handling.
> One is for 32-bit the other for 64-bit, but the 64-bit is supposed to be
> capable of producing both kind of binaries, I don't use it so I'm not
> sure if they reached that objective.
This is completely wrong.
--
Chuck