[Vm-dev] Build failed: opensmalltalk-vm 1.0.2174

Tobias Pape Das.Linux at gmx.de
Tue Sep 15 11:39:06 UTC 2020


> On 14.09.2020, at 22:14, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> 
> Hi Tobias,
> 
> On Mon, Sep 14, 2020 at 10:45 AM Tobias Pape <Das.Linux at gmx.de> wrote:
>  
> Hi
> 
> > On 14.09.2020, at 19:11, AppVeyor <no-reply at appveyor.com> wrote:
> > 
> > Build opensmalltalk-vm 1.0.2174 failed
> > 
> > Commit ceaf607b6c by Tobias Pape on 9/14/2020 5:07 PM: 
> > [ci] These fail big time due to complex third-party config.
> > 
> > Configure your notification preferences
> > 
> 
> The appveyor/windows builds fail due to the follwing:
> 
> https://ci.appveyor.com/project/OpenSmalltalk/vm/builds/35197866/job/bm2c0eqew69db81c#L631
> 
> ../../spursrc/vm/gcc3x-cointerp.c: In function ‘callbackEnter’:
> ../../spursrc/vm/gcc3x-cointerp.c:13438:7: error: too few arguments to function ‘_setjmp’
> 13438 | if ((_setjmp(GIV(jmpBuf)[GIV(jmpDepth)])) == 0) {
>       |      ^~~~~~~
> In file included from ../../spursrc/vm/gcc3x-cointerp.c:26:
> /usr/i686-w64-mingw32/sys-root/mingw/include/setjmp.h:242:63: note: declared here
> 242 | int __cdecl __attribute__ ((__nothrow__,__returns_twice__)) _setjmp(jmp_buf _Buf, void *_Ctx);
>     |                                                             ^~~~~~~
> 
> I didn't know that two-arg setjmp was a thing. 
> 
> Yes, on win32 with clang/mingw it gets around a weirdness in Microsoft's Kernel32 implementation, which insists on unwinding the stack.  That doesn't play well with a number of external libraries, nor with the JIT.  Hence mingw providing a work-around.
> 
> It seems that the custom _setjmp in sqSetjmpShim.h gets somehow overridden?
> 
> Sorry.  I got confused.  Had too many balls up in the air at the same time and convinced myself that a #define fix for the above wasn't working.  Hewnce3 I didn't commit a fully functional sqSetjmp.h.  I've got as fix.  Will be committing in a few minutes.  Apologies.

No worries :)
-t



More information about the Vm-dev mailing list