[project @ 2002-01-29 02:41:21 by sof]
[ghc-hetmet.git] / ghc / rts / MBlock.h
index 18fe052..a35b563 100644 (file)
@@ -1,12 +1,13 @@
 /* -----------------------------------------------------------------------------
- * $Id: MBlock.h,v 1.8 2001/01/16 11:53:32 simonmar Exp $
+ * $Id: MBlock.h,v 1.12 2002/01/21 17:18:43 sof Exp $
  *
  * (c) The GHC Team, 1998-1999
  *
  * MegaBlock Allocator interface.
  *
  * ---------------------------------------------------------------------------*/
-
+#ifndef __MBLOCK_H__
+#define __MBLOCK_H__
 extern lnat mblocks_allocated;
 
 #ifdef ENABLE_WIN32_DLL_SUPPORT
@@ -40,21 +41,28 @@ extern void * getMBlocks(nat n);
 #define HEAP_BASE 0x50000000
 
 #elif osf3_TARGET_OS
-/* guess */
-#define HEAP_BASE 0x50000000
+/* ToDo: Perhaps by adjusting this value we can make linking without
+ * -static work (i.e., not generate a core-dumping executable)? */
+#if SIZEOF_VOID_P == 8
+#define HEAP_BASE 0x180000000L
+#else
+#error I have no idea where to begin the heap on a non-64-bit osf3 machine.
+#endif
 
 #elif hpux_TARGET_OS
 /* guess */
 #define HEAP_BASE 0x50000000
 
-#elif macosx_TARGET_OS
+#elif darwin_TARGET_OS
 /* guess */
 #define HEAP_BASE 0x50000000
 
-#elif _WIN32
+#elif defined(mingw32_TARGET_OS) || defined(cygwin32_TARGET_OS)
 /* doesn't matter, we use a reserve/commit algorithm */
 
 #else
 #error Dont know where to get memory from on this architecture
 /* ToDo: memory locations on other architectures */
 #endif
+
+#endif