This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Updated: mingw-runtime-3.18-3

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


Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]