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