[Git][cmucl/cmucl][rtoy-mmap-anon-control-and-binding-stacks] Add RELOCATABLE_STACK_START to control stack spaces
Raymond Toy
rtoy at common-lisp.net
Tue May 10 04:03:06 UTC 2016
Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks at cmucl / cmucl
Commits:
951611cf by Raymond Toy at 2016-05-09T21:02:47-07:00
Add RELOCATABLE_STACK_START to control stack spaces
When RELOCATABLE_STACK_START is defined, the control stack, binding
stack, and sigalt stack are located wherever mmap finds room for them.
Currently only implemented for Darwin, but should work for linux and
solaris. We enable this by default on Darwin now.
- - - - -
2 changed files:
- src/lisp/Config.x86_darwin
- src/lisp/x86-validate-darwin.h
Changes:
=====================================
src/lisp/Config.x86_darwin
=====================================
--- a/src/lisp/Config.x86_darwin
+++ b/src/lisp/Config.x86_darwin
@@ -6,7 +6,7 @@ include Config.x86_common
# you have the 10.5 SDK available.
MIN_VER = -mmacosx-version-min=10.5
-CPPFLAGS += -DDARWIN $(MIN_VER) -m32
+CPPFLAGS += -DDARWIN $(MIN_VER) -m32 -DRELOCATABLE_STACK_START
CFLAGS += -g3 -mtune=generic
ASFLAGS += -g3 $(MIN_VER)
=====================================
src/lisp/x86-validate-darwin.h
=====================================
--- a/src/lisp/x86-validate-darwin.h
+++ b/src/lisp/x86-validate-darwin.h
@@ -18,12 +18,12 @@
#define STATIC_SPACE_START (SpaceStart_TargetStatic)
#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-#if 0
+#ifndef RELOCATABLE_STACK_START
#define BINDING_STACK_START (0x38000000)
#endif
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-#if 0
+#ifdef RELOCATABLE_STACK_START
#define CONTROL_STACK_START (0x40000000)
#endif
@@ -33,7 +33,7 @@
*/
#define CONTROL_STACK_SIZE (0x07fdf000) /* 128MB - SIGSTKSZ - 1 page */
-#if 0
+#ifndef RELOCATABLE_STACK_START
#define SIGNAL_STACK_START (0x47fe0000) /* One page past the end of the control stack */
#endif
#define SIGNAL_STACK_SIZE SIGSTKSZ
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/951611cf060cc3977db76fb05a252e981a227484
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20160510/7049285a/attachment.html>
More information about the cmucl-cvs
mailing list