[Vm-dev] Re: New Cog VMs available
Eliot Miranda
eliot.miranda at gmail.com
Sun Jun 21 16:12:32 UTC 2015
Hi Holger,
On Jun 21, 2015, at 1:48 AM, Holger Freyther <holger at freyther.de> wrote:
>
>
>> On 21 Jun 2015, at 03:33, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>
>> Hi All,
>>
>>
>> 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:
>>
>> 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 /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
>> #1 0xb5fd0fe4 in OPENSSL_cpuid_setup ()
>> from /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.0
>
>
> That is trying to detect available CPU instructions at runtime[1]. The idea is that
> the code sets a signal handler for SIGILL, then executes ARMvX instruction
> and if the signal handler is not called it can use these routines.
Yes, I get it now.
>
> So the SIGILL is expected behavior, is this the last error or the first one?
It isn't visible unless one runs under gdb. I was checking that the assert VM ran the test suite without assert failures by running under gdb (so I could diagnose failures if they occurred) and so when the SSL library started up gdb caught the SIGILL and stopped execution. This confused me and I assumed it was an error. Forgive the noise.
>
> holger
>
>
> [1] https://git.openssl.org/?p=openssl.git;a=blob;f=crypto/armcap.c;h=1afbc9fcd036771dd694d0dbfa42df4d839d382b;hb=bc9567cdc9a56b5c904e075e3b929076c1e7583c#l89
More information about the Vm-dev
mailing list