[Mono-dev] Building from Source Fails with mcs: Command not found (Mono-devel-list Digest, Vol 121, Issue 19) (Mono-devel-list Digest, Vol 121, Issue 20)

Cyd Haselton chaselton at gmail.com
Fri May 22 14:29:58 UTC 2015



On May 22, 2015 8:35:15 AM CDT, Dan Liew <dan at su-root.co.uk> wrote:
>On 22 May 2015 at 14:21, Cyd Haselton <chaselton at gmail.com> wrote:
>>
>>
>> On May 22, 2015 7:34:16 AM CDT, Jo Shields <directhex at 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 at 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).
>

Any chance the four arg sigaction is causing the problem?

>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.

Unfortunately I don't have a working gdb on this device.  If absolutely necessary I could port it then come back to the mono build, but I'd prefer other options (if available).  

I do have a working addr2line and a logcat app, if that helps...?

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.


More information about the Mono-devel-list mailing list