[PATCH] Switch to support::endian::read/write in X86-specific JIT and RuntimeDyld.

Juergen Ributzka juergen at apple.com
Thu Aug 21 13:39:40 PDT 2014


================
Comment at: lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:264-265
@@ -262,4 +263,4 @@
   case ELF::R_X86_64_64: {
-    uint64_t *Target = reinterpret_cast<uint64_t *>(Section.Address + Offset);
-    *Target = Value + Addend;
+    void *Target = Section.Address + Offset;
+    support::endian::write<uint64_t, support::little, 1>(Target, Value + Addend);
     DEBUG(dbgs() << "Writing " << format("%p", (Value + Addend)) << " at "
----------------
What about using something like this instead?
auto *Target = reinterpret_cast<support::ulittle64_t *>(Section.Address + Offset);
*Target = Value + Addend;

http://reviews.llvm.org/D5011






More information about the llvm-commits mailing list