Enable the ARM emulation support on AArch64 which can execute ARM32 code. Similarly, handle MIPS 32 on 64.
Diff Detail
Diff Detail
- Repository
- rLLDB LLDB
Event Timeline
Comment Actions
BTW, there's no fundamental reason why a 64-bit lldb-server has to use instruction emulation for debugging arm32 binaries. Since all arm64 chips support hardware single stepping, we could just teach the arm32 native register context to issue PTRACE_SINGLESTEP commands when build in 64-bit mode, and increase debugging reliability while decreasing lldb-server size. (The same is probably also true for a 32-bit lldb-server running on a 64-bit kernel, but that's something that we would have to detect at runtime.)
Anyway, just an idea, this patch is fine. I was under the impression that arm64 defines arm, but obviously I was wrong.