Mail Archives: cygwin/2011/06/04/14:40:30
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
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -