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
This commit is contained in:
parent
c85f307369
commit
b804c241b3
@ -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")
|
||||
|
Loading…
x
Reference in New Issue
Block a user