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