The following works for me: diff -ru polyml-4.1.3/driver/addresses.h polyml/driver/addresses.h --- polyml-4.1.3/driver/addresses.h 2002-06-18 20:47:45.000000000 +0200 +++ polyml/driver/addresses.h 2004-12-21 10:42:36.481444760 +0100 @@ -267,10 +267,10 @@ and 0x10000000 in later ones. It seems that mmap without a fixed address (and so malloc) maps at upwards of 0x40000000. These should be reasonable. DCJM 29/11/01. */ -#define LOCAL_IBOTTOM Words(0x60000000) -#define LOCAL_ITOP Words(0xa8000000) -#define LOCAL_MBOTTOM Words(0xa8000000) -#define LOCAL_MTOP Words(0xb8000000) +#define LOCAL_IBOTTOM Words(0x50000000) +#define LOCAL_ITOP Words(0x98000000) +#define LOCAL_MBOTTOM Words(0x98000000) +#define LOCAL_MTOP Words(0xa8000000) /* 1.1 Gbytes for immutable, 256Mbytes for mutable. */ /* This leaves 0xb8... - 0xbf... for the C stack. (i.e. 128 Mbytes) */