[Git][cmucl/cmucl][master] 6 commits: Add :RELOCATABLE-STACKS to *features*

Raymond Toy rtoy at common-lisp.net
Sun May 22 01:32:19 UTC 2016


Raymond Toy pushed to branch master at cmucl / cmucl


Commits:
7bab5262 by Raymond Toy at 2016-05-21T13:27:41-07:00
Add :RELOCATABLE-STACKS to *features*

Add this as a runtime feature so that it shows up in *features* and
so that the C runtime has FEATURE_RELOCATABLE_STACKS defined.

src/code/sparc-svr4-vm.lisp:
src/code/x86-vm.lisp:
o Make :relocatable-stacks a runtime feature.

src/lisp/validate.h
o Need to include internals.h here so constants are set up according
  to internals.h

src/lisp/x86-validate-darwin.h:
o Use FEATURE_RELOCATABLE_STACKS instead of RELOCATABLE_STACK_START.

- - - - -
2ab559c4 by Raymond Toy at 2016-05-21T13:29:35-07:00
Remove -DRELOCATABLE_STACK_START

This is now handled by the runtime feature :relocatable-stacks

- - - - -
afc31adc by Raymond Toy at 2016-05-21T13:30:46-07:00
Use FEATURE_RELOCATABLE_STACKS instead of RELOCATABLE_STACK_START.

- - - - -
771c6c3d by Raymond Toy at 2016-05-21T13:50:39-07:00
Remove -DRELOCATABLE_STACK_START

This is now handled by the runtime feature :relocatable-stacks

- - - - -
19d9b6d9 by Raymond Toy at 2016-05-21T13:52:49-07:00
Remove -DRELOCATABLE_STACK_START for sparc.

This is now handled by the runtime feature :relocatable-stacks.

- - - - -
0531c5f2 by Raymond Toy at 2016-05-21T14:24:52-07:00
Use FEATURE_RELOCATABLE_STACKS instead of RELOCATABLE_STACK_START.

- - - - -


10 changed files:

- src/code/sparc-svr4-vm.lisp
- src/code/x86-vm.lisp
- src/lisp/Config.sparc_sunc
- src/lisp/Config.x86_darwin
- src/lisp/Config.x86_linux
- src/lisp/solaris-os.c
- src/lisp/sparc-validate.h
- src/lisp/validate.h
- src/lisp/x86-validate-darwin.h
- src/lisp/x86-validate-linux.h


Changes:

=====================================
src/code/sparc-svr4-vm.lisp
=====================================
--- 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.
 


=====================================
src/code/x86-vm.lisp
=====================================
--- 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.
 


=====================================
src/lisp/Config.sparc_sunc
=====================================
--- 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 -DRELOCATABLE_STACK_START
+CFLAGS += -xlibmieee -O
 DEPEND_FLAGS = -xM
 ASFLAGS = $(AS_V8PLUS)
 OS_LINK_FLAGS = -M /usr/lib/ld/map.noexstk


=====================================
src/lisp/Config.x86_darwin
=====================================
--- a/src/lisp/Config.x86_darwin
+++ b/src/lisp/Config.x86_darwin
@@ -6,7 +6,7 @@ include Config.x86_common
 # you have the 10.5 SDK available.
 MIN_VER = -mmacosx-version-min=10.5
 
-CPPFLAGS += -DDARWIN $(MIN_VER) -m32 -DRELOCATABLE_STACK_START
+CPPFLAGS += -DDARWIN $(MIN_VER) -m32
 CFLAGS += -g3 -mtune=generic
 ASFLAGS += -g3 $(MIN_VER)
 


=====================================
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 -DRELOCATABLE_STACK_START
+CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE
 CFLAGS += -rdynamic  -march=pentium4 -mfpmath=sse -mtune=generic
 
 UNDEFSYMPATTERN = -Xlinker -u -Xlinker &


=====================================
src/lisp/solaris-os.c
=====================================
--- a/src/lisp/solaris-os.c
+++ b/src/lisp/solaris-os.c
@@ -415,7 +415,7 @@ os_vm_address_t round_up_sparse_size(os_vm_address_t addr)
  */
 static os_vm_address_t spaces[] = {
     READ_ONLY_SPACE_START, STATIC_SPACE_START,
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
     BINDING_STACK_START,
     CONTROL_STACK_START
 #endif    
@@ -505,7 +505,7 @@ make_holes(void)
 void
 make_stack_holes(void)
 {
-#ifdef RELOCATABLE_STACK_START
+#ifdef FEATURE_RELOCATABLE_STACKS
     make_hole((os_vm_address_t)control_stack, control_stack_size);
     make_hole((os_vm_address_t)binding_stack, binding_stack_size);
 #endif


=====================================
src/lisp/sparc-validate.h
=====================================
--- 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 */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #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 */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define CONTROL_STACK_START 	(0x38000000)
 #endif
 #define CONTROL_STACK_SIZE  	(MB_128 - SPARSE_BLOCK_SIZE)	/* 128 MB - 32 KB, 128 MB max */


=====================================
src/lisp/validate.h
=====================================
--- 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


=====================================
src/lisp/x86-validate-darwin.h
=====================================
--- 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


=====================================
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 */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define BINDING_STACK_START	(0x20000000)
 #endif
 #define BINDING_STACK_SIZE	(0x07fff000)	/* 128MB - 1 page */
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define CONTROL_STACK_START	0x38000000
 #endif
 #define CONTROL_STACK_SIZE	(0x07fff000 - 8192)
 
-#ifndef RELOCATABLE_STACK_START
+#ifndef FEATURE_RELOCATABLE_STACKS
 #define SIGNAL_STACK_START	CONTROL_STACK_END
 #endif
 #define SIGNAL_STACK_SIZE	SIGSTKSZ



View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/00ec87ed626beaa99ae6c3ff17bf7d990c1d8164...0531c5f246964aa4fa2efdfc6b2b5f84a3807ef8
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cmucl-cvs/attachments/20160522/4db15aa0/attachment-0001.html>


More information about the cmucl-cvs mailing list