[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua/LuaJIT2 performance on Android
- From: Mike Pall <mikelu-1104@...>
- Date: Mon, 18 Apr 2011 23:27:06 +0200
Adam Strzelecki wrote:
> iOS seems to use its own ABI described at rather than standard EABI:
> http://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/
Ick. They really leave out no opportunity to make the life of
cross-platform developers miserable. :-(
> However got no clue how much it is different from standard ARM's EABI.
Well, it will only work on iOS 3.0 or higher. And the debugger may
not report backtraces properly. And the FFI may be partially
broken wrt. struct field alignment, due to the idiotic changes to
the alignment rules.
In other words: remove the check for EABI and see if it works.
> Anyway it took 1.5h to compile GCC 4.5.2 on my MacBook, so maybe
> there's some workaround to Xcode's GCC 4.2.1 when compiling
> ARM's port?
There are a couple of builtins that are missing in versions prior
to 4.3. It's not hard to replace them, though. Try removing the
version checks in lj_arch.h and lj_def.h and see what breaks.
> But going back to ABI issue, is EABI fragile part of LuaJIT ARM
> port or it can be easily tuned to other ABI, like iOS one?
Adding support for the strange (un)alignment rules is possible,
but requires extra work. I cannot do anything about the other
issues.
Oh and I wonder what ABI it defines instead. Mail me the output
of the 4.2 cross-compiler for: echo | arm-whatever-gcc -E - -dM
--Mike