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:
- src/lisp/Config.x86_linux - src/lisp/x86-validate-linux.h
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
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/603fb6a031a14f9d25c4664fd5...