OSDN Git Service

[JIT] Fix more missing endian conversions (opcodes for AArch64, ARM, and Mips stub...
authorDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 6 Nov 2014 09:53:05 +0000 (09:53 +0000)
committerDaniel Sanders <daniel.sanders@imgtec.com>
Thu, 6 Nov 2014 09:53:05 +0000 (09:53 +0000)
commit10f28ec3ef373dd00dfb6e39ee9a4aa59bb8d123
treef18465cd56cb422917e98f6cfa9a6bf2407ff3b0
parent42b17f97cf4a9c1b63e3c4e7c62a79bd024728d8
[JIT] Fix more missing endian conversions (opcodes for AArch64, ARM, and Mips stub functions, and ARM target in general)

Summary:
Fixed all of the missing endian conversions that Lang Hames and I identified in
RuntimeDyldMachOARM.h.

Fixed the opcode emission in RuntimeDyldImpl::createStubFunction() for AArch64,
ARM, Mips when the host endian doesn't match the target endian.
PowerPC will need changing if it's opcodes are affected by endianness but I've
left this for now since I'm unsure if this is the case and it's the only path
that specifies the target endian.

This patch fixes MachO_ARM_PIC_relocations.s on a big-endian Mips host. This
is the last of the known issues on this host.

Reviewers: lhames

Reviewed By: lhames

Subscribers: aemerson, llvm-commits

Differential Revision: http://reviews.llvm.org/D6130

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221446 91177308-0d34-0410-b5e6-96231b3b80d8
lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h