diff --git a/src/lisp/Config.sparc_sunc b/src/lisp/Config.sparc_sunc
index 2e0b4e069693737c4607667a5b8cdf0e48011fad..9c159320d37a0d17d0a223808ef4877f905c5ae5 100644
--- 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
diff --git a/src/lisp/sparc-validate.h b/src/lisp/sparc-validate.h
index b8fad15c6b6df508d5b8a0d0f98d3387e445978a..2d34285c4a0ce91787f3b6b0375ddc60b98182c5 100644
--- 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 */