From abd730c6e32ed24f0087bef19f0c97cc3e7b23dc Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Fri, 21 May 2010 19:26:53 +0000
Subject: [PATCH] lisp/x86-validate.h: o Maximum dynamic space size for darwin
 was too large.

general-info/release-20b.txt
o Update.
---
 general-info/release-20b.txt |  3 +++
 lisp/x86-validate.h          | 11 ++++++++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/general-info/release-20b.txt b/general-info/release-20b.txt
index 9bbc770be..2512ef08e 100644
--- a/general-info/release-20b.txt
+++ b/general-info/release-20b.txt
@@ -54,6 +54,9 @@ New in this release:
     - A new switch, -help, has been added.  These print out brief
       summary of the available command line switches and then exits.
       You may also use --help, which is an alias for -help.
+    - CMUCL no longer crashes on Mac OS X if the dynamic space size is
+      too large.  This was caused by an erroneous value for the
+      maximum dynamic space size. 
 
   * ANSI compliance fixes:
     - COMPILE will update the macro-function if the specified name
diff --git a/lisp/x86-validate.h b/lisp/x86-validate.h
index 5ad228dc0..0b83d86d3 100644
--- a/lisp/x86-validate.h
+++ b/lisp/x86-validate.h
@@ -3,7 +3,7 @@
  * This code was written as part of the CMU Common Lisp project at
  * Carnegie Mellon University, and has been placed in the public domain.
  *
- *  $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-validate.h,v 1.30 2010/02/01 16:12:04 rtoy Exp $
+ *  $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-validate.h,v 1.31 2010/05/21 19:26:53 rtoy Rel $
  *
  */
 
@@ -139,7 +139,16 @@
 
 #define DYNAMIC_0_SPACE_START	(SpaceStart_TargetDynamic)
 #ifdef GENCGC
+#if defined(DARWIN)
+/*
+ * On Darwin, /usr/lib/dyld appears to always be loaded at address
+ * #x8fe2e000.  Hence, the maximum dynamic space size is 1206050816
+ * bytes, or just over 1.150 GB.  Set the limit to 1.150 GB.
+ */
+#define DYNAMIC_SPACE_SIZE	(0x47E00000U)	/* 1.150GB */
+#else
 #define DYNAMIC_SPACE_SIZE	(0x67800000U)	/* 1.656GB */
+#endif
 #else
 #define DYNAMIC_SPACE_SIZE	(0x04000000U)	/* 64MB */
 #endif
-- 
GitLab