From: wolfgang.thaller@gmx.net Date: Thu, 23 Mar 2006 06:17:45 +0000 (+0000) Subject: Deal with non-executable memory on Darwin (only an issue on Darwin/x86 so far) X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=be44e76beb4d5c1dcdc57cee65220d479117cb21 Deal with non-executable memory on Darwin (only an issue on Darwin/x86 so far) --- diff --git a/ghc/rts/RtsUtils.c b/ghc/rts/RtsUtils.c index ef7cbb7..3e7e225 100644 --- a/ghc/rts/RtsUtils.c +++ b/ghc/rts/RtsUtils.c @@ -40,7 +40,7 @@ #include #endif -#if defined(openbsd_HOST_OS) || defined(linux_HOST_OS) +#if defined(openbsd_HOST_OS) || defined(linux_HOST_OS) || defined(darwin_HOST_OS) #include #include #include @@ -352,7 +352,7 @@ stgMallocBytesRWX(int len) barf("mallocBytesRWX: failed to protect 0x%p; error=%lu; old protection: %lu\n", addr, (unsigned long)GetLastError(), (unsigned long)dwOldProtect); } -#elif defined(openbsd_HOST_OS) || defined(linux_HOST_OS) +#elif defined(openbsd_HOST_OS) || defined(linux_HOST_OS) || defined(darwin_HOST_OS) /* malloced memory isn't executable by default on OpenBSD */ my_uintptr_t pageSize = sysconf(_SC_PAGESIZE); my_uintptr_t mask = ~(pageSize - 1);