summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2014-07-12 00:16:47 +0000
committerLang Hames <lhames@gmail.com>2014-07-12 00:16:47 +0000
commit5d10284238bdc0e79771cad48f622cc26aabf0e8 (patch)
tree5f53984a3735aa7d528d77e673cd7ee34c93b5ca /llvm/lib/ExecutionEngine
parent44362e06d1a963ac6ed55b01f3c13bc4e1e55a45 (diff)
downloadbcm5719-llvm-5d10284238bdc0e79771cad48f622cc26aabf0e8.tar.gz
bcm5719-llvm-5d10284238bdc0e79771cad48f622cc26aabf0e8.zip
[RuntimeDyld] Fix stub size and offset for AArch64 in RuntimeDyldMachO.h.
<rdar://problem/17648000> llvm-svn: 212864
Diffstat (limited to 'llvm/lib/ExecutionEngine')
-rw-r--r--llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
index 35f07208083..24dc5674d46 100644
--- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
+++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.h
@@ -16,7 +16,6 @@
#include "ObjectImageCommon.h"
#include "RuntimeDyldImpl.h"
-#include "llvm/ADT/IndexedMap.h"
#include "llvm/Object/MachO.h"
#include "llvm/Support/Format.h"
@@ -56,11 +55,20 @@ private:
return 8; // 32-bit instruction and 32-bit address
else if (Arch == Triple::x86_64)
return 8; // GOT entry
+ else if (Arch == Triple::arm64)
+ return 8; // GOT entry
else
return 0;
}
- unsigned getStubAlignment() override { return 1; }
+ unsigned getStubAlignment() override {
+ if (Arch == Triple::arm || Arch == Triple::thumb)
+ return 4;
+ else if (Arch == Triple::arm64)
+ return 8;
+ else
+ return 1;
+ }
relocation_iterator processSECTDIFFRelocation(
unsigned SectionID,
OpenPOWER on IntegriCloud