/* -----------------------------------------------------------------------------
- * $Id: MBlock.c,v 1.19 2000/12/04 12:31:21 simonmar Exp $
+ * $Id: MBlock.c,v 1.23 2001/08/14 13:40:09 sewardj Exp $
*
* (c) The GHC Team 1998-1999
*
*
* ---------------------------------------------------------------------------*/
-#define NON_POSIX_SOURCE
+/* This is non-posix compliant. */
+/* #include "PosixSource.h" */
#include "Rts.h"
#include "RtsUtils.h"
#elif hpux_TARGET_OS
ret = mmap(next_request, size, PROT_READ | PROT_WRITE,
MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+#elif macosx_TARGET_OS
+ ret = mmap(next_request, size, PROT_READ | PROT_WRITE,
+ MAP_FIXED | MAP_ANON | MAP_PRIVATE, -1, 0);
#else
ret = mmap(next_request, size, PROT_READ | PROT_WRITE,
MAP_ANON | MAP_PRIVATE, -1, 0);
}
if (((W_)ret & MBLOCK_MASK) != 0) {
- barf("GetMBlock: misaligned block returned");
+ barf("GetMBlock: misaligned block %p returned when allocating %d megablock(s) at %p", ret, n, next_request);
}
- IF_DEBUG(gc,fprintf(stderr,"Allocated %d megablock(s) at %x\n",n,(nat)ret));
+ IF_DEBUG(gc,fprintf(stderr,"Allocated %d megablock(s) at %p\n",n,ret));
next_request += size;