diff --git a/src/code/sparc-svr4-vm.lisp b/src/code/sparc-svr4-vm.lisp
index 1368fb2603d43ea3fb888725a6bdfa0212018717..c894a6acd5230b7a76f757c7fe4c3c328ee2a2c3 100644
--- a/src/code/sparc-svr4-vm.lisp
+++ b/src/code/sparc-svr4-vm.lisp
@@ -25,6 +25,10 @@
 
 #+complex-fp-vops
 (sys:register-lisp-feature :complex-fp-vops)
+
+#+(and sparc solaris)
+(sys:register-lisp-runtime-feature :relocatable-stacks)
+
 
 ;;;; The sigcontext structure.
 
diff --git a/src/code/x86-vm.lisp b/src/code/x86-vm.lisp
index a7e307d78f5e791082b6885324203474e6160363..987d1a345a3e07d4bc30a75a9bd338c7afc30e51 100644
--- a/src/code/x86-vm.lisp
+++ b/src/code/x86-vm.lisp
@@ -42,6 +42,9 @@
   (setf *features* (delete :x87 *features*))
   (sys:register-lisp-feature :sse2))
 
+#+(or darwin linux)
+(sys:register-lisp-runtime-feature :relocatable-stacks)
+
 
 ;;;; The sigcontext structure.
 
diff --git a/src/lisp/validate.h b/src/lisp/validate.h
index 7f1c0e0c70a129825b17c62ce8dba895f8e4e59e..6ad287611d08a3f7b7e757adcb216cfc488e3fe1 100644
--- a/src/lisp/validate.h
+++ b/src/lisp/validate.h
@@ -8,6 +8,8 @@
 #ifndef _VALIDATE_H_
 #define _VALIDATE_H_
 
+#include "internals.h"
+
 #ifdef parisc
 #include "hppa-validate.h"
 #endif
diff --git a/src/lisp/x86-validate-darwin.h b/src/lisp/x86-validate-darwin.h
index d6b956d21c6bc52192fa687e62cabd7125fb2290..f4c094d488cab9ee574c5db030163d278d72b82b 100644
--- 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 */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define BINDING_STACK_START	(0x38000000)
 #endif
 #define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define CONTROL_STACK_START	(0x40000000)
 #endif
 
@@ -33,7 +33,7 @@
  */
 #define CONTROL_STACK_SIZE	(0x07fdf000)	/* 128MB - SIGSTKSZ - 1 page */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define SIGNAL_STACK_START	(0x47fe0000)    /* One page past the end of the control stack */
 #endif
 #define SIGNAL_STACK_SIZE	SIGSTKSZ