OpenSmalltalk
/
opensmalltalk-vm
|
Cog
|
1 hr, 18 mins, and 45 secs
|
Nicolas Cellier
|
Rescue Win64 cygwin/mingw build and fix issue #498
I (Nicolas Cellier) guess that this only affect cygwin build since there is a parallel Makefile.msvc.tools `-mno-stack-arg-probe` prevents stack overflow detection when trying to allocate more than a page size on stack, see: https://archive.is/J01oT
This option makes the VM crash at startup when built for mingw target via cygwin cross-platform toolchain. Removing the option let the VM start, and the image can at least run some essential SUnit TestCase Note sure however whether the VM is fully operational or not because I do not know if `-mno-stack-arg-probe` is really required or just an optimization...
`-mno-stack-arg-probe` could eventually work if we would be able to allocate a big enough stack at startup. That's what we do when using MSVC tool chain:
> ../common/Makefile.msvc.tools:# the default stack size to 2Mb to avoid crashes in the JIT's alloca. > ../common/Makefile.msvc.tools:DEFAULT_STACK_SIZE:=2097152 > ../common/Makefile.msvc.tools:STACK_LD_FLAG=/STACK:$(DEFAULT_STACK_SIZE),$(DEFAULT_STACK_SIZE) > ../common/Makefile.msvc.tools:BASELDFLAGS:= $(STACK_LD_FLAG) /DYNAMICBASE /LARGEADDRESSAWARE /NXCOMPAT /DEBUG:FULL
This is supposed to have a solution in mingw too, see: https://stackoverflow.com/questions/52406183/mingw-stack-size-reserved-or-committed
That's exactly what we are trying to do here:
> ../common/Makefile.tools:BASELDFLAGS:=-m64 -mthreads -Wl,--stack -Xlinker 2097152,2097152 -Wl,$(EXPORT)
Unfortunately, this option is apparently ignored (or overriden?)...
|
|
|
Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you!
SIGN UP HERE
|
|
|
|
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"action": {
"@type": "ViewAction",
"url": "https://travis-ci.org/github/OpenSmalltalk/opensmalltalk-vm/builds/731849628?utm_medium=notification&utm_source=email",
"name": "View Build"
},
"description": "View Build #2220 on Travis CI"
}
</script>