On Thu, Dec 18, 2008 at 9:46 PM, Miguel de Icaza <[email protected]> wrote:
> Hello,
>
>> For the record, I figured out the root cause for the Illegal
>> Instruction.  Openembedded when it builds ARM kernels turns off
>> CONFIG_OABI_COMPAT (automatically) as a performance optimization if it
>> detects you are building with a EABI toolchain, etc.  So unless I'm
>> missing something, at this time Mono requires OABI_COMPAT enabled in
>> ARM kernels.  We should probably fix this up at some point as there
>> will be an increasing number of ARM systems in the future that have
>> this turned off.
>
> Can you explain this for the layman?

This is the most complete description of OABI/EABI for ARM I've found:
http://wiki.debian.org/ArmEabiPort

During the OABI/EABI change, the system call interface changed.  Linux
kernels can be configured to support both syscall conventions, but
there is a very small performance hit.

> What is the suggested approach to take?

I suggest at some point, consider supporting the new syscall
convention in the Mono trampoline.  I think all that needs modified is
the ASM for the syscalls.  Probably need to support both OABI and EABI
for the present, but can probably deprecate OABI syscall support in
the next year or so.

> Is this something that we could put in a configure test, or is this a
> runtime issue?

Could be done with a configure test -- if we are using a EABI
compiler, I don't think there is any reason to use the OABI syscall
convention.

Thanks,
Cliff

-- 
=======================
Cliff Brake
http://bec-systems.com
_______________________________________________
Mono-devel-list mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to