diff --git a/src/compiler/alpha/parms.lisp b/src/compiler/alpha/parms.lisp
index 79e396fc239d0934d7ad732844bd6a246e81947c..4916ebf862800fc0829371cca51acfb7bea424f4 100644
--- a/src/compiler/alpha/parms.lisp
+++ b/src/compiler/alpha/parms.lisp
@@ -40,6 +40,7 @@
 
 ;;;; Machine Architecture parameters:
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(word-bits byte-bits word-shift word-bytes float-sign-shift
 
 	  single-float-bias single-float-exponent-byte
@@ -55,6 +56,7 @@
 	  float-underflow-trap-bit float-overflow-trap-bit
 	  float-imprecise-trap-bit float-invalid-trap-bit
 	  float-divide-by-zero-trap-bit))
+;  ; eval-when
 
 	  
 
@@ -128,11 +130,13 @@
 
 ;;;; Description of the target address space.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(target-read-only-space-start
 	  target-static-space-start
 	  target-dynamic-space-start
           target-foreign-linkage-space-start
 	  target-foreign-linkage-entry-size))
+)
 
 ;;; Where to put the different spaces.
 ;;; 
@@ -157,10 +161,12 @@
 
 ;;;; Other random constants.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(halt-trap pending-interrupt-trap error-trap cerror-trap
 	  breakpoint-trap function-end-breakpoint-trap single-step-breakpoint
 	  trace-table-normal trace-table-call-site
 	  trace-table-function-prologue trace-table-function-epilogue))
+)
 
 (defenum (:suffix -trap :start 8)
   halt
@@ -181,7 +187,9 @@
 
 ;;;; Static symbols.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(static-symbols static-functions))
+)  
 
 ;;; These symbols are loaded into static space directly after NIL so
 ;;; that the system can compute their address by adding a constant
diff --git a/src/compiler/hppa/parms.lisp b/src/compiler/hppa/parms.lisp
index 90259c2cb5cffa3c37e34010eb08110828b2ebb6..2ad46925241b5bc652931d93ced2363277e995f1 100644
--- a/src/compiler/hppa/parms.lisp
+++ b/src/compiler/hppa/parms.lisp
@@ -39,6 +39,7 @@
 
 ;;;; Machine Architecture parameters:
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(word-bits byte-bits word-shift word-bytes float-sign-shift
 
 	  single-float-bias single-float-exponent-byte
@@ -54,7 +55,7 @@
 	  float-underflow-trap-bit float-overflow-trap-bit
 	  float-imprecise-trap-bit float-invalid-trap-bit
 	  float-divide-by-zero-trap-bit))
-
+) ; eval-when
 	  
 
 (eval-when (compile load eval)
@@ -119,11 +120,13 @@
 
 ;;;; Description of the target address space.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(target-read-only-space-start
 	  target-static-space-start
 	  target-dynamic-space-start
           target-foreign-linkage-space-start
 	  target-foreign-linkage-entry-size))
+)
 
 
 ;;; Where to put the different spaces.
@@ -143,11 +146,13 @@
 
 ;;;; Other random constants.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(halt-trap pending-interrupt-trap error-trap cerror-trap
 	  breakpoint-trap function-end-breakpoint-trap
 	  single-step-breakpoint-trap
 	  trace-table-normal trace-table-call-site
 	  trace-table-function-prologue trace-table-function-epilogue))
+)
 
 (defenum (:suffix -trap :start 8)
   halt
@@ -168,7 +173,9 @@
 
 ;;;; Static symbols.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(static-symbols static-functions))
+)
 
 ;;; These symbols are loaded into static space directly after NIL so
 ;;; that the system can compute their address by adding a constant
diff --git a/src/compiler/mips/parms.lisp b/src/compiler/mips/parms.lisp
index 7cf4b8a00365532b63ebe4a4e35419cd49d5cf99..740258d9355edfa6806e16eea038cdd4f6ea9ec4 100644
--- a/src/compiler/mips/parms.lisp
+++ b/src/compiler/mips/parms.lisp
@@ -50,6 +50,7 @@
 
 ;;;; Machine Architecture parameters:
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(word-bits byte-bits word-shift word-bytes float-sign-shift
 
 	  single-float-bias single-float-exponent-byte
@@ -65,7 +66,7 @@
 	  float-underflow-trap-bit float-overflow-trap-bit
 	  float-imprecise-trap-bit float-invalid-trap-bit
 	  float-divide-by-zero-trap-bit))
-
+) ; eval-when
 
 (eval-when (compile load eval)
 
@@ -129,11 +130,13 @@
 
 ;;;; Description of the target address space.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(target-read-only-space-start
 	  target-static-space-start
 	  target-dynamic-space-start
 	  target-foreign-linkage-space-start
 	  target-foreign-linkage-entry-size))
+)
 
 ;;; Where to put the different spaces.
 ;;; 
@@ -147,7 +150,8 @@
 ;;; large object space instead.  Must be less then a page.
 ;;;
 #+gengc
-(export 'large-object-cutoff)
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (export 'large-object-cutoff))
 #+gengc
 (defparameter large-object-cutoff 1024)
 
@@ -155,10 +159,12 @@
 
 ;;;; Other non-type constants.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(atomic-flag interrupted-flag halt-trap pending-interrupt-trap
 	  error-trap cerror-trap breakpoint-trap function-end-breakpoint-trap
 	  after-breakpoint-trap trace-table-normal trace-table-call-site
 	  trace-table-function-prologue trace-table-function-epilogue))
+)
 
 (defenum (:suffix -flag)
   atomic
@@ -183,7 +189,9 @@
 
 ;;;; Static symbols.
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
 (export '(static-symbols static-functions))
+)
 
 ;;; Static symbols are loaded into static space directly after NIL so
 ;;; that the system can compute their address by adding a constant