[project @ 2001-03-23 16:36:20 by simonmar]
[ghc-hetmet.git] / ghc / rts / MBlock.c
index 3c7fcaf..109b23e 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: MBlock.c,v 1.19 2000/12/04 12:31:21 simonmar Exp $
+ * $Id: MBlock.c,v 1.21 2001/01/16 11:54:25 simonmar Exp $
  *
  * (c) The GHC Team 1998-1999
  *
@@ -65,6 +65,9 @@ getMBlocks(nat n)
 #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);
@@ -79,7 +82,7 @@ getMBlocks(nat n)
   }
 
   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));