diff --git a/lib/llvm-backend/cpp/object_loader.cpp b/lib/llvm-backend/cpp/object_loader.cpp index 3ec3f5d1a..532350578 100644 --- a/lib/llvm-backend/cpp/object_loader.cpp +++ b/lib/llvm-backend/cpp/object_loader.cpp @@ -75,16 +75,24 @@ public: } virtual void registerEHFrames(uint8_t* addr, uint64_t LoadAddr, size_t size) override { - /* eh_frame_ptr = addr; + // We don't know yet how to do this on Windows, so we hide this on compilation + // so we can compile and pass spectests on unix systems + #ifndef _WIN32 + eh_frame_ptr = addr; eh_frame_size = size; eh_frames_registered = true; - callbacks.visit_fde(addr, size, __register_frame);*/ + callbacks.visit_fde(addr, size, __register_frame); + #endif } virtual void deregisterEHFrames() override { - /* if (eh_frames_registered) { + // We don't know yet how to do this on Windows, so we hide this on compilation + // so we can compile and pass spectests on unix systems + #ifndef _WIN32 + if (eh_frames_registered) { callbacks.visit_fde(eh_frame_ptr, eh_frame_size, __deregister_frame); - }*/ + } + #endif } virtual bool finalizeMemory(std::string *ErrMsg = nullptr) override {