bencoman commented on this pull request.
@@ -0,0 +1,38 @@
+############################################################################# +# Makefile for Win32 Stack Spur PharoVM using gcc and cygwin +# Do make init to allow make -n to function. +############################################################################# + +VM:=Pharo +VM_NAME:=Pharo Virtual Machine + +VMSRCDIR:=../../spurstacksrc/vm +# NOTES: +# STACK_ALIGN_BYTES=16 is needed in mingw and FFI (and I suppose on other modules too). +# ALLOCA_LIES_SO_USE_GETSP=0 Some compilers return the stack address+4 on alloca function, +# then FFI module needs to adjust that. It is NOT the case of mingw. +# For more information see this thread: http://forum.world.st/There-are-something-fishy-with-FFI-plugin-td4584226.ht... +#COGDEFS:= -DPharoVM=1 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0
you are right, I just copied those lines from pharo.cog.spur. But is this PR the place to fix these? This PR is focused on build.win64x64/pharo.cog.spur and your concern seems a broader issue...
``` $ find opensmaltalk-vm -name Makefile -print -exec grep STACK_ALIGN_BYTES {} ;
./build.win32x86/pharo.cog.spur/Makefile # STACK_ALIGN_BYTES=16 is needed in mingw and FFI (and I suppose on other modules too). #COGDEFS:= -DPharoVM=1 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0
./build.win32x86/pharo.cog.spur.lowcode/Makefile # STACK_ALIGN_BYTES=16 is needed in mingw and FFI (and I suppose on other modules too). #COGDEFS:= -DPharoVM=1 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0
./build.win32x86/pharo.sista.spur/Makefile # STACK_ALIGN_BYTES=16 is needed in mingw and FFI (and I suppose on other modules too). #COGDEFS:= -DPharoVM=1 -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0
./build.win32x86/squeak.cog.spur.lowcode/Makefile COGDEFS:= -DSTACK_ALIGN_BYTES=16 -DALLOCA_LIES_SO_USE_GETSP=0 ```