I have tried to build the Cog VM in an athlon-xp using revision 3164.
I have used the latest release of Cygwin to build the Cog VM as indicated in:
http://www.squeakvm.org/svn/squeak/branches/Cog/build.win32x86/HowToBuild
This requires adjustments to the switches in the makefiles (removal of -mno-cygwin) and specifying the paths to use the MinGW toolchain binaries to avoid the dependency of the resulting binaries on Cygwin dlls (cygwin1.dll, cyggcc_s-1.dll).
This is because seemingly, GCC 4.7.0 and later have finally removed the deprecated -mno-cygwin option:
"gcc: error: unrecognized command line option '-mno-cygwin'"
Besides, I have had to downgrade the default binutils version to binutils-2.21.1 because windres apparently has a bug:
"i686-pc-mingw32-windres: unexpected version string length 68 != 32 + 8"
I have attached a patch with the modifications I have had to make to the makefiles just for reference (CygwinTuning.patch).
The (./mvm) script or more specifically (make debug) doesn't run successfully in Cygwin:
[...]
../../src/vm/gcc3x-cointerp.c:9081:1: error: conflicting types for 'cmHomeMethod' ../../src/vm/gcc3x-cointerp.c:386:20: note: previous declaration of 'cmHomeMethod' was here ../../src/vm/gcc3x-cointerp.c:9092:1: error: conflicting types for 'activateCoggedNewMethod' ../../src/vm/gcc3x-cointerp.c:387:13: note: previous declaration of 'activateCoggedNewMethod' was here ../../src/vm/gcc3x-cointerp.c:9330:1: error: conflicting types for 'addNewMethodToCache' ../../src/vm/gcc3x-cointerp.c:389:13: note: previous declaration of 'addNewMethodToCache' was here
[...]
This is probably due to the appearance of the problem with NoDbgRegParms that is mentioned at:
http://lists.squeakfoundation.org/pipermail/vm-dev/2014-November/016948.html
I have attached the log of the failed build of the VM for debugging (LOGD).
On the other hand, (make product) builds successfully.
And using a standalone MinGW/MSYS environment (without Cygwin) avoids this problem altogether.
Greetings, Osl
vm-dev@lists.squeakfoundation.org