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:
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