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
