diff options
| author | Sébastien Marie <semarie@users.noreply.github.com> | 2015-06-11 08:12:07 +0200 |
|---|---|---|
| committer | Sébastien Marie <semarie@users.noreply.github.com> | 2015-06-14 07:08:10 +0200 |
| commit | b804c241b32c179c84a0e9033ead29346f855059 (patch) | |
| tree | d6d97aa1c99a01aab74c16a9b4a2f73fe8bdf643 /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | c85f30736913cf42549d8e0fd40049b346b4cec4 (diff) | |
| download | rust-b804c241b32c179c84a0e9033ead29346f855059.tar.gz rust-b804c241b32c179c84a0e9033ead29346f855059.zip | |
inverse the logic in code inclusion
instead of enumerate the (long) list of platforms to exclude, use only the short list of platforms to include. should fixes __morestack symbol problem under openbsd
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
| -rw-r--r-- | src/rustllvm/ExecutionEngineWrapper.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rustllvm/ExecutionEngineWrapper.cpp b/src/rustllvm/ExecutionEngineWrapper.cpp index 50551405383..bd4fcc0fc7d 100644 --- a/src/rustllvm/ExecutionEngineWrapper.cpp +++ b/src/rustllvm/ExecutionEngineWrapper.cpp @@ -16,8 +16,8 @@ using namespace llvm; using namespace llvm::sys; using namespace llvm::object; -// libmorestack is not used on Windows -#if !defined(_WIN32) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__Bitrig__) +// libmorestack is not used on other platforms +#if defined(__linux__) || defined(__APPLE__) extern "C" void __morestack(void); static void* morestack_addr() { @@ -35,7 +35,7 @@ class RustJITMemoryManager : public SectionMemoryManager uint64_t getSymbolAddress(const std::string &Name) override { -#if !defined(_WIN32) && !defined(__FreeBSD__) && !defined(__DragonFly__) && !defined(__Bitrig__) +#if defined(__linux__) || defined(__APPLE__) if (Name == "__morestack" || Name == "___morestack") return reinterpret_cast<uint64_t>(__morestack); if (Name == "__morestack_addr" || Name == "___morestack_addr") |
