From 603fb6a031a14f9d25c4664fd5ae9543a8e6a8bf Mon Sep 17 00:00:00 2001 From: Raymond Toy <toy.raymond@gmail.com> Date: Tue, 10 May 2016 19:13:32 -0700 Subject: [PATCH] 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. --- src/lisp/Config.x86_linux | 2 +- src/lisp/x86-validate-linux.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lisp/Config.x86_linux b/src/lisp/Config.x86_linux index 457a24a34..92c5b8946 100644 --- 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 & diff --git a/src/lisp/x86-validate-linux.h b/src/lisp/x86-validate-linux.h index 7c278fbfd..3d9f3cd22 100644 --- 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 -- GitLab