On 22 May 2015 at 14:21, Cyd Haselton <chasel...@gmail.com> wrote:
>
>
> On May 22, 2015 7:34:16 AM CDT, Jo Shields <direct...@apebox.org> wrote:
>>
>>
>>On 22/05/15 01:16, cyd wrote:
>>> Let me back up a few steps before I start troublehooting this.
>>>
>>> Does the monolite build of mono 4.0 support ARM...specifically ARMv7?
>> If
>>> so, are there any modifications I need to make before running 'make
>>&& make
>>> install?'
>>
>>Monolite is CPU-agnostic. It's just bytecode. Mono 4 supports ARMv7, so
>>the question is what instructions are triggering SIGILL
>>_______________________________________________
>>Mono-devel-list mailing list
>>Mono-devel-list@lists.ximian.com
>>http://lists.ximian.com/mailman/listinfo/mono-devel-list
>
> Running 'strace -v -o mono.log make check', then 'cat mono.log | grep -B 12 
> SIGILL' yields:
>
> mprotect(0x40085000, 4096, PROT_READ)   = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
> gettid()                                = 10243
> syscall_983045(0x40086f24, 0xffffffb8, 0, 0x40086f24, 0x40087154, 0, 
> 0xbeaec0d0, 0xf0005, 0x4008715c, 0xbe2ed000, 0, 0, 0, 0xbeaec070, 0x4007e254, 
> 0x4007eaa4, 0x60000010, 0x40086f24, 0, 0, 0xc764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
> 0, 0) = 0
> mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 
> 0x40089000madvise(0x40089000, 8192, 0xc /* MADV_??? */) = -1 EINVAL (Invalid 
> argument)
> sigaltstack({ss_sp=0x40089000, ss_flags=0, ss_size=8192}, NULL) = 0
> sigaction(SIGABRT, {0x40076a71, [], SA_STACK|SA_RESTART|SA_SIGINFO}, NULL, 
> 0x1dd9028) = 0
> sigaction(SIGBUS, {0x40076a71, [], SA_STACK|SA_RESTART|SA_SIGINFO}, NULL, 
> 0x1dd9028) = 0
> sigaction(SIGFPE, {0x40076a71, [], SA_STACK|SA_RESTART|SA_SIGINFO}, NULL, 
> 0x1dd9028) = 0
> sigaction(SIGILL, {0x40076a71, [], SA_STACK|SA_RESTART|SA_SIGINFO}, NULL, 
> 0x1dd9028) = 0
>
> I have zero experience reading straces but if I had to guess it looks like a 
> function is making an invalid memory call.

Isn't the sigaction there setting up the signal handler for SIGILL? If
so this is probably the wrong part to be looking at. I'm slightly
confused by the sigaction written here because it's taking four
arguments but sigaction only takes three (I'm not great at reading the
output of strace either).

Another way to debug this is run the program under gdb and make sure
you set it up to intercept SIGILL. When gdb catches SIGILL you can
walk through the stack and also examine the assembly to see if
anything looks suspect to you.
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to