Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks
at cmucl / cmucl
Commits:
-
603fb6a0
by Raymond Toy
at 2016-05-10T19:13:32-07:00
Add RELOCATABLE_STACK_START to control stack spaces for linux.
When RELOCATABLE_STACK_START is defined, the control stack, binding
stack, and sigalt stack are located wherever mmap finds room for them.
2 changed files:
Changes:
src/lisp/Config.x86_linux
--- a/src/lisp/Config.x86_linux
+++ b/src/lisp/Config.x86_linux
@@ -1,7 +1,7 @@
# -*- Mode: makefile -*-
include Config.x86_common
-CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
+CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE -DRELOCATABLE_STACK_START
CFLAGS += -rdynamic -march=pentium4 -mfpmath=sse -mtune=generic
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
src/lisp/x86-validate-linux.h
--- a/src/lisp/x86-validate-linux.h
+++ b/src/lisp/x86-validate-linux.h
@@ -45,17 +45,17 @@
#define STATIC_SPACE_START (SpaceStart_TargetStatic)
#define STATIC_SPACE_SIZE (0x0ffff000) /* 256MB - 1 page */
-#if 0
+#ifdef RELOCATABLE_STACK_START
#define BINDING_STACK_START (0x20000000)
#endif
#define BINDING_STACK_SIZE (0x07fff000) /* 128MB - 1 page */
-#if 0
+#ifdef RELOCATABLE_STACK_START
#define CONTROL_STACK_START 0x38000000
#endif
#define CONTROL_STACK_SIZE (0x07fff000 - 8192)
-#if 0
+#ifdef RELOCATABLE_STACK_START
#define SIGNAL_STACK_START CONTROL_STACK_END
#endif
#define SIGNAL_STACK_SIZE SIGSTKSZ