Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.
gcc defaults to -march=i686. This causes executables
created by mingw to crash with illegal instruction
exceptions when run on processors that don't support
pentium pro instructions.
David Welch's post to mingw-user tells how to fix (although he got w32api but wrong). New release of mingw-runtime (compiled without the -march=i686) needed.
From: David Welch <email@example.com> | Block address
Subject: [Mingw-users] Bug in w32api 0.4
Date: Mon, 19 Feb 2001 17:56:08 +0000 (GMT)
libmingw32 in w32api 0.4 binary release is apparently compiled for the
Pentium Pro/Athlon, specifically the function 'main' contains a 'cmov'
instruction which causes an invalid opcode exception on my 486.
a new version of libmingw32.a fixed the problem.
This should now be fixed in the mingw-runtime 0.5 release and the w32api 0.5 release. Please try this release to see if it indeed fixes the problem. These releases are labeled snapshot but should provide better results than the 0.4 releases.
Executables compiled with -mwindows flag failed before fix, now work for me on i486 and i586 with runtime-0.5 and w32api-0.5 binaries.