I've used qemu-user before to use arm binaries on an x86 machine, but I wonder, is it possible to use qemu-user or something similar to pre-translate binaries between architectures? I've been trying to look for something like this, but I haven't found anything yet. You would think since we can already dynamically translate binaries between two architectures, it would be relatively easy to do this translation ahead of time. Are there any technical barriers to this, has it already been done, or is it just that nobody has bothered to do this yet?
Asked
Active
Viewed 866 times
2
-
1static binary translation is the doing it ahead of time, dynamic is at runtime. Google static binary translation. As with dynamic it is non-trivial and perhaps even more difficult than dynamic. The question is not has nobody bothered to do this but is why would someone bother to translate a binary in the first place. simulation is by far the easiest solution for the general case, dynamic hard, static even harder. – old_timer Jul 11 '13 at 19:46
-
Usermode emulation can only translate instruction sets between 64bit and 32bit on x86, I believe. Definitely not ARM to x86, because they have different endiannesses. – Kerrek SB Jul 11 '13 at 20:20
-
Most ARM processors run in little endian just like x86. – tangrs Jul 12 '13 at 00:26
-
@dwelch need to translate x86 library to arm to use it on iOS. – Pétur Ingi Egilsson Nov 17 '13 at 13:45