diff --git a/compiler/generic/objdef.lisp b/compiler/generic/objdef.lisp
index e62a0c64f3504e189984d48c28a0dbd4af5eeb2d..97f20c7cc515c7a6ea4ff08836f6e81d9bd01749 100644
--- a/compiler/generic/objdef.lisp
+++ b/compiler/generic/objdef.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.45 2001/02/11 14:22:03 dtc Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/generic/objdef.lisp,v 1.46 2002/09/03 16:29:45 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -65,16 +65,6 @@
 
 (eval-when (compile eval load)
 
-(defconstant lowtag-bits 3
-  "Number of bits at the low end of a pointer used for type information.")
-
-(defconstant lowtag-mask (1- (ash 1 lowtag-bits))
-  "Mask to extract the low tag bits from a pointer.")
-  
-(defconstant lowtag-limit (ash 1 lowtag-bits)
-  "Exclusive upper bound on the value of the low tag bits from a
-  pointer.")
-
 (defconstant type-bits 8
   "Number of bits used in the header word of a data block for typeing.")
 
diff --git a/compiler/sparc/parms.lisp b/compiler/sparc/parms.lisp
index 69e886bcf477c7ace7c1d5d7a2fff9253922d580..da9e1ad0b301476cdda236078ec135d45c84b099 100644
--- a/compiler/sparc/parms.lisp
+++ b/compiler/sparc/parms.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/parms.lisp,v 1.34 2002/03/31 14:48:41 pw Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/sparc/parms.lisp,v 1.35 2002/09/03 16:29:46 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -91,6 +91,19 @@
 (defconstant word-bytes (/ word-bits byte-bits)
   "Number of bytes in a word.")
 
+(defconstant lowtag-bits 3
+  "Number of bits at the low end of a pointer used for type information.")
+
+(defconstant lowtag-mask (1- (ash 1 lowtag-bits))
+  "Mask to extract the low tag bits from a pointer.")
+  
+(defconstant lowtag-limit (ash 1 lowtag-bits)
+  "Exclusive upper bound on the value of the low tag bits from a
+  pointer.")
+
+(defconstant lowtag-bits 3
+  "Number of bits at the low end of a pointer used for type information.")
+
 (defconstant fixnum-tag-bits (1- lowtag-bits)
   "Number of tag bits used for a fixnum")
 
@@ -174,13 +187,17 @@
 
 (export '(target-read-only-space-start
 	  target-static-space-start
-	  target-dynamic-space-start))
+	  target-dynamic-space-start
+	  target-foreign-linkage-space-start
+	  target-foreign-linkage-entry-size))
 
 ;;; Where to put the different spaces.  Must match the C code!
 ;;; 
 (defparameter target-read-only-space-start #x10000000)
 (defparameter target-static-space-start    #x28000000)
 (defparameter target-dynamic-space-start   #x40000000)
+(defparameter target-foreign-linkage-space-start #x0fc00000)
+(defconstant target-foreign-linkage-entry-size 8) ;In bytes.  Duh.