diff options
author | Tim Northover <tnorthover@apple.com> | 2015-06-03 18:26:52 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2015-06-03 18:26:52 +0000 |
commit | 5af339a1a9139d2b9c04445bb7e38db09c15ad48 (patch) | |
tree | ff00f6886c0258e65e36f4b9c9588525805f444a /llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp | |
parent | 1c9e6432487fe9edd8e731865f9b6c18b250b25c (diff) | |
download | bcm5719-llvm-5af339a1a9139d2b9c04445bb7e38db09c15ad48.tar.gz bcm5719-llvm-5af339a1a9139d2b9c04445bb7e38db09c15ad48.zip |
RuntimeDyld: override EH frame registration with trivial version.
llvm-rtdyld was relying on the default memory manager's EH frame registration,
which is host-dependent rather than target-dependent. As a result, big-endian
ELF Mips EH frames were being registered on OS X (and elsewhere). This is a
really bad idea.
llvm-svn: 238951
Diffstat (limited to 'llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp')
-rw-r--r-- | llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp index bef6a1a044e..f857b2ef973 100644 --- a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp +++ b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp @@ -139,6 +139,11 @@ public: // explicit cache flush, otherwise JIT code manipulations (like resolved // relocations) will get to the data cache but not to the instruction cache. virtual void invalidateInstructionCache(); + + void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, + size_t Size) override {} + void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, + size_t Size) override {} }; uint8_t *TrivialMemoryManager::allocateCodeSection(uintptr_t Size, |