[llvm] r219543 - [MCJIT] Replace memcpy with readBytesUnaligned in RuntimeDyldMachOI386.

Lang Hames lhames at gmail.com
Fri Oct 10 16:07:10 PDT 2014


Author: lhames
Date: Fri Oct 10 18:07:09 2014
New Revision: 219543

URL: http://llvm.org/viewvc/llvm-project?rev=219543&view=rev
Log:
[MCJIT] Replace memcpy with readBytesUnaligned in RuntimeDyldMachOI386.

This should fix the failures of the MachO_i386_DynNoPIC_relocations.s test case
on MIPS hosts.

Modified:
    llvm/trunk/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h

Modified: llvm/trunk/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h?rev=219543&r1=219542&r2=219543&view=diff
==============================================================================
--- llvm/trunk/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h (original)
+++ llvm/trunk/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOI386.h Fri Oct 10 18:07:09 2014
@@ -142,8 +142,7 @@ private:
     RelI->getOffset(Offset);
     uint8_t *LocalAddress = Section.Address + Offset;
     unsigned NumBytes = 1 << Size;
-    int64_t Addend = 0;
-    memcpy(&Addend, LocalAddress, NumBytes);
+    uint64_t Addend = readBytesUnaligned(LocalAddress, NumBytes);
 
     ++RelI;
     MachO::any_relocation_info RE2 =
@@ -202,8 +201,7 @@ private:
     RelI->getOffset(Offset);
     uint8_t *LocalAddress = Section.Address + Offset;
     unsigned NumBytes = 1 << Size;
-    int64_t Addend = 0;
-    memcpy(&Addend, LocalAddress, NumBytes);
+    int64_t Addend = readBytesUnaligned(LocalAddress, NumBytes);
 
     unsigned SymbolBaseAddr = MachO->getScatteredRelocationValue(RE);
     section_iterator TargetSI = getSectionByAddress(*MachO, SymbolBaseAddr);





More information about the llvm-commits mailing list