This is an archive of the discontinued LLVM Phabricator instance.

[JIT] Fix more missing endian conversions (opcodes for AArch64, ARM, and Mips stub functions, and ARM target in general)
ClosedPublic

Authored by dsanders on Nov 5 2014, 2:22 AM.

Details

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.

Diff Detail

Event Timeline

dsanders updated this revision to Diff 15804.Nov 5 2014, 2:22 AM
dsanders retitled this revision from to [JIT] Fix more missing endian conversions (opcodes for AArch64, ARM, and Mips stub functions, and ARM target in general).
dsanders updated this object.
dsanders edited the test plan for this revision. (Show Details)
dsanders added a reviewer: lhames.
dsanders added a subscriber: Unknown Object (MLST).
lhames accepted this revision.Nov 5 2014, 11:55 AM
lhames edited edge metadata.

LGTM. Thanks very much Daniel!

This revision is now accepted and ready to land.Nov 5 2014, 11:55 AM
dsanders closed this revision.Nov 6 2014, 2:03 AM