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