From 5af339a1a9139d2b9c04445bb7e38db09c15ad48 Mon Sep 17 00:00:00 2001 From: Tim Northover Date: Wed, 3 Jun 2015 18:26:52 +0000 Subject: [PATCH] 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 --- llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp b/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp index bef6a1a..f857b2e 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, -- 2.7.4