Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks
at cmucl / cmucl
Commits:
-
75d4ea45
by Raymond Toy
at 2016-05-10T20:04:58-07:00
Add RELOCATABLE_STACK_START to control stack spaces for solaris/sparc..
When RELOCATABLE_STACK_START is defined, the control stack, binding
stack, and sigalt stack are located wherever mmap finds room for them.
Only implemented with sparc_sunc config.
2 changed files:
Changes:
src/lisp/Config.sparc_sunc
--- a/src/lisp/Config.sparc_sunc
+++ b/src/lisp/Config.sparc_sunc
@@ -24,7 +24,7 @@ CC_V8PLUS = -m32 -xarch=sparc
AS_V8PLUS = -m32 -xarch=sparc
endif
-CFLAGS += -xlibmieee -O
+CFLAGS += -xlibmieee -O -DRELOCATABLE_STACK_START
DEPEND_FLAGS = -xM
ASFLAGS = $(AS_V8PLUS)
OS_LINK_FLAGS = -M /usr/lib/ld/map.noexstk
src/lisp/sparc-validate.h
--- a/src/lisp/sparc-validate.h
+++ b/src/lisp/sparc-validate.h
@@ -92,7 +92,7 @@
#define READ_ONLY_SPACE_START (SpaceStart_TargetReadOnly)
#define READ_ONLY_SPACE_SIZE ((2*MB_128) - SPARSE_BLOCK_SIZE) /* 256 MB - 32 KB, 256 MB max */
-#if 0
+#ifndef RELOCATABLE_STACK_START
#define BINDING_STACK_START (0x20000000)
#endif
@@ -101,7 +101,7 @@
#define STATIC_SPACE_START (SpaceStart_TargetStatic)
#define STATIC_SPACE_SIZE ((2*MB_128) - SPARSE_BLOCK_SIZE) /* 256 MB - 32 KB, 256 MB max */
-#if 0
+#ifndef RELOCATABLE_STACK_START
#define CONTROL_STACK_START (0x38000000)
#endif
#define CONTROL_STACK_SIZE (MB_128 - SPARSE_BLOCK_SIZE) /* 128 MB - 32 KB, 128 MB max */