Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Linux emulation



On 3 Apr, 2014, at 13:06 , Robert Swindells <rjs%fdy2.co.uk@localhost> wrote:

> 
> Christos Zoulas wrote:
>> In article <20140402181826.6567D12967%ren.fdy2.co.uk@localhost>,
>> Robert Swindells  <rjs%fdy2.co.uk@localhost> wrote:
>>> 
>>> I'm trying to get Linux emulation on arm to work with EABI binaries.
>>> 
>>> I have got the kernel to find the correct syscalls but suspect that
>>> they are not seeing the arguments in the expected registers.
>>> 
>>> I'm trying this on a default evbarm build, should I switch to eabi for
>>> the toolchain and make the Linux syscall code that I have added be
>>> conditional on __ARM_EABI__ ?
>> 
>> I think so. It is not possible to run linux EABI binaries on a non EABI
>> native system, right?
> 
> I have tried it out after sending that email, the ABI of the host
> system doesn't seem to make any difference, I'm getting good ktrace
> logs now.
> 
> I was wondering if our EABI did similar things to the Linux one in
> aligning 64 bit parameters in registers.

Yes.  The handling of 64 bit parameters is the major difference between
OABI and EABI causing #ifdef's to be added to arm assembly functions.
Floating point arguments can also be passed differently but assembly
functions and system calls probably aren't going to care.

Dennis Ferguson


Home | Main Index | Thread Index | Old Index