[Vm-dev] Re: New Cog VMs available
eliot.miranda at gmail.com
Sun Jun 21 01:49:22 UTC 2015
On Sat, Jun 20, 2015 at 6:33 PM, Eliot Miranda <eliot.miranda at gmail.com>
> Hi All,
> On Sat, Jun 20, 2015 at 6:26 PM, Eliot Miranda <eliot.miranda at gmail.com>
>> ... at http://www.mirandabanda.org/files/Cog/VM/VM.r3386
>> CogVM binaries as per VMMaker.oscog-eem.1370/r3386
>> Add the ARMv5/ARMv6 Cog Spur JIT VM!
> It's very satisfying to release a JIT for a new (for Cog) ISA. Thanks to
> Lars Wassermann and Tim Rowledge for lots of hard work on the JIT, which I
> participated in too. And thanks to Doug McPherson for lots of work in
> other parts of the ARM build. This is great.
> The main caveat is that this has only been tested on Raspberry Pi running
> Raspbian. We're interested to hear of experience with other ARM linux
> All is not perfect. I've been able to update a Spur image completely and
> run almost all tests. But currently there's a segfault coming from SSL.
> Anyone who's got expertise with SSL and ARM is encouraged to take a look.
> Here's the current stack trace for the segfault:
Ah, I was confused by running this under gdb. Had I run it natively the
SIGILL would have been caught and ignored. So ignore this. One lives and
> Program received signal SIGILL, Illegal instruction.
> 0xb5fd4600 in ?? () from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
> (gdb) where
> #0 0xb5fd4600 in ?? () from
> #1 0xb5fd0fe4 in OPENSSL_cpuid_setup ()
> from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
> #2 0xb6fe8254 in ?? () from /lib/ld-linux-armhf.so.3
> #3 0x0029db18 in ?? ()
> #4 0x0029db18 in ?? ()
> Backtrace stopped: previous frame identical to this frame (corrupt stack?)
> (gdb) call printStackCallStackOf (framePointer)
> 0xbefab924 I SqueakSSL>initialize 0x619df8: a(n) SqueakSSL
> 0xbefab93c M SqueakSSL class(Behavior)>new 0x1a3f6c0: a(n) SqueakSSL class
> 0xbefab954 M SqueakSSLTest>setUp 0x18a9f08: a(n) SqueakSSLTest
> 0xbefab96c M  in SqueakSSLTest(TestCase)>runCase 0x18a9f08: a(n)
> 0xbefab988 M BlockClosure>on:do: 0x44d640: a(n) BlockClosure
> 0xbefab9b0 M  in SqueakSSLTest(TestCase)>timeout:after: 0x18a9f08: a(n)
> 0xbefab9d0 M BlockClosure>ensure: 0x44d6e0: a(n) BlockClosure
> 0xbefab9f8 M SqueakSSLTest(TestCase)>timeout:after: 0x18a9f08: a(n)
> 0xbefaba18 M  in SqueakSSLTest(TestCase)>runCase 0x18a9f08: a(n)
> 0xbefaba38 M BlockClosure>ensure: 0x44d810: a(n) BlockClosure
> 0xbefaba54 M SqueakSSLTest(TestCase)>runCase 0x18a9f08: a(n) SqueakSSLTest
>> Add explicit read barriers to primitives which access an argument as the
>> receiver (i.e. the mirror primitives). Don't check if the actual
>> receiver is
>> used. Simplify failure where appropriate cuz the primitives will be
>> Add -fwrapv to all linux gcc builds (to insist on 2's complement
>> and add makeallclean, making makeall do the dirty build.
>> Provide a -exitonwarn command line switch for the Mac and Unix VMs to
>> allow for
>> CI testing of asserts.
>> Unix: restore the SCCS revision after the version number in -version
>> Remember to count shrink requests
>> Fix bug in rewriting compiler primitives on module unload, etc. The old
>> didn't change the assignment to the primitiveFunctionPointer, which is
>> for correct management of failing primitive calls on Spur. Simplify the
>> compile hook to eliminate the label parameter; this is local to the Cogit.
>> ARM Cogit:
>> Use out-of-line literals for compactness.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev