[4b1b27]: package-data-list.lisp-expr Maximize Restore History

Download this file

package-data-list.lisp-expr    2236 lines (2108 with data), 102.5 kB

;;;; -*- Lisp -*-

;;;; the specifications of target packages, except for a few things
;;;; which are handled elsewhere by other mechanisms:
;;;;   * any SHADOWing and nickname hackery;
;;;;   * the standard, non-SBCL-specific packages COMMON-LISP,
;;;;     COMMON-LISP-USER, and KEYWORD.
;;;;
;;;; The packages are named SB!FOO here and elsewhere in
;;;; cross-compilation, in order to avoid collision with possible
;;;; corresponding SB-FOO packages in the cross-compilation host.
;;;; They're renamed to SB-FOO later, after we've departed from the xc
;;;; mothership and the danger of namespace collision is past.

;;;; This software is part of the SBCL system. See the README file for
;;;; more information.
;;;;
;;;; This software is derived from the CMU CL system, which was
;;;; written at Carnegie Mellon University and released into the
;;;; public domain. The software is in the public domain and is
;;;; provided with absolutely no warranty. See the COPYING and CREDITS
;;;; files for more information.

;;;; KLUDGE: To make it easier for emacs to autoindent this file nicely
;;;; (which prevents spurious conflicts in CVS) each longish list should
;;;; have only one string on the first line. Silly, but there you go.

(#s(sb-cold:package-data
    :name "SB!ALIEN"
    :doc "public: the ALIEN foreign function interface (If you're
porting CMU CL code, note that this package corresponds roughly to a union
of the packages ALIEN and C-CALL at the time of the SBCL fork. SB-C-CALL
is a deprecated nickname to help ease the transition from older versions
of SBCL which maintained the CMU-CL-style split into two packages.)"
    :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!ALIEN-INTERNALS")
    :reexport ("ARRAY"
	       "BOOLEAN" "CHAR" "DOUBLE-FLOAT"
	       "FLOAT" "FUNCTION" "INTEGER" "LONG-FLOAT"
	       "SINGLE-FLOAT"
	       ;; FIXME: Do we really want to reexport
	       ;; SYSTEM-AREA-POINTER here? Why?
	       "SYSTEM-AREA-POINTER"
	       "UNION"  "VALUES" "*")
    :export ("ADDR"
	     "ALIEN" "ALIEN-FUNCALL" "ALIEN-SAP" "ALIEN-SIZE" 
	     "CAST" "C-STRING"
	     "DEFINE-ALIEN-ROUTINE" "DEFINE-ALIEN-TYPE" "DEFINE-ALIEN-VARIABLE"

	     ;; FIXME: These old names don't match the DEFFOO - vs. -
	     ;; DEFINE-FOO convention used in the ANSI spec, and so
	     ;; were deprecated in sbcl-0.7.0. After a year or so
	     ;; they can go away completely.
	     "DEF-ALIEN-ROUTINE" "DEF-ALIEN-TYPE" "DEF-ALIEN-VARIABLE"

	     "DEREF" "DOUBLE"
	     "ENUM" "EXTERN-ALIEN"
	     "FREE-ALIEN"
	     "GET-ERRNO"
	     "INT"
	     "LOAD-1-FOREIGN" "LOAD-FOREIGN" "LOAD-SHARED-OBJECT" "LONG"
	     "MAKE-ALIEN"
	     "NULL-ALIEN"
	     "SAP-ALIEN" "SHORT" "SIGNED" "SLOT" "STRUCT"
             "UNDEFINED-ALIEN-ERROR"
	     "UNSIGNED"
	     "UNSIGNED-CHAR" "UNSIGNED-INT" "UNSIGNED-LONG" "UNSIGNED-SHORT"
             "UTF8-STRING"
	     "VOID"
	     "WITH-ALIEN"))

   #s(sb-cold:package-data
      :name "SB!ALIEN-INTERNALS"
      :doc "private: stuff for implementing ALIENs and friends"
      :use ("CL")
      :export ("%CAST"
	       "%DEREF-ADDR" "%HEAP-ALIEN" "%HEAP-ALIEN-ADDR"
	       "%LOCAL-ALIEN-ADDR" "%LOCAL-ALIEN-FORCED-TO-MEMORY-P" "%SAP-ALIEN"
	       "%SET-DEREF" "%SET-HEAP-ALIEN" "%SET-LOCAL-ALIEN" "%SET-SLOT"
	       "%SLOT-ADDR" "*VALUES-TYPE-OKAY*" "ALIEN-ARRAY-TYPE"
	       "ALIEN-ARRAY-TYPE-DIMENSIONS" "ALIEN-ARRAY-TYPE-ELEMENT-TYPE"
	       "ALIEN-ARRAY-TYPE-P" "ALIEN-BOOLEAN-TYPE" "ALIEN-BOOLEAN-TYPE-P"
	       "ALIEN-DOUBLE-FLOAT-TYPE" "ALIEN-DOUBLE-FLOAT-TYPE-P"
	       "ALIEN-ENUM-TYPE" "ALIEN-ENUM-TYPE-P" "ALIEN-FLOAT-TYPE"
	       "ALIEN-FLOAT-TYPE-P" "ALIEN-FUN-TYPE"
	       "ALIEN-FUN-TYPE-ARG-TYPES" "ALIEN-FUN-TYPE-P"
	       "ALIEN-FUN-TYPE-RESULT-TYPE" "ALIEN-INTEGER-TYPE"
	       "ALIEN-INTEGER-TYPE-P" "ALIEN-INTEGER-TYPE-SIGNED"
	       "ALIEN-LONG-FLOAT-TYPE" "ALIEN-LONG-FLOAT-TYPE-P"
	       "ALIEN-POINTER-TYPE" "ALIEN-POINTER-TYPE-P"
	       "ALIEN-POINTER-TYPE-TO" "ALIEN-RECORD-FIELD"
	       "ALIEN-RECORD-FIELD-NAME" "ALIEN-RECORD-FIELD-OFFSET"
	       "ALIEN-RECORD-FIELD-P" "ALIEN-RECORD-FIELD-TYPE"
	       "ALIEN-RECORD-TYPE" "ALIEN-RECORD-TYPE-FIELDS"
	       "ALIEN-RECORD-TYPE-P" "ALIEN-SINGLE-FLOAT-TYPE"
	       "ALIEN-SINGLE-FLOAT-TYPE-P" "ALIEN-SUBTYPE-P" "ALIEN-TYPE"
	       "ALIEN-TYPE-=" "ALIEN-TYPE-ALIGNMENT" "ALIEN-TYPE-BITS"
	       "ALIEN-TYPE-P" "ALIEN-TYPEP"
	       "ALIEN-VALUE" "ALIEN-VALUE-TYPE"
	       "ALIEN-VALUE-SAP" "ALIEN-VALUE-P"
	       "ALIEN-VALUES-TYPE" "ALIEN-VALUES-TYPE-P"
	       "ALIEN-VALUES-TYPE-VALUES" "ALIGN-OFFSET" "COMPUTE-ALIEN-REP-TYPE"
	       "COMPUTE-DEPORT-LAMBDA" "COMPUTE-DEPOSIT-LAMBDA"
	       "COMPUTE-EXTRACT-LAMBDA" "COMPUTE-LISP-REP-TYPE"
	       "COMPUTE-NATURALIZE-LAMBDA" "DEFINE-ALIEN-TYPE-CLASS"
	       "DEFINE-ALIEN-TYPE-METHOD" "DEFINE-ALIEN-TYPE-TRANSLATOR" "DEPORT"
	       "DEPOSIT-ALIEN-VALUE" "DISPOSE-LOCAL-ALIEN" "EXTRACT-ALIEN-VALUE"
	       "HEAP-ALIEN-INFO" "HEAP-ALIEN-INFO-P" "HEAP-ALIEN-INFO-SAP-FORM"
	       "HEAP-ALIEN-INFO-TYPE" "INVOKE-ALIEN-TYPE-METHOD" "LOCAL-ALIEN"
	       "LOCAL-ALIEN-INFO" "LOCAL-ALIEN-INFO-FORCE-TO-MEMORY-P"
	       "LOCAL-ALIEN-INFO-P" "LOCAL-ALIEN-INFO-TYPE"
	       "MAKE-ALIEN-FUN-TYPE" "MAKE-ALIEN-POINTER-TYPE"
	       "MAKE-ALIEN-VALUE"
	       "MAKE-LOCAL-ALIEN" "NATURALIZE"
	       "NOTE-LOCAL-ALIEN-TYPE"
	       "PARSE-ALIEN-TYPE" "UNPARSE-ALIEN-TYPE"))

   #s(sb-cold:package-data
      :name "SB!ASSEM"
      :doc "private: the assembler, used by the compiler"
      :use ("CL" "SB!EXT" "SB!INT")
      :export ("ASSEMBLY-UNIT"

	       "*ASSEM-SCHEDULER-P*"
	       "*ASSEM-INSTRUCTIONS*"
	       "*ASSEM-MAX-LOCATIONS*"

	       "EMIT-BYTE" "EMIT-SKIP" "EMIT-BACK-PATCH"
	       "EMIT-CHOOSER" "DEFINE-BITFIELD-EMITTER"
	       "DEFINE-INSTRUCTION" "DEFINE-INSTRUCTION-MACRO"
	       "DEF-ASSEMBLER-PARAMS" "EMIT-POSTIT"

	       "MAKE-SEGMENT" "SEGMENT-NAME" "ASSEMBLE"
	       "ALIGN" "INST" "LABEL" "LABEL-P" "GEN-LABEL"
	       "EMIT-LABEL" "LABEL-POSITION" "APPEND-SEGMENT" "FINALIZE-SEGMENT"
	       "ON-SEGMENT-CONTENTS-VECTORLY" "WRITE-SEGMENT-CONTENTS"
	       "READS" "WRITES" "SEGMENT"
	       "WITHOUT-SCHEDULING"
	       "VARIABLE-LENGTH"
	       "SEGMENT-COLLECT-DYNAMIC-STATISTICS"

	       ;; FIXME: These are in the SB-ASSEM package now, but
	       ;; (left over from CMU CL) are defined in files which
	       ;; are IN-PACKAGE SB-C. It would probably be cleaner
	       ;; to move at least most of them to files which are
	       ;; IN-PACKAGE SB-ASSEM.
	       "BRANCH" "DO-SSET-ELEMENTS" "FLUSHABLE" "MAKE-SSET" "SSET"
	       "SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"))

   #s(sb-cold:package-data
      :name "SB!BIGNUM"
      :doc "private: bignum implementation"
      :use ("CL" "SB!KERNEL" "SB!INT" "SB!EXT")
      :export ("%ADD-WITH-CARRY"
	       "%ALLOCATE-BIGNUM" "%ASHL" "%ASHR"
	       "%BIGNUM-LENGTH" "%BIGNUM-REF" "%BIGNUM-SET"
	       "%BIGNUM-SET-LENGTH" "%DIGIT-0-OR-PLUSP"
	       "%DIGIT-LOGICAL-SHIFT-RIGHT"
	       "%FIXNUM-DIGIT-WITH-CORRECT-SIGN" "%FIXNUM-TO-DIGIT"
	       "%FLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
	       "%MULTIPLY" "%MULTIPLY-AND-ADD"
	       "%SUBTRACT-WITH-BORROW" "ADD-BIGNUMS"
	       "BIGNUM-ASHIFT-LEFT" "BIGNUM-ASHIFT-RIGHT"
	       "BIGNUM-COMPARE" "BIGNUM-DEPOSIT-BYTE"
	       "BIGNUM-ELEMENT-TYPE" "BIGNUM-GCD" "BIGNUM-INDEX"
	       "BIGNUM-INTEGER-LENGTH" "BIGNUM-LOAD-BYTE"
	       "BIGNUM-LOGBITP"
	       "BIGNUM-LOGCOUNT" "BIGNUM-LOGICAL-AND"
	       "BIGNUM-LOGICAL-IOR" "BIGNUM-LOGICAL-NOT"
	       "BIGNUM-LOGICAL-XOR" "BIGNUM-PLUS-P"
	       "BIGNUM-TO-FLOAT" "BIGNUM-TRUNCATE" "BIGNUM-TYPE"
	       "FLOAT-BIGNUM-RATIO" "MAKE-SMALL-BIGNUM"
	       "MULTIPLY-BIGNUM-AND-FIXNUM" "MULTIPLY-BIGNUMS"
	       "MULTIPLY-FIXNUMS" "NEGATE-BIGNUM"
	       "SUBTRACT-BIGNUM" "SXHASH-BIGNUM"))

   #s(sb-cold:package-data
      :name "SB!C"
      :doc "private: implementation of the compiler"
      ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
      ;; but the point seems to be to be able to express things like
      ;; SB!C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
      ;; having to use a bunch of package prefixes, by putting them
      ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
      ;; package for this? But it seems like a fairly low priority.)
      ;; (Probably the same considerations also explain why BIGNUM is
      ;;in the USE list.)
      :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM"
		 #!+sb-dyncount "SB-DYNCOUNT" "SB!EXT" "SB!FASL" "SB!INT"
		 "SB!KERNEL" "SB!SYS")
      :reexport ("SLOT" "CODE-INSTRUCTIONS" "FLUSHABLE")
      :export ("%ALIEN-FUNCALL"
               "%CATCH-BREAKUP" "%CONTINUE-UNWIND" 
               "%LISTIFY-REST-ARGS" "%MORE-ARG" "%MORE-ARG-VALUES"
               "%UNWIND-PROTECT-BREAKUP"

               "*BACKEND-BYTE-ORDER*" "*BACKEND-DISASSEM-PARAMS*"
               "*BACKEND-INSTRUCTION-FLAVORS*" "*BACKEND-INSTRUCTION-FORMATS*"
               "*BACKEND-INTERNAL-ERRORS*" "*BACKEND-PAGE-SIZE*"
               "*BACKEND-REGISTER-SAVE-PENALTY*"
               "*BACKEND-SB-LIST*" "*BACKEND-SB-NAMES*"
               "*BACKEND-SC-NAMES*" "*BACKEND-SC-NUMBERS*"
               "*BACKEND-SPECIAL-ARG-TYPES*"
               "*BACKEND-SUBFEATURES*"
               "*BACKEND-T-PRIMITIVE-TYPE*"

               "*CODE-SEGMENT*"
               "*COUNT-VOP-USAGES*" "*ELSEWHERE*" "*FREE-FUNS*"
               "*LEXENV*"
               "*SETF-ASSUMED-FBOUNDP*"
               "*SUPPRESS-VALUES-DECLARATION*"

               "ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
               "ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
               "ALLOCATE-DYNAMIC-CODE-OBJECT" "ALLOCATE-FULL-CALL-FRAME"
               "ANY" "ARG-COUNT-ERROR" "ASSEMBLE-FILE"
               "ATTRIBUTES" "ATTRIBUTES-INTERSECTION" "ATTRIBUTES-UNION"
               "ATTRIBUTES=" "BIND"
               "CALL" "CALL-LOCAL" "CALL-NAMED" "CALL-OUT" "CALL-VARIABLE"
               "CALLEE-NFP-TN" "CALLEE-RETURN-PC-TN"
               "CASE-BODY" "CATCH-BLOCK" "CHECK-CONS"
               "CHECK-FIXNUM" "CHECK-FUN"
               ;; FIXME: 32/64-bit issues
               "CHECK-SIGNED-BYTE-32" "CHECK-SIGNED-BYTE-64"
               "CHECK-SYMBOL"
               ;; FIXME: 32/64-bit issues
               "CHECK-UNSIGNED-BYTE-32" "CHECK-UNSIGNED-BYTE-64"
               "CLOSURE-INIT" "CLOSURE-REF"
               "CODE-CONSTANT-REF" "CODE-CONSTANT-SET"
               "COMPILE-IN-LEXENV"
               "COMPILE-LAMBDA-FOR-DEFUN"
               "%COMPILER-DEFUN" "COMPILER-ERROR" "FATAL-COMPILER-ERROR"
               "COMPILER-NOTIFY"
               "COMPILER-STYLE-WARN" "COMPILER-WARN"
               "COMPONENT" "COMPONENT-HEADER-LENGTH"
               "COMPONENT-INFO" "COMPONENT-LIVE-TN" "COMPUTE-FUN"
               "COMPUTE-OLD-NFP" "COPY-MORE-ARG"
               "CURRENT-BINDING-POINTER" "CURRENT-NFP-TN"
               "CURRENT-STACK-POINTER" "DEALLOC-ALIEN-STACK-SPACE"
               "DEALLOC-NUMBER-STACK-SPACE"
               "DEF-IR1-TRANSLATOR"
               "!DEF-PRIMITIVE-TYPE" "!DEF-PRIMITIVE-TYPE-ALIAS"
               "DEFINE-SOURCE-TRANSFORM" "!DEF-VM-SUPPORT-ROUTINE"
               "DEFINE-ASSEMBLY-ROUTINE"
               "DEFINE-MODULAR-FUN"
               "DEFINE-MOVE-FUN"
               "DEFINE-MOVE-VOP" "DEFINE-STORAGE-BASE"
               "DEFINE-STORAGE-CLASS" "DEFINE-VOP"
               "DEFKNOWN" "DEFOPTIMIZER"
               "DEFTRANSFORM" "DERIVE-TYPE"
               "ENTRY-NODE-INFO-NLX-TAG" "ENTRY-NODE-INFO-ST-TOP"
               "PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
               "FAST-SYMBOL-VALUE" 
               "FIXUP-NOTE-KIND"
               "FIXUP-NOTE-FIXUP"
               "FIXUP-NOTE-POSITION"
               "FOLDABLE"
               "FORCE-TN-TO-STACK"
               "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT"
               "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER"
               "GET-VECTOR-SUBTYPE"
               "HALT"
               "IF-EQ" "INLINE-SYNTACTIC-CLOSURE-LAMBDA"
	       "INSERT-STEP-CONDITIONS"
               "INSTANCE-REF" "INSTANCE-SET"
               "IR2-COMPONENT-CONSTANTS" "IR2-CONVERT"
               "IR2-PHYSENV-NUMBER-STACK-P"
               "KNOWN-CALL-LOCAL" "KNOWN-RETURN"
               "LAMBDA-WITH-LEXENV" "LEXENV-FIND"
               "LOCATION=" "LTN-ANNOTATE"
               "MAKE-ALIAS-TN" "MAKE-CATCH-BLOCK"
               "MAKE-CLOSURE" "MAKE-CONSTANT-TN" "MAKE-FIXNUM"
               "MAKE-FIXUP-NOTE"
               "MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
               "MAKE-OTHER-IMMEDIATE-TYPE" "MAKE-RANDOM-TN"
               "MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
               "MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
               "MAKE-WIRED-TN" "MAYBE-COMPILER-NOTIFY"
               "MAYBE-INLINE-SYNTACTIC-CLOSURE"
               "META-PRIMITIVE-TYPE-OR-LOSE"
               "META-SB-OR-LOSE" "META-SC-NUMBER-OR-LOSE" "META-SC-OR-LOSE"
               "MORE-ARG-CONTEXT" "MOVABLE" "MOVE" "MULTIPLE-CALL"
               "MULTIPLE-CALL-LOCAL" "MULTIPLE-CALL-NAMED"
               "MULTIPLE-CALL-VARIABLE"
               "%%NIP-DX" "%%NIP-VALUES"
               "NLX-ENTRY" "NLX-ENTRY-MULTIPLE"
               "NODE-STACK-ALLOCATE-P"
               "NON-DESCRIPTOR-STACK" "NOTE-ENVIRONMENT-START"
               "NOTE-THIS-LOCATION" "OPTIMIZER" "PACK-TRACE-TABLE"
               "PARSE-EVAL-WHEN-SITUATIONS"
               "POLICY"
               "%%POP-DX"
               "PREDICATE" "PRIMITIVE-TYPE" "PRIMITIVE-TYPE-OF"
               "PRIMITIVE-TYPE-OR-LOSE" "PRIMITIVE-TYPE-VOP"
               "PRIMITIVE-TYPE-NAME" "PUSH-VALUES"
               "READ-PACKED-BIT-VECTOR" "READ-VAR-INTEGER" "READ-VAR-STRING"
               "RESET-STACK-POINTER" "RESTORE-DYNAMIC-STATE"
               "RETURN-MULTIPLE" "SAVE-DYNAMIC-STATE" "SB"
               "SB-ALLOCATED-SIZE" "SB-NAME" "SB-OR-LOSE" "SB-P" "SC" "SC-CASE"
               "SC-IS" "SC-NAME" "SC-NUMBER" "SC-NUMBER-OR-LOSE" "SC-OFFSET"
               "SC-OFFSET-OFFSET" "SC-OFFSET-SCN" "SC-OR-LOSE" "SC-P" "SC-SB"
               "SET-UNWIND-PROTECT" "SET-VECTOR-SUBTYPE"
               "SETUP-CLOSURE-ENVIRONMENT" "SETUP-ENVIRONMENT"
               "SOURCE-TRANSFORM-LAMBDA"
               "SPECIFY-SAVE-TN"
               "TAIL-CALL" "TAIL-CALL-NAMED"
               "TAIL-CALL-VARIABLE" "TEMPLATE-OR-LOSE"
               "TN" "TN-OFFSET" "TN-P" "TN-REF" "TN-REF-ACROSS" "TN-REF-LOAD-TN"
               "TN-REF-NEXT" "TN-REF-NEXT-REF" "TN-REF-P" "TN-REF-TARGET"
               "TN-REF-TN" "TN-REF-VOP" "TN-REF-WRITE-P" "TN-SC" "TN-VALUE"
               "TRACE-TABLE-ENTRY" "TYPE-CHECK-ERROR" "UNBIND" "UNBIND-TO-HERE"
               "UNSAFE" "UNWIND" "UWP-ENTRY"
               "VERIFY-ARG-COUNT" "WRITE-PACKED-BIT-VECTOR"
               "WRITE-VAR-INTEGER" "WRITE-VAR-STRING" "XEP-ALLOCATE-FRAME"
               "LABEL-ID" "FIXUP" "FIXUP-FLAVOR" "FIXUP-NAME" "FIXUP-OFFSET"
               "FIXUP-P" "MAKE-FIXUP"
               "DEF-ALLOC"
               "VAR-ALLOC"
               "SAFE-FDEFN-FUN"
               "NOTE-FIXUP"
               "DEF-REFFER"
               "EMIT-NOP"
               "DEF-SETTER"
               "FIXED-ALLOC"
               "MAKE-UNBOUND-MARKER"
               "RETURN-SINGLE"
               "NOTE-NEXT-INSTRUCTION"
               "SET-SLOT"
               "LOCATION-NUMBER"
               "*COMPONENT-BEING-COMPILED*"
               "BLOCK-NUMBER"
               "BACKEND"
               "IR2-BLOCK-BLOCK"
               "FUNCALLABLE-INSTANCE-LEXENV"
               "VOP-BLOCK"
               "*ASSEMBLY-OPTIMIZE*"
               "LARGE-ALLOC"
               "%SET-SIMPLE-FUN-SELF"
               "VM-SUPPORT-ROUTINES-IMMEDIATE-CONSTANT-SC"
               "VM-SUPPORT-ROUTINES-LOCATION-PRINT-NAME"
               "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE-OF"
               "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE"
               "VM-SUPPORT-ROUTINES-MAKE-CALL-OUT-TNS"
               "VM-SUPPORT-ROUTINES-STANDARD-ARG-LOCATION"
               "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-PASSING-LOCATION"
               "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-PASSING-LOCATION"
               "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-SAVE-LOCATION"
               "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-SAVE-LOCATION"
               "VM-SUPPORT-ROUTINES-MAKE-ARG-COUNT-LOCATION"
               "VM-SUPPORT-ROUTINES-MAKE-NFP-TN"
               "VM-SUPPORT-ROUTINES-MAKE-STACK-POINTER-TN"
               "VM-SUPPORT-ROUTINES-MAKE-NUMBER-STACK-POINTER-TN"
               "VM-SUPPORT-ROUTINES-MAKE-UNKNOWN-VALUES-LOCATIONS"
               "VM-SUPPORT-ROUTINES-SELECT-COMPONENT-FORMAT"
               "VM-SUPPORT-ROUTINES-MAKE-NLX-SP-TN"
               "VM-SUPPORT-ROUTINES-MAKE-DYNAMIC-STATE-TNS"
               "VM-SUPPORT-ROUTINES-MAKE-NLX-ENTRY-ARG-START-LOCATION"
               "VM-SUPPORT-ROUTINES-GENERATE-CALL-SEQUENCE"
               "VM-SUPPORT-ROUTINES-GENERATE-RETURN-SEQUENCE"
               "VM-SUPPORT-ROUTINES-EMIT-NOP"
               "VM-SUPPORT-ROUTINES-LOCATION-NUMBER"))

   #s(sb-cold:package-data
      :name "SB!DEBUG"
      :doc
      "sorta public: Eventually this should become the debugger interface, with
basic stuff like BACKTRACE and ARG. For now, the actual supported interface
is still mixed indiscriminately with low-level internal implementation stuff
like *STACK-TOP-HINT* and unsupported stuff like *TRACED-FUN-LIST*."
      :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!KERNEL")
      :reexport ("*DEBUG-PRINT-VARIABLE-ALIST*")
      :export ("*DEBUG-BEGINNER-HELP-P*"
	       "*DEBUG-CONDITION*"
	       "*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
	       "*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
	       "*TRACE-INDENTATION-STEP*" "*MAX-TRACE-INDENTATION*"
	       "*TRACE-FRAME*" "*TRACED-FUN-LIST*"
	       "ARG" "BACKTRACE" "BACKTRACE-AS-LIST" "INTERNAL-DEBUG" "VAR"
	       "*PRINT-LOCATION-KIND*"
	       "*ONLY-BLOCK-START-LOCATIONS*" "*STACK-TOP-HINT*"
	       "*TRACE-VALUES*" "DO-DEBUG-COMMAND"
	       "*TRACE-ENCAPSULATE-DEFAULT*"))

   #s(sb-cold:package-data
      :name "SB!DI"
      :doc "private: primitives used to write debuggers"
      :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!VM")
      :import-from (("SB!C"
		     "DEBUG-SOURCE-FROM" "DEBUG-SOURCE-NAME"
		     "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
		     "DEBUG-SOURCE-START-POSITIONS" "MAKE-DEBUG-SOURCE"
		     "DEBUG-SOURCE" "DEBUG-SOURCE-P"))
      :reexport ("DEBUG-SOURCE-FROM"
		 "DEBUG-SOURCE-NAME"
		 "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
		 "DEBUG-SOURCE-START-POSITIONS" "DEBUG-SOURCE"
		 "DEBUG-SOURCE-P")
      :export ("ACTIVATE-BREAKPOINT"
	       "AMBIGUOUS-DEBUG-VARS" "AMBIGUOUS-VAR-NAME" "BREAKPOINT"
	       "BREAKPOINT-ACTIVE-P" "BREAKPOINT-HOOK-FUN" "BREAKPOINT-INFO"
	       "BREAKPOINT-KIND" "BREAKPOINT-P" "BREAKPOINT-WHAT" "CODE-LOCATION"
	       "CODE-LOCATION-DEBUG-BLOCK" "CODE-LOCATION-DEBUG-FUN"
	       "CODE-LOCATION-DEBUG-SOURCE" "CODE-LOCATION-FORM-NUMBER"
	       "CODE-LOCATION-P" "CODE-LOCATION-TOPLEVEL-FORM-OFFSET"
	       "CODE-LOCATION-UNKNOWN-P" "CODE-LOCATION=" "DEACTIVATE-BREAKPOINT"
	       "DEBUG-BLOCK" "DEBUG-BLOCK-ELSEWHERE-P" "DEBUG-BLOCK-P"
	       "DEBUG-BLOCK-SUCCESSORS" "DEBUG-CONDITION" "DEBUG-ERROR"
	       "DEBUG-FUN" "DEBUG-FUN-FUN" "DEBUG-FUN-KIND"
	       "DEBUG-FUN-LAMBDA-LIST" "DEBUG-FUN-NAME"
	       "DEBUG-FUN-P" "DEBUG-FUN-START-LOCATION"
	       "DEBUG-FUN-SYMBOL-VARS"
	       "DEBUG-SOURCE-ROOT-NUMBER" "DEBUG-VAR"
	       "DEBUG-VAR-ID" "DEBUG-VAR-INFO-AVAILABLE"
	       "DEBUG-VAR-SYMBOL-NAME" "DEBUG-VAR-P" "DEBUG-VAR-PACKAGE-NAME"
	       "DEBUG-VAR-SYMBOL" "DEBUG-VAR-VALID-VALUE"
	       "DEBUG-VAR-VALIDITY" "DEBUG-VAR-VALUE"
	       "DELETE-BREAKPOINT" "DO-BLOCKS"
	       "DO-DEBUG-BLOCK-LOCATIONS" "DO-DEBUG-FUN-BLOCKS"
	       "DO-DEBUG-FUN-VARS"
	       "FORM-NUMBER-TRANSLATIONS"
	       "FRAME" "FRAME-CATCHES" "FRAME-CODE-LOCATION"
	       "FRAME-DEBUG-FUN" "FRAME-DOWN"
	       "FRAME-FUN-MISMATCH" "FRAME-NUMBER" "FRAME-P" "FRAME-UP"
	       "FUN-DEBUG-FUN" "FUN-END-COOKIE-VALID-P"
	       "INVALID-CONTROL-STACK-POINTER" "INVALID-VALUE"
	       "LAMBDA-LIST-UNAVAILABLE" "MAKE-BREAKPOINT" "NO-DEBUG-BLOCKS"
	       "NO-DEBUG-FUN-RETURNS" "NO-DEBUG-INFO" "PREPROCESS-FOR-EVAL"
	       "RETURN-FROM-FRAME" "SOURCE-PATH-CONTEXT"
	       "TOP-FRAME" "UNHANDLED-DEBUG-CONDITION" "UNKNOWN-CODE-LOCATION"
	       "UNKNOWN-CODE-LOCATION-P" "UNKNOWN-DEBUG-VAR"
	       "CODE-LOCATION-KIND" "FLUSH-FRAMES-ABOVE"))

   #s(sb-cold:package-data
      :name "SB!DISASSEM"
      :doc "private: stuff related to the implementation of the disassembler"
      :use ("CL" "SB!EXT" "SB!INT")
      :export ("*DISASSEM-INST-ALIGNMENT-BYTES*"
	       "*DISASSEM-NOTE-COLUMN*" "*DISASSEM-OPCODE-COLUMN-WIDTH*"
	       "*DISASSEM-SCHEDULER-P*" "*DISASSEM-LOCATION-COLUMN-WIDTH*"
	       "ADD-COMMENT-HOOK" "ADD-HOOK" "ADD-NOTE-HOOK"
	       "ARG-VALUE" "CREATE-DSTATE" "DISASSEM-STATE"
	       "DISASSEMBLE-CODE-COMPONENT"
	       "DISASSEMBLE-FUN" "DISASSEMBLE-MEMORY"
	       "DISASSEMBLE-SEGMENT" "DISASSEMBLE-SEGMENTS"
	       "DSTATE-CODE" "DSTATE-CURPOS" "DSTATE-GET-PROP"
	       "DSTATE-NEXTPOS" "DSTATE-SEGMENT-LENGTH"
	       "DSTATE-SEGMENT-SAP" "DSTATE-SEGMENT-START"
	       "FIELD-TYPE" "FIND-INST" "GEN-FIELD-TYPE-DECL-FORM"
	       "GEN-INST-DECL-FORM" "GEN-INST-FORMAT-DECL-FORM"
	       "GET-CODE-SEGMENTS" "GET-FUN-SEGMENTS"
	       "GET-INST-SPACE" "HANDLE-BREAK-ARGS"
	       "INST" "INST-FORMAT" "LABEL-SEGMENTS"
	       "MAYBE-NOTE-ASSEMBLER-ROUTINE"
	       "MAYBE-NOTE-ASSOCIATED-STORAGE-REF"
	       "MAYBE-NOTE-NIL-INDEXED-OBJECT"
	       "MAYBE-NOTE-NIL-INDEXED-SYMBOL-SLOT-REF"
	       "MAYBE-NOTE-SINGLE-STORAGE-REF" "NOTE"
	       "NOTE-CODE-CONSTANT" "PARAMS" "PRIN1-QUOTED-SHORT"
	       "PRIN1-SHORT" "PRINT-BYTES"
	       "PRINT-CURRENT-ADDRESS" "PRINT-FIELD" "PRINT-INST"
	       "PRINT-INST-USING" "PRINT-NOTES-AND-NEWLINE"
	       "PRINT-WORDS" "SAP-REF-DCHUNK" "SEG-DEBUG-FUN"
	       "SEG-LENGTH" "SEG-START" "SEGMENT"
	       "SET-ADDRESS-PRINTING-RANGE" "SET-DISASSEM-PARAMS"
	       "SET-DSTATE-SEGMENT" "SIGN-EXTEND" "SPECIALIZE"
	       "GEN-PRINTER-DEF-FORMS-DEF-FORM" "MAKE-DSTATE"
	       "DEFINE-ARG-TYPE" "GEN-ARG-TYPE-DEF-FORM"
	       "READ-SIGNED-SUFFIX" "ADD-OFFS-HOOK"
	       "MAKE-MEMORY-SEGMENT" "GEN-PREAMBLE-FORM"
	       "MAKE-SEGMENT" "SEGMENT-OVERFLOW"
	       "SEG-VIRTUAL-LOCATION" "MAKE-DECODED-INST"
	       "DCHUNK" "*DEFAULT-DSTATE-HOOKS*"
	       "MAKE-CODE-SEGMENT" "MAKE-OFFS-HOOK"
	       "DSTATE-SEGMENT" "DSTATE-CUR-OFFS"
	       "PRINC16" "INSTRUCTION" "DEFINE-INSTRUCTION-FORMAT"
	       "DSTATE-NEXT-OFFS" "INSTALL-INST-FLAVORS"
	       "SEG-SAP-MAKER" "DISASSEMBLE-ASSEM-SEGMENT"
	       "GEN-CLEAR-INFO-FORM" "READ-SUFFIX"
	       "MAP-SEGMENT-INSTRUCTIONS" "GEN-FORMAT-DEF-FORM"
	       "SET-LOCATION-PRINTING-RANGE" "MAKE-VECTOR-SEGMENT"
	       "ADD-OFFS-NOTE-HOOK" "ADD-OFFS-COMMENT-HOOK"
	       "DSTATE-CUR-ADDR" "DSTATE-NEXT-ADDR"))

   #!+sb-dyncount
   #s(sb-cold:package-data
      :name "SB!DYNCOUNT"
      :doc "private: some somewhat-stale code for collecting runtime statistics"
      :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
		 "SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
      :export ("*COLLECT-DYNAMIC-STATISTICS*"
	       "COUNT-ME"
	       "DYNCOUNT-INFO-COUNTS" "DYNCOUNT-INFO-COSTS"
	       "IR2-COMPONENT-DYNCOUNT-INFO"
	       "DYNCOUNT-INFO" "DYNCOUNT-INFO-P"))

   #s(sb-cold:package-data
      :name "SB!FASL"
      :doc "private: stuff related to FASL load/dump logic (and GENESIS)"
      :use ("CL" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM" "SB!C"
		 "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
      :export ("*ASSEMBLER-ROUTINES*"
	       "+BACKEND-FASL-FILE-IMPLEMENTATION+"
	       "BUILD-ID-CORE-ENTRY-TYPE-CODE"
	       "*FASL-FILE-TYPE*"
	       "CLOSE-FASL-OUTPUT"
	       "DUMP-ASSEMBLER-ROUTINES"
	       "DUMP-OBJECT"
	       "DYNAMIC-CORE-SPACE-ID"
	       "END-CORE-ENTRY-TYPE-CODE"
	       "FASL-CONSTANT-ALREADY-DUMPED-P"
	       "+FASL-FILE-VERSION+"
	       "FASL-DUMP-COLD-LOAD-FORM" "FASL-DUMP-COMPONENT"
	       "FASL-DUMP-COLD-FSET"
	       "FASL-DUMP-LOAD-TIME-VALUE" "FASL-DUMP-LOAD-TIME-VALUE-LAMBDA"
	       "FASL-DUMP-SOURCE-INFO" "FASL-DUMP-TOPLEVEL-LAMBDA-CALL"
	       "FASL-NOTE-HANDLE-FOR-CONSTANT"
	       "FASL-OUTPUT" "FASL-OUTPUT-P"
	       "FASL-OUTPUT-ENTRY-TABLE" "FASL-OUTPUT-STREAM"
	       "FASL-VALIDATE-STRUCTURE"
	       "INITIAL-FUN-CORE-ENTRY-TYPE-CODE"
	       "*!LOAD-TIME-VALUES*"
	       "LOAD-TYPE-PREDICATE"
	       "NEW-DIRECTORY-CORE-ENTRY-TYPE-CODE"
	       "OPEN-FASL-OUTPUT"
	       "READ-ONLY-CORE-SPACE-ID"
	       "*!REVERSED-COLD-TOPLEVELS*"
	       "STATIC-CORE-SPACE-ID"
	       "VERSION-CORE-ENTRY-TYPE-CODE"))

   ;; This package is a grab bag for things which used to be internal
   ;; symbols in package COMMON-LISP. Lots of these symbols are accessed
   ;; with explicit SB!IMPL:: prefixes in the code. It would be nice to
   ;; reduce the use of this practice, so if symbols from here which are
   ;; accessed that way are found to belong more appropriately in an
   ;; existing package (e.g. SB!KERNEL or SB!SYS or SB!EXT or SB!FASL),
   ;; I (WHN 19990223) encourage maintainers to move them there..
   #s(sb-cold:package-data
      :name "SB!IMPL"
      :doc "private: a grab bag of implementation details"
      :use ("CL" "SB!ALIEN" "SB!BIGNUM" "SB!DEBUG" "SB!EXT"
		 "SB!FASL" "SB!GRAY" "SB!INT" "SB!KERNEL" "SB!SYS"))

   #s(sb-cold:package-data
      :name "SB!EXT"
      :doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
      :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
      :export (	;; Information about how the program was invoked is
	       ;; nonstandard but very useful.
	       "*POSIX-ARGV*"
	       "POSIX-GETENV" "POSIX-ENVIRON"
			    
	       ;; People have various good reasons to mess with the GC.
	       "*AFTER-GC-HOOKS*" "*BEFORE-GC-HOOKS*"
	       "*GC-NOTIFY-AFTER*" "*GC-NOTIFY-BEFORE*" "*GC-NOTIFY-STREAM*"
	       "BYTES-CONSED-BETWEEN-GCS"
	       "GC" "GC-OFF" "GC-ON" "GET-BYTES-CONSED"
	       "*GC-RUN-TIME*"
	       "PURIFY"

               ;; Customizing printing of compiler and debugger messages
               "*COMPILER-PRINT-VARIABLE-ALIST*"
               "*DEBUG-PRINT-VARIABLE-ALIST*"

               ;; Hooks into init & save sequences
               "*INIT-HOOKS*" "*SAVE-HOOKS*"

	       ;; There is no one right way to report progress on
	       ;; hairy compiles.
	       "*COMPILE-PROGRESS*"

	       ;; It can be handy to be able to evaluate expressions involving
	       ;; the thing under examination by CL:INSPECT.
	       "*INSPECTED*"

	       ;; There is no one right way to do efficiency notes.
	       "*EFFICIENCY-NOTE-COST-THRESHOLD*" "*EFFICIENCY-NOTE-LIMIT*"

	       ;; There's no one right way to report errors.
	       "*ENCLOSING-SOURCE-CUTOFF*"
	       "*UNDEFINED-WARNING-LIMIT*"

	       ;; and for dedicated users who really want to customize
	       ;; error reporting, we have
	       "DEFINE-SOURCE-CONTEXT"

	       ;; and given how many users dislike strict treatment of
	       ;; DEFCONSTANT, let's give them enough rope to escape by
	       "DEFCONSTANT-UNEQL" "DEFCONSTANT-UNEQL-NAME"
	       "DEFCONSTANT-UNEQL-NEW-VALUE" "DEFCONSTANT-UNEQL-OLD-VALUE"

               ;; package-locking stuff
               #!+sb-package-locks "PACKAGE-LOCKED-P" 
               #!+sb-package-locks "LOCK-PACKAGE" 
               #!+sb-package-locks "UNLOCK-PACKAGE"
               #!+sb-package-locks "PACKAGE-IMPLEMENTED-BY-LIST" 
               #!+sb-package-locks "PACKAGE-IMPLEMENTS-LIST"
               #!+sb-package-locks "ADD-IMPLEMENTATION-PACKAGE" 
               #!+sb-package-locks "REMOVE-IMPLEMENTATION-PACKAGE"
               #!+sb-package-locks "WITH-UNLOCKED-PACKAGES"
               #!+sb-package-locks "PACKAGE-LOCK-VIOLATION"
               #!+sb-package-locks "PACKAGE-LOCKED-ERROR"
               #!+sb-package-locks "SYMBOL-PACKAGE-LOCKED-ERROR"	     
               #!+sb-package-locks "PACKAGE-LOCKED-ERROR-SYMBOL"
               "WITHOUT-PACKAGE-LOCKS"
               "DISABLE-PACKAGE-LOCKS"
               "ENABLE-PACKAGE-LOCKS"

	       ;; error signalled when attempt to load an invalid fasl
	       ;; is made, so that user code can try to recompile, etc.
	       "INVALID-FASL"

	       ;; conditions that can be handled to reduce compiler
	       ;; verbosity
	       "CODE-DELETION-NOTE" "COMPILER-NOTE"

	       ;; and a mechanism for controlling same at compile time
	       "MUFFLE-CONDITIONS" "UNMUFFLE-CONDITIONS"

	       ;; FIXME: This name doesn't match the DEFFOO - vs. -
	       ;; DEFINE-FOO convention used in the ANSI spec, and so
	       ;; was deprecated in sbcl-0.pre7, ca. 2001-12-12. After
	       ;; a year or so it can go away completely.
	       "DEF-SOURCE-CONTEXT"

	       ;; FIXME: These seem like the right thing, but are they
	       ;; consistent with ANSI? (And actually maybe they're not
	       ;; quite the right thing; it might be better to also do
	       ;; WITH-STANDARD-IO-SYNTAX or something.)
	       "*ERROR-PRINT-LENGTH*" "*ERROR-PRINT-LEVEL*" "*ERROR-PRINT-LINES*"

	       ;; extended declarations..
	       "FREEZE-TYPE" "INHIBIT-WARNINGS"
	       "MAYBE-INLINE"

	       ;; ..and variables to control compiler policy
	       "*INLINE-EXPANSION-LIMIT*"
	       "*USE-IMPLEMENTATION-TYPES*"
	       "*DERIVE-FUNCTION-TYPES*"

	       ;; ..and inspector of compiler policy
	       "DESCRIBE-COMPILER-POLICY"

	       ;; a special form for breaking out of our "declarations
	       ;; are assertions" default
	       "TRULY-THE"

	       ;; This is something which must exist inside any Common
	       ;; Lisp implementation, and which someone writing a
	       ;; customized toplevel might well want. It seems perverse
	       ;; to hide it from them..
	       "INTERACTIVE-EVAL"

	       ;; weak pointers and finalization
	       "CANCEL-FINALIZATION"
	       "FINALIZE"
	       "HASH-TABLE-WEAK-P" "MAKE-WEAK-POINTER"
	       "WEAK-POINTER" "WEAK-POINTER-P" "WEAK-POINTER-VALUE"

	       ;; If the user knows we're doing IEEE, he might reasonably
	       ;; want to do this stuff.
	       "FLOAT-DENORMALIZED-P"
	       "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P"
	       "FLOAT-INFINITY-P"
	       "SHORT-FLOAT-NEGATIVE-INFINITY"
	       "SHORT-FLOAT-POSITIVE-INFINITY"
	       "SINGLE-FLOAT-NEGATIVE-INFINITY"
	       "SINGLE-FLOAT-POSITIVE-INFINITY"
	       "DOUBLE-FLOAT-NEGATIVE-INFINITY"
	       "DOUBLE-FLOAT-POSITIVE-INFINITY"
	       "LONG-FLOAT-NEGATIVE-INFINITY"
	       "LONG-FLOAT-POSITIVE-INFINITY"

	       ;; hacks to work around system limitations
	       "*INTEXP-MAXIMUM-EXPONENT*" ; since we crash hard when
					; memory is exhausted

	       ;; saving Lisp images
	       "SAVE-LISP-AND-DIE"

	       ;; provided for completeness to make it more convenient
	       ;; to use command-line --disable-debugger functionality
	       ;; in oddball situations (like building core files using
	       ;; scripts which run unattended, when the core files are
	       ;; intended for interactive use)
	       "DISABLE-DEBUGGER"
	       "ENABLE-DEBUGGER"

	       ;; the mechanism by which {en,dis}able-debugger works is
	       ;; also exported for people writing alternative toplevels
	       ;; (Emacs, CLIM interfaces, etc)
	       "*INVOKE-DEBUGGER-HOOK*"

	       ;; miscellaneous useful supported extensions
	       "QUIT"
	       "*ED-FUNCTIONS*"
	       "*MODULE-PROVIDER-FUNCTIONS*"
	       "WITH-TIMEOUT" "TIMEOUT"

	       ;; stepping interface
	       "STEP-CONDITION" "STEP-FORM-CONDITION"
	       "STEP-VALUES-CONDITION" "STEP-VARIABLE-CONDITION"
	       "STEP-CONDITION-FORM" "STEP-CONDITION-SOURCE-PATH"
               "STEP-CONDITION-PATHNAME" "STEP-CONDITION-RESULT"
               "STEP-CONTINUE" "STEP-NEXT" "STEP-INTO" 
               "*STEPPER-HOOK*"
	     
	       ;; RUN-PROGRAM is not only useful for users, but also
	       ;; useful to implement parts of SBCL itself, so we're
	       ;; going to have to implement it anyway, so we might
	       ;; as well support it. And then once we're committed
	       ;; to implementing RUN-PROGRAM, it's nice to have it
	       ;; return a PROCESS object with operations defined on
	       ;; that object.
	       "RUN-PROGRAM"
	       "FIND-EXECUTABLE-IN-SEARCH-PATH"
	       "PROCESS-ALIVE-P" "PROCESS-CLOSE"
	       "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
	       "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
	       "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
	       "PROCESS-STATUS-HOOK" "PROCESS-WAIT"

               ;; external-format support
               "OCTETS-TO-STRING" "STRING-TO-OCTETS"))

   #s(sb-cold:package-data
      :name "SB!FORMAT"
      :doc "private: implementation of FORMAT and friends"
      :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
      :export ("%COMPILER-WALK-FORMAT-STRING" "FORMAT-ERROR"))

   #s(sb-cold:package-data
      :name "SB!GRAY"
      :doc
      "public: an implementation of the stream-definition-by-user
Lisp extension proposal by David N. Gray"
      :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
      :export ("FUNDAMENTAL-BINARY-STREAM"
	       "FUNDAMENTAL-BINARY-INPUT-STREAM"
	       "FUNDAMENTAL-BINARY-OUTPUT-STREAM" "FUNDAMENTAL-CHARACTER-STREAM"
	       "FUNDAMENTAL-CHARACTER-INPUT-STREAM"
	       "FUNDAMENTAL-CHARACTER-OUTPUT-STREAM"
	       "FUNDAMENTAL-INPUT-STREAM" "FUNDAMENTAL-OUTPUT-STREAM"
	       "FUNDAMENTAL-STREAM"
	       "STREAM-ADVANCE-TO-COLUMN" "STREAM-CLEAR-INPUT"
	       "STREAM-CLEAR-OUTPUT" "STREAM-FINISH-OUTPUT" "STREAM-FORCE-OUTPUT"
	       "STREAM-FRESH-LINE" "STREAM-LINE-COLUMN" "STREAM-LINE-LENGTH"
	       "STREAM-LISTEN" "STREAM-PEEK-CHAR" "STREAM-READ-BYTE"
	       "STREAM-READ-CHAR" "STREAM-READ-CHAR-NO-HANG" "STREAM-READ-LINE"
	       "STREAM-READ-SEQUENCE" "STREAM-START-LINE-P" "STREAM-TERPRI"
	       "STREAM-UNREAD-CHAR"
	       "STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-SEQUENCE"
	       "STREAM-WRITE-STRING"))

   #s(sb-cold:package-data
      :name "SB!INT"
      :doc
      "private: miscellaneous unsupported extensions to the ANSI spec. Much of
the stuff in here originated in CMU CL's EXTENSIONS package and is
retained, possibly temporariliy, because it might be used internally."
      :use ("CL" "SB!ALIEN" "SB!GRAY" "SB!FASL" "SB!SYS")
      :export (;; lambda list keyword extensions
	       "&MORE"

	       ;; INFO stuff doesn't belong in a user-visible package, we
	       ;; should be able to change it without apology.
	       "*INFO-ENVIRONMENT*"
	       "CLEAR-INFO"
	       "COMPACT-INFO-ENVIRONMENT"
	       "DEFINE-INFO-CLASS" "DEFINE-INFO-TYPE"
	       "DO-INFO"
	       "INFO"
	       "MAKE-INFO-ENVIRONMENT"

               ;; stepping control
               "*STEPPING*" "*STEP*"

	       ;; packages grabbed once and for all
	       "*KEYWORD-PACKAGE*" "*CL-PACKAGE*"

	       ;; hash mixing operations
	       "MIX" "MIXF"

	       ;; I'm not convinced that FDEFINITIONs are the ideal
	       ;; solution, so exposing ways to peek into the system
	       ;; seems undesirable, since it makes it harder to get
	       ;; rid of FDEFINITIONs entirely later.
	       "*SETF-FDEFINITION-HOOK*"

	       ;; error-reporting facilities
	       "ENCAPSULATED-CONDITION" "COMPILED-PROGRAM-ERROR"
	       "SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
	       "SIMPLE-PARSE-ERROR"
	       "SIMPLE-PROGRAM-ERROR" "SIMPLE-STREAM-ERROR"

	       "SIMPLE-STYLE-WARNING"
	       "SPECIAL-FORM-FUNCTION"
	       "STYLE-WARN" "SIMPLE-COMPILER-NOTE"

               ;; FIXME: potential SB!EXT exports
	       "CHARACTER-CODING-ERROR"
               "CHARACTER-DECODING-ERROR" "CHARACTER-DECODING-ERROR-OCTETS"
               "CHARACTER-ENCODING-ERROR" "CHARACTER-ENCODING-ERROR-CODE"
               "STREAM-DECODING-ERROR" "STREAM-ENCODING-ERROR"
	       "ATTEMPT-RESYNC" "FORCE-END-OF-FILE"

	       ;; bootstrapping magic, to make things happen both in
	       ;; the cross-compilation host compiler's environment and
	       ;; in the cross-compiler's environment
	       "DEF!CONSTANT" "DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"

	       ;; stuff for hinting to the compiler
	       "NAMED-LAMBDA"

	       ;; other variations on DEFFOO stuff useful for bootstrapping
	       ;; and cross-compiling
	       "DEFMACRO-MUNDANELY"
	       "DEFCONSTANT-EQX"
               "DEFINE-UNSUPPORTED-FUN"

	       ;; messing with PATHNAMEs
	       "MAKE-TRIVIAL-DEFAULT-PATHNAME"
	       "PHYSICALIZE-PATHNAME"
	       "SANE-DEFAULT-PATHNAME-DEFAULTS"

	       ;; PCOUNTERs
	       "FASTBIG-INCF-PCOUNTER-OR-FIXNUM"
	       "INCF-PCOUNTER"
	       "INCF-PCOUNTER-OR-FIXNUM"
	       "MAKE-PCOUNTER"
	       "PCOUNTER"
	       "PCOUNTER->INTEGER"
	       "PCOUNTER-OR-FIXNUM->INTEGER"
	       "PCOUNTER-P"
	       "*N-BYTES-FREED-OR-PURIFIED*"

	       ;; miscellaneous non-standard but handy user-level functions..
	       "ASSQ" "DELQ" "MEMQ" "POSQ" "NEQ"
	       "ADJUST-LIST"
	       "%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
	       "SANE-PACKAGE"
	       "CYCLIC-LIST-P"
	       "COMPOUND-OBJECT-P"
	       "SWAPPED-ARGS-FUN"
	       "AND/TYPE" "NOT/TYPE"
	       "ANY/TYPE" "EVERY/TYPE"
	       "EQUAL-BUT-NO-CAR-RECURSION"
	       "TYPE-BOUND-NUMBER"
	       "CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
	       "PSXHASH"
	       "%BREAK"
	       "NTH-BUT-WITH-SANE-ARG-ORDER"
	       "DEPRECATION-WARNING"
	       "BIT-VECTOR-="

	       ;; ..and macros..
	       "COLLECT"
	       "DO-ANONYMOUS" "DOHASH" "DOVECTOR"
	       "NAMED-LET"
	       "ONCE-ONLY"
	       "DEFENUM"
	       "DEFPRINTER"
	       "AVER" "ENFORCE-TYPE"
	       "AWHEN" "ACOND" "IT"
	       "BINDING*"
	       "!DEF-BOOLEAN-ATTRIBUTE"
	       "WITH-REBOUND-IO-SYNTAX"
	       "WITH-SANE-IO-SYNTAX"

	       ;; ..and CONDITIONs..
	       "BUG"
	       "UNSUPPORTED-OPERATOR"

	       "BOOTSTRAP-PACKAGE-NAME" 
	       "BOOTSTRAP-PACKAGE-NOT-FOUND"
	       "DEBOOTSTRAP-PACKAGE"

	       "REFERENCE-CONDITION" "REFERENCE-CONDITION-REFERENCES"
	       "*PRINT-CONDITION-REFERENCES*"

	       "DUPLICATE-DEFINITION" "DUPLICATE-DEFINITION-NAME"
	       "PACKAGE-AT-VARIANCE" "ARRAY-INITIAL-ELEMENT-MISMATCH"
	       "TYPE-WARNING" "LOCAL-ARGUMENT-MISMATCH"
	       "FORMAT-ARGS-MISMATCH" "FORMAT-TOO-FEW-ARGS-WARNING"
	       "FORMAT-TOO-MANY-ARGS-WARNING" "EXTENSION-FAILURE"

               "NAME-CONFLICT" "NAME-CONFLICT-FUNCTION"
               "NAME-CONFLICT-DATUM" "NAME-CONFLICT-SYMBOLS"
               "RESOLVE-CONFLICT"
               
	       ;; ..and DEFTYPEs..
	       "INDEX" "LOAD/STORE-INDEX"
	       "SIGNED-BYTE-WITH-A-BITE-OUT"
	       "UNSIGNED-BYTE-WITH-A-BITE-OUT"
	       "SFUNCTION" "UNSIGNED-BYTE*"
	       ;; ..and type predicates
	       "INSTANCEP"
	       "DOUBLE-FLOAT-P"
	       "LOGICAL-PATHNAME-P"
	       "LONG-FLOAT-P"
	       "SHORT-FLOAT-P"
	       "SINGLE-FLOAT-P"
	       "FIXNUMP"
	       "BIGNUMP"
	       "RATIOP"

	       ;; encapsulation
	       "ARG-LIST"
	       "BASIC-DEFINITION"
	       "ENCAPSULATE" "ENCAPSULATED-P"
	       "UNENCAPSULATE"

	       ;; various CHAR-CODEs
	       "BACKSPACE-CHAR-CODE" "BELL-CHAR-CODE" "ESCAPE-CHAR-CODE"
	       "FORM-FEED-CHAR-CODE" "LINE-FEED-CHAR-CODE"
	       "RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"

	       ;; symbol-hacking idioms
	       "KEYWORDICATE" "SYMBOLICATE"

	       ;; certainly doesn't belong in public extensions
	       ;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
	       "CONSTANT-ARG"

	       ;; various internal defaults
	       "DEFAULT-INIT-CHAR" "*DEFAULT-INIT-CHAR-FORM*"
	       "*LOAD-SOURCE-DEFAULT-TYPE*" "BASE-CHAR-CODE-LIMIT"

	       ;; hash caches
	       "DEFINE-HASH-CACHE"
	       "DEFUN-CACHED"
	       "DEFINE-CACHED-SYNONYM"

	       ;; time
	       "FORMAT-DECODED-TIME"
	       "FORMAT-UNIVERSAL-TIME"

	       ;; indenting
	       "MAKE-INDENTING-STREAM"

	       ;; stream commands, used by the debugger
	       "GET-STREAM-COMMAND" "MAKE-STREAM-COMMAND" "STREAM-COMMAND"
	       "STREAM-COMMAND-ARGS" "STREAM-COMMAND-NAME" "STREAM-COMMAND-P"

	       ;; used for FORMAT tilde paren
	       "MAKE-CASE-FROB-STREAM"

	       ;; helpers for C library calls
	       "STRERROR" "SIMPLE-PERROR"

	       ;; debuggers' little helpers
	       #!+sb-show "*/SHOW*"
	       #!+sb-show "HEXSTR"
	       "/SHOW"  "/NOSHOW"
	       "/XHOW"  "/NOXHOW"
	       "/SHOW0" "/NOSHOW0"
	       "/HEXSTR" "/NOHEXSTR"
	       "/PRIMITIVE-PRINT" "/NO-PRIMITIVE-PRINT"

	       ;; cross-compilation bootstrap hacks which turn into
	       ;; placeholders in a target system
	       "UNCROSS"

	       ;; might as well be shared among the various files which
	       ;; need it:
	       "*EOF-OBJECT*"

	       ;; alien interface utilities
	       "C-STRINGS->STRING-LIST"

	       ;; misc. utilities used internally
	       "DEFINE-FUNCTION-NAME-SYNTAX" "VALID-FUNCTION-NAME-P" ; should be SB!EXT? 
	       "LEGAL-FUN-NAME-P" "LEGAL-FUN-NAME-OR-TYPE-ERROR"
	       "FUN-NAME-BLOCK-NAME"
	       "FUN-NAME-INLINE-EXPANSION"
	       "LISTEN-SKIP-WHITESPACE"
	       "PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
	       "PARSE-BODY" "PARSE-LAMBDA-LIST" "PARSE-LAMBDA-LIST-LIKE-THING"
	       "PROPER-LIST-OF-LENGTH-P"
	       "LIST-OF-LENGTH-AT-LEAST-P"
	       "LIST-WITH-LENGTH-P"
	       "SINGLETON-P"
	       "READ-SEQUENCE-OR-DIE"
	       "RENAME-KEY-ARGS"
	       "MISSING-ARG"
	       "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package SB!UNIX
	       "FEATUREP"
	       "FLUSH-STANDARD-OUTPUT-STREAMS"
	       "WITH-UNIQUE-NAMES" "MAKE-GENSYM-LIST" 
	       "ABOUT-TO-MODIFY-SYMBOL-VALUE"
	       "SYMBOL-SELF-EVALUATING-P"
	       "PRINT-PRETTY-ON-STREAM-P"
	       "ARRAY-READABLY-PRINTABLE-P"
	       "LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P"
	       "POSITIVE-PRIMEP"
	       "EVAL-IN-LEXENV"
	       "DEBUG-NAMIFY"
	       "FORCE" "DELAY" "PROMISE-READY-P"
	       "FIND-RESTART-OR-CONTROL-ERROR"

	       ;; These could be moved back into SB!EXT if someone has
	       ;; compelling reasons, but hopefully we can get by
	       ;; without supporting them, at least not as publicly
	       ;; accessible things with fixed interfaces.
	       "GET-FLOATING-POINT-MODES"
	       "SET-FLOATING-POINT-MODES"
	       "WITH-FLOAT-TRAPS-MASKED"
	       "DEFINE-HASH-TABLE-TEST"

	       ;; compatibility hacks for old-style CMU CL data formats
	       "UNIX-ENVIRONMENT-CMUCL-FROM-SBCL"
	       "UNIX-ENVIRONMENT-SBCL-FROM-CMUCL"

	       ;; a sort of quasi-unbound tag for use in hash tables
	       "+EMPTY-HT-SLOT+"

	       ;; low-level i/o stuff
	       "DONE-WITH-FAST-READ-BYTE"
	       "DONE-WITH-FAST-READ-CHAR"
	       "FAST-READ-BYTE"
	       "FAST-READ-BYTE-REFILL"
	       "FAST-READ-CHAR"
	       "FAST-READ-CHAR-REFILL"
	       "FAST-READ-S-INTEGER"
	       "FAST-READ-U-INTEGER"
	       "FAST-READ-VAR-U-INTEGER"
	       "FILE-NAME"
	       "INTERN*"
	       "PREPARE-FOR-FAST-READ-BYTE"
	       "PREPARE-FOR-FAST-READ-CHAR"

	       ;; reflection of our backquote implementation that the
	       ;; pprinter needs
	       "*BACKQ-TOKENS*"
	     
	       ;; hackery to help set up for cold init
	       "!BEGIN-COLLECTING-COLD-INIT-FORMS"
	       "!COLD-INIT-FORMS"
	       "COLD-FSET"
	       "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"

	       ;; hooks for contrib/ stuff we're insufficiently sure
	       ;; about to add to SB!EXT
	       "*REPL-PROMPT-FUN*"
	       "*REPL-READ-FORM-FUN*"))

   ;; FIXME: This package is awfully huge. It'd probably be good to
   ;; split it. There's at least one natural way to split it: the
   ;; implementation of the Lisp type system (e.g. TYPE-INTERSECTION and
   ;; SPECIFIER-TYPE) could move to a separate package SB!TYPE. (There's
   ;; lots of stuff which currently uses the SB!KERNEL package which
   ;; doesn't actually use the type system stuff.) And maybe other
   ;; possible splits too:
   ;;   * Pull GC stuff (*GC-INHIBIT*, *NEED-TO-COLLECT-GARBAGE*, etc.)
   ;;     out into SB-GC.
   ;;   * Pull special case implementations of sequence functions (e.g.
   ;;     %MAP-TO-LIST-ARITY-1 and %FIND-POSITION-IF-NOT) and 
   ;;     other sequence function implementation grot into SB-SEQ.
   ;;   * Pull all the math stuff (%ACOS, %COSH, WORD-LOGICAL-AND...)
   ;;     into SB-MATH.
   ;;   * Pull all the array stuff (%ARRAY-DATA-VECTOR, %RAW-REF-LONG,
   ;;     WITH-ARRAY-DATA, ALLOCATE-VECTOR, HAIRY-DATA-VECTOR-REF...)
   ;;     into SB-ARRAY.
   ;;   * Pull all the streams stuff out into SB-STREAM.
   ;;   * Pull all the OBJECT-NOT-FOO symbols out. Maybe we could even
   ;;     figure out a way to stop exporting them? Failing that,
   ;;     they could be in SB-INTERR.
   #s(sb-cold:package-data
      :name "SB!KERNEL"
      :doc
      "private: Theoretically this 'hides state and types used for package
integration' (said CMU CL architecture.tex) and that probably was and
is a good idea, but see SB-SYS re. blurring of boundaries."
      :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
		 "SB!EXT" "SB!FASL" "SB!INT" "SB!SYS" "SB!GRAY")
      :reexport ("DEF!STRUCT" "DEF!MACRO")
      :export ("%ACOS"
               "%ACOSH" "%ARRAY-AVAILABLE-ELEMENTS" "%ARRAY-DATA-VECTOR"
               "%ARRAY-DIMENSION" "%ARRAY-DISPLACED-P"
               "%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
               "%ARRAY-FILL-POINTER-P" "%ARRAY-RANK" "%ASIN" "%ASINH"
               "%ATAN" "%ATAN2" "%ATANH" "%CALLER-FRAME-AND-PC"
               "%CHECK-BOUND" "%CHECK-VECTOR-SEQUENCE-BOUNDS"
               "%CLOSURE-FUN" "%CLOSURE-INDEX-REF" "%COS" "%COS-QUICK"
               "%COSH" "%DATA-VECTOR-AND-INDEX" "%DEPOSIT-FIELD"
               "%DOUBLE-FLOAT" "%DPB" "%EXP" "%EXPM1" "%FIND-POSITION"
               "%FIND-POSITION-VECTOR-MACRO" "%FIND-POSITION-IF"
               "%FIND-POSITION-IF-VECTOR-MACRO" "%FIND-POSITION-IF-NOT"
               "%FIND-POSITION-IF-NOT-VECTOR-MACRO" "%FUN-DOC"
               "%FUN-NAME" "%HYPOT" "%LDB" "%LOG" "%LOGB" "%LOG10"
               "%LOG1P"
               #!+long-float "%LONG-FLOAT"
               "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE"
               "%MAKE-RATIO" "%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1"
               "%MAP-TO-LIST-ARITY-1" "%MAP-TO-NIL-ON-SEQUENCE"
               "%MAP-TO-NIL-ON-SIMPLE-VECTOR" "%MAP-TO-NIL-ON-VECTOR"
               "%MASK-FIELD" "%NEGATE" "%POW" "%PUTHASH" "%RAW-BITS"
               "%RAW-REF-COMPLEX-DOUBLE" "%RAW-REF-COMPLEX-LONG"
               "%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE"
               "%RAW-REF-LONG" "%RAW-REF-SINGLE"
               "%RAW-SET-COMPLEX-DOUBLE" "%RAW-SET-COMPLEX-LONG"
               "%RAW-SET-COMPLEX-SINGLE" "%RAW-SET-DOUBLE"
               "%RAW-SET-LONG" "%RAW-SET-SINGLE" "%SCALB" "%SCALBN"
               "%SET-ARRAY-DIMENSION" "%SET-FUNCALLABLE-INSTANCE-FUN"
               "%SET-FUNCALLABLE-INSTANCE-INFO" "%SET-RAW-BITS"
               "%SET-SAP-REF-16" "%SET-SAP-REF-32" "%SET-SAP-REF-64"
               "%SET-SAP-REF-WORD" "%SET-SAP-REF-8" "%SET-SAP-REF-DOUBLE"
               "%SET-SAP-REF-LONG" "%SET-SAP-REF-SAP"
               "%SET-SAP-REF-SINGLE" "%SET-SIGNED-SAP-REF-16"
               "%SET-SIGNED-SAP-REF-32" "%SET-SIGNED-SAP-REF-64"
               "%SET-SIGNED-SAP-REF-WORD"
	       "%SET-SIGNED-SAP-REF-8" "%SET-STACK-REF"
               "%SET-SYMBOL-HASH" "%SIN" "%SIN-QUICK" "%SINGLE-FLOAT"
               "%SINH" "%SQRT" "%SXHASH-SIMPLE-STRING"
               "%SXHASH-SIMPLE-SUBSTRING" "%TAN" "%TAN-QUICK" "%TANH"
               "%UNARY-ROUND" "%UNARY-TRUNCATE" "%UNARY-FTRUNCATE"
               "%WITH-ARRAY-DATA" "%WITH-ARRAY-DATA-MACRO"
               "*ALREADY-MAYBE-GCING*" "*CURRENT-LEVEL-IN-PRINT*"
               "*EMPTY-TYPE*" "*GC-INHIBIT*" "*NEED-TO-COLLECT-GARBAGE*"
               "*CONTROL-STACK-EXHAUSTION-SAP*" "*UNIVERSAL-TYPE*"
               "*UNIVERSAL-FUN-TYPE*" "*UNPARSE-FUN-TYPE-SIMPLIFY*"
               "*WILD-TYPE*" "WORD-LOGICAL-AND" "WORD-LOGICAL-ANDC1"
               "WORD-LOGICAL-ANDC2" "WORD-LOGICAL-EQV"
               "WORD-LOGICAL-NAND" "WORD-LOGICAL-NOR" "WORD-LOGICAL-NOT"
               "WORD-LOGICAL-OR" "WORD-LOGICAL-ORC1" "WORD-LOGICAL-ORC2"
               "WORD-LOGICAL-XOR" "ALIEN-TYPE-TYPE"
               "ALIEN-TYPE-TYPE-ALIEN-TYPE" "ALIEN-TYPE-TYPE-P"
               "ALLOCATE-VECTOR" "ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
               "COMPILER-ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
               "DISABLED-PACKAGE-LOCKS"
               "WITH-SINGLE-PACKAGE-LOCKED-ERROR"
               "PACKAGE-ERROR-FORMAT-ARGUMENTS"
               "PACKAGE-ERROR-FORMAT-CONTROL" "ALWAYS-SUBTYPEP"
               "ARGS-TYPE" "ARGS-TYPE-ALLOWP" "ARGS-TYPE-KEYP"
               "ARGS-TYPE-KEYWORDS" "ARGS-TYPE-OPTIONAL" "ARGS-TYPE-P"
               "ARGS-TYPE-REQUIRED" "ARGS-TYPE-REST" "ARRAY-HEADER-P"
               "ARRAY-TYPE" "ARRAY-TYPE-COMPLEXP"
               "ARRAY-TYPE-DIMENSIONS" "ARRAY-TYPE-ELEMENT-TYPE"
               "ARRAY-TYPE-P" "ARRAY-TYPE-SPECIALIZED-ELEMENT-TYPE"
               "ASH-INDEX" "ASSERT-ERROR"
               #!+sb-unicode "BASE-CHAR-P"
               "BASE-STRING-P"
               "BINDING-STACK-POINTER-SAP" "BIT-BASH-COPY" "BIT-INDEX"
               "BOGUS-ARG-TO-VALUES-LIST-ERROR" "BOOLE-CODE"
               "BOUNDING-INDICES-BAD-ERROR" "BYTE-SPECIFIER" "%BYTE-BLT"
               "CALLABLE" "CASE-BODY-ERROR"
               "CHARACTER-SET" "CHARACTER-SET-TYPE"
               "CHARACTER-SET-TYPE-PAIRS"
	       #!+sb-unicode "CHARACTER-STRING-P"
               "CHARPOS"
               "CHECK-FOR-CIRCULARITY" "CHECK-TYPE-ERROR" "CLOSED-FLAME"
               "CODE-COMPONENT" "CODE-COMPONENT-P" "CODE-DEBUG-INFO"
               "CODE-HEADER-REF" "CODE-HEADER-SET" "CODE-INSTRUCTIONS"
               "COERCE-TO-FUN" "COERCE-TO-LEXENV" "COERCE-TO-LIST"
               "COERCE-TO-VALUES" "COERCE-TO-VECTOR"
               "*COLD-INIT-COMPLETE-P*" "COMPLEX-DOUBLE-FLOAT-P"
               "COMPLEX-FLOAT-P"
               #!+long-float "COMPLEX-LONG-FLOAT-P"
               "COMPLEX-RATIONAL-P" "COMPLEX-SINGLE-FLOAT-P"
               "COMPLEX-VECTOR-P" "COMPOUND-TYPE" "COMPOUND-TYPE-P"
               "COMPOUND-TYPE-TYPES" "CONS-TYPE" "CONS-TYPE-CAR-TYPE"
               "CONS-TYPE-CDR-TYPE" "CONS-TYPE-P" "CONSED-SEQUENCE"
               "CONSTANT" "CONSTANT-TYPE" "CONSTANT-TYPE-P"
               "CONSTANT-TYPE-TYPE" "CONTAINING-INTEGER-TYPE"
               "CONTROL-STACK-POINTER-SAP" "COPY-FROM-SYSTEM-AREA"
               "COPY-TO-SYSTEM-AREA" "COPY-BYTE-VECTOR-TO-SYSTEM-AREA"
               "CSUBTYPEP" "CTYPE" "TYPE-HASH-VALUE" "CTYPE-OF"
               "CTYPE-P" "CTYPEP" "CURRENT-FP" "CURRENT-SP"
               "CURRENT-DYNAMIC-SPACE-START" "DATA-VECTOR-REF"
               "DATA-VECTOR-SET" "DECODE-DOUBLE-FLOAT"
               #!+long-float "DECODE-LONG-FLOAT"
               "DECODE-SINGLE-FLOAT"
               "DEFINED-FTYPE-MATCHES-DECLARED-FTYPE-P"
               "!DEFSTRUCT-WITH-ALTERNATE-METACLASS" "DESCEND-INTO"
               "DISPLACED-TO-ARRAY-TOO-SMALL-ERROR"
               "DIVISION-BY-ZERO-ERROR" "DOUBLE-FLOAT-EXPONENT"
               "DOUBLE-FLOAT-HIGH-BITS" "DOUBLE-FLOAT-INT-EXPONENT"
               "DOUBLE-FLOAT-LOW-BITS" "DOUBLE-FLOAT-SIGNIFICAND"
               "FLOAT-WAIT" "DYNAMIC-SPACE-FREE-POINTER" "DYNAMIC-USAGE"
               "EFFECTIVE-FIND-POSITION-TEST"
               "EFFECTIVE-FIND-POSITION-KEY" "ERROR-NUMBER-OR-LOSE"
	       "EXTENDED-CHAR-P"
               "FAILED-%WITH-ARRAY-DATA" "FDEFINITION-OBJECT"
               "FDOCUMENTATION" "FILENAME"
               "FIND-AND-INIT-OR-CHECK-LAYOUT" "FLOAT-EXPONENT"
               "FLOAT-FORMAT-DIGITS" "FLOAT-FORMAT-NAME"
               "FLOAT-FORMAT-MAX" "FLOAT-INT-EXPONENT"
               "FLOATING-POINT-EXCEPTION" "FORM" "FORMAT-CONTROL"
               "*FREE-INTERRUPT-CONTEXT-INDEX*" "FUNCALLABLE-INSTANCE-P"
               "FUN-CODE-HEADER" "FUN-TYPE" "FUN-TYPE-ALLOWP"
               "FUN-TYPE-KEYP" "FUN-TYPE-KEYWORDS" "FUN-TYPE-NARGS"
               "FUN-TYPE-OPTIONAL" "FUN-TYPE-P" "FUN-TYPE-REQUIRED"
               "FUN-TYPE-REST" "FUN-TYPE-RETURNS" "FUN-TYPE-WILD-ARGS"
               "FUN-WORD-OFFSET" "GENERALIZED-BOOLEAN"
               "GET-CLOSURE-LENGTH" "GET-HEADER-DATA"
               "GET-LISP-OBJ-ADDRESS" "LOWTAG-OF" "WIDETAG-OF"
               "GET-MACHINE-VERSION" "HAIRY-DATA-VECTOR-REF"
               "HAIRY-DATA-VECTOR-SET" "HAIRY-TYPE"
               "HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
               "HANDLE-CIRCULARITY" "HOST" "IGNORE-IT" "ILL-BIN"
               "ILL-BOUT" "ILL-IN" "ILL-OUT" "INDEX-OR-MINUS-1"
               "INDEX-TOO-LARGE-ERROR" "*!INITIAL-ASSEMBLER-ROUTINES*"
               "*!INITIAL-FDEFN-OBJECTS*" "*!INITIAL-FOREIGN-SYMBOLS*"
               "*!INITIAL-LAYOUTS*" "*!INITIAL-SYMBOLS*"
               "INTEGER-DECODE-DOUBLE-FLOAT"
               #!+long-float "INTEGER-DECODE-LONG-FLOAT"
               "INTEGER-DECODE-SINGLE-FLOAT" "INTERNAL-ERROR"
               "INTERNAL-TIME" "INTERSECTION-TYPE" "INTERSECTION-TYPE-P"
               "INTERSECTION-TYPE-TYPES" "INVALID-ARG-COUNT-ERROR"
               "INVALID-ARRAY-INDEX-ERROR" "INVALID-UNWIND-ERROR"
               "IRRATIONAL" "JUST-DUMP-IT-NORMALLY" "KEY-INFO"
               "KEY-INFO-NAME" "KEY-INFO-P" "KEY-INFO-TYPE"
               "LAYOUT-DEPTHOID" "LAYOUT-INVALID-ERROR"
               #!+(or x86-64 x86) "%LEA"
               "LEXENV" "LEXENV-DESIGNATOR" "LINE-LENGTH" "ANSI-STREAM"
               "ANSI-STREAM-BIN" "ANSI-STREAM-BOUT" "ANSI-STREAM-CLOSE"
               "ANSI-STREAM-ELEMENT-TYPE" "ANSI-STREAM-IN"
               "ANSI-STREAM-IN-BUFFER" "ANSI-STREAM-IN-INDEX"
               "ANSI-STREAM-INPUT-STREAM-P" "ANSI-STREAM-MISC"
               "ANSI-STREAM-N-BIN" "ANSI-STREAM-OPEN-STREAM-P"
               "ANSI-STREAM-OUT" "ANSI-STREAM-SOUT"
               "ANSI-STREAM-OUTPUT-STREAM-P" "LIST-TO-VECTOR*"
               "LOGICAL-HOST" "LOGICAL-HOST-DESIGNATOR"
               #!+long-float "LONG-FLOAT-EXPONENT"
               #!+long-float "LONG-FLOAT-EXP-BITS"
               #!+long-float "LONG-FLOAT-HIGH-BITS"
               #!+long-float "LONG-FLOAT-LOW-BITS"
               #!+long-float "LONG-FLOAT-MID-BITS"
               "LONG-WORDS" "LRA" "LRA-CODE-HEADER" "LRA-P"
               "MAKE-ALIEN-TYPE-TYPE" "MAKE-ARGS-TYPE"
               "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-CONS-TYPE"
               "MAKE-DOUBLE-FLOAT" "MAKE-FUN-TYPE" "MAKE-KEY-INFO"
               "MAKE-LISP-OBJ"
               #!+long-float "MAKE-LONG-FLOAT"
               "MAKE-MEMBER-TYPE" "MAKE-NAMED-TYPE" "MAKE-NULL-LEXENV"
               "MAKE-NULL-INTERACTIVE-LEXENV" "MAKE-NUMERIC-TYPE"
               "MAKE-SINGLE-FLOAT" "MAKE-SPECIALIZABLE-ARRAY"
               "MAKE-UNPORTABLE-FLOAT" "%MAKE-INSTANCE"
               "MAKE-SHORT-VALUES-TYPE" "MAKE-SINGLE-VALUE-TYPE"
               "MAKE-VALUE-CELL" "MAKE-VALUES-TYPE" "MEMBER-TYPE"
               "MEMBER-TYPE-MEMBERS" "MEMBER-TYPE-P" "MERGE-BITS"
               "MODIFIED-NUMERIC-TYPE" "MUTATOR-SELF" "NAMED-TYPE"
               "NAMED-TYPE-NAME" "NAMED-TYPE-P" "NATIVE-BYTE-ORDER"
               "NEGATE" "NEGATION-TYPE" "NEGATION-TYPE-TYPE"
               "NEVER-SUBTYPEP" "NIL-ARRAY-ACCESSED-ERROR"
               "NIL-FUN-RETURNED-ERROR" "NOT-<=-ERROR" "NOT-=-ERROR"
               "NOT-DUMPED-AT-ALL" "NUMERIC-CONTAGION" "NUMERIC-TYPE"
               "NUMERIC-TYPE-CLASS" "NUMERIC-TYPE-COMPLEXP"
               "NUMERIC-TYPE-EQUAL" "NUMERIC-TYPE-FORMAT"
               "NUMERIC-TYPE-HIGH" "NUMERIC-TYPE-LOW" "NUMERIC-TYPE-P"
               "OBJECT-NOT-ARRAY-ERROR" "OBJECT-NOT-CHARACTER-ERROR"
               "OBJECT-NOT-BASE-STRING-ERROR" "OBJECT-NOT-BIGNUM-ERROR"
               "OBJECT-NOT-BIT-VECTOR-ERROR"
	       #!+sb-unicode "OBJECT-NOT-CHARACTER-STRING-ERROR"
               "OBJECT-NOT-COMPLEX-ERROR"
               "OBJECT-NOT-COMPLEX-FLOAT-ERROR"
               "OBJECT-NOT-COMPLEX-SINGLE-FLOAT-ERROR"
               #!+long-float "OBJECT-NOT-COMPLEX-LONG-FLOAT-ERROR"
               "OBJECT-NOT-COMPLEX-DOUBLE-FLOAT-ERROR"
               "OBJECT-NOT-COMPLEX-RATIONAL-ERROR"
               ;; FIXME: It's confusing using "complex" to mean both
               ;; "not on the real number line" and "not of a
               ;; SIMPLE-ARRAY nature". Perhaps we could rename all the
               ;; uses in the second sense as "hairy" instead?
               "OBJECT-NOT-COMPLEX-VECTOR-ERROR" "OBJECT-NOT-CONS-ERROR"
               "OBJECT-NOT-DOUBLE-FLOAT-ERROR" "OBJECT-NOT-FIXNUM-ERROR"
               "OBJECT-NOT-FLOAT-ERROR" "OBJECT-NOT-FUN-ERROR"
               "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-INTEGER-ERROR"
               "OBJECT-NOT-LIST-ERROR"
               #!+long-float "OBJECT-NOT-LONG-FLOAT-ERROR"
               "OBJECT-NOT-NUMBER-ERROR" "OBJECT-NOT-RATIO-ERROR"
               "OBJECT-NOT-RATIONAL-ERROR" "OBJECT-NOT-REAL-ERROR"
               "OBJECT-NOT-SAP-ERROR" "OBJECT-NOT-SIGNED-BYTE-32-ERROR"
               ;; FIXME: 32/64-bit issues
               "OBJECT-NOT-SIGNED-BYTE-64-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-ERROR"
               #!+long-float
               "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-DOUBLE-FLOAT-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-ERROR"
               #!+long-float "OBJECT-NOT-SIMPLE-ARRAY-LONG-FLOAT-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-NIL-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-SINGLE-FLOAT-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-15-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-16-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-2-ERROR"
               ;; KLUDGE: 32-bit and 64-bit ports implement a different
               ;; set of specialized array types.  Various bits of code
               ;; in SBCL assume that symbols connected to the
               ;; specialized array types are exported.  But there's not
               ;; a good way at this point to know whether the port for
               ;; which we're building is 32-bit or 64-bit.  Granted, we
               ;; could hardcode the particulars (or even come up with a
               ;; special :64BIT feature), but that seems a little
               ;; inelegant.  For now, we brute-force the issue by
               ;; always exporting all the names required for both
               ;; 32-bit and 64-bit ports.  Other bits connected to the
               ;; same issue are noted throughout the code below with
               ;; the tag "32/64-bit issues".  --njf, 2004-08-09
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-29-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-31-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-32-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-4-ERROR"
               ;; FIXME: 32/64-bit issues
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-60-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-63-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-64-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-7-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-8-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-16-ERROR"
               ;; FIXME: 32/64-bit issues
               "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-30-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-32-ERROR"
               ;; FIXME: 32/64-bit issues
               "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-61-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-64-ERROR"
               "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-8-ERROR"
               "OBJECT-NOT-SIMPLE-BIT-VECTOR-ERROR"
               "OBJECT-NOT-SIMPLE-BASE-STRING-ERROR"
	       #!+sb-unicode "OBJECT-NOT-SIMPLE-CHARACTER-STRING-ERROR"
               "OBJECT-NOT-SIMPLE-STRING-ERROR"
               "OBJECT-NOT-SIMPLE-VECTOR-ERROR"
               "OBJECT-NOT-SINGLE-FLOAT-ERROR" "OBJECT-NOT-STRING-ERROR"
               "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-SYMBOL-ERROR"
               "OBJECT-NOT-TYPE-ERROR"
               "OBJECT-NOT-UNSIGNED-BYTE-32-ERROR"
               ;; FIXME: 32/64-bit issues
               "OBJECT-NOT-UNSIGNED-BYTE-64-ERROR"
               "OBJECT-NOT-VECTOR-ERROR"
	       "OBJECT-NOT-VECTOR-NIL-ERROR"
	       "OBJECT-NOT-WEAK-POINTER-ERROR"
               "ODD-KEY-ARGS-ERROR" "OUTPUT-OBJECT" "OUTPUT-UGLY-OBJECT"
               "PACKAGE-DESIGNATOR" "PACKAGE-DOC-STRING"
               "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
               "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
               "PARSE-DEFMACRO" "PARSE-UNKNOWN-TYPE"
               "PARSE-UNKNOWN-TYPE-SPECIFIER" "PATHNAME-DESIGNATOR"
               #!+(or x86 x86-64) "*PSEUDO-ATOMIC-ATOMIC*"
               #!+(or x86 x86-64) "*PSEUDO-ATOMIC-INTERRUPTED*"
               "PUNT-PRINT-IF-TOO-LONG" "READER-IMPOSSIBLE-NUMBER-ERROR"
               "READER-PACKAGE-ERROR" "READER-EOF-ERROR"
               "RESTART-DESIGNATOR" "SCALE-DOUBLE-FLOAT"
               #!+long-float "SCALE-LONG-FLOAT"
               "SCALE-SINGLE-FLOAT" "SEQUENCE-COUNT" "SEQUENCE-END"
               "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
               "SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
               "SHIFT-TOWARDS-START" "SHRINK-VECTOR"
               ;; FIXME: 32/64-bit issues
               "SIGNED-BYTE-32-P" "SIGNED-BYTE-64-P"
               "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
               #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
               "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-P"
               "SIMPLE-ARRAY-DOUBLE-FLOAT-P"
               #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-P"
               "SIMPLE-ARRAY-NIL-P" "SIMPLE-ARRAY-P"
               "SIMPLE-ARRAY-SINGLE-FLOAT-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-15-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-16-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-2-P"
               ;; FIXME: 32/64-bit issues
               "SIMPLE-ARRAY-UNSIGNED-BYTE-29-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-31-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-32-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-4-P"
               ;; FIXME: 32/64-bit issues
               "SIMPLE-ARRAY-UNSIGNED-BYTE-60-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-63-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-64-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-7-P"
               "SIMPLE-ARRAY-UNSIGNED-BYTE-8-P"
               "SIMPLE-ARRAY-SIGNED-BYTE-16-P"
               "SIMPLE-ARRAY-SIGNED-BYTE-30-P"
               "SIMPLE-ARRAY-SIGNED-BYTE-32-P"
               ;; FIXME: 32/64-bit issues
               "SIMPLE-ARRAY-SIGNED-BYTE-61-P"
               "SIMPLE-ARRAY-SIGNED-BYTE-64-P"
               "SIMPLE-ARRAY-SIGNED-BYTE-8-P" "SIMPLE-BASE-STRING-P"
	       #!+sb-unicode "SIMPLE-CHARACTER-STRING-P"
               "SIMPLE-PACKAGE-ERROR" "SIMPLE-UNBOXED-ARRAY"
               "SINGLE-FLOAT-BITS" "SINGLE-FLOAT-EXPONENT"
               "SINGLE-FLOAT-INT-EXPONENT" "SINGLE-FLOAT-SIGNIFICAND"
               "SINGLE-VALUE-TYPE" "SINGLE-VALUE-SPECIFIER-TYPE"
               "SPECIALIZABLE" "SPECIALIZABLE-VECTOR" "SPECIFIER-TYPE"
               "STACK-REF" "STREAM-DESIGNATOR" "STRING-DESIGNATOR"
               "STRUCTURE-RAW-SLOT-TYPE-AND-SIZE" "SUB-GC"
               "SYMBOLS-DESIGNATOR" "%INSTANCE-LENGTH" "%INSTANCE-REF"
               "%INSTANCE-SET" "SYSTEM-AREA-CLEAR" "SYSTEM-AREA-COPY"
               "TWO-ARG-*" "TWO-ARG-+" "TWO-ARG--" "TWO-ARG-/"
               "TWO-ARG-/=" "TWO-ARG-<" "TWO-ARG-<=" "TWO-ARG-="
               "TWO-ARG->" "TWO-ARG->=" "TWO-ARG-AND" "TWO-ARG-EQV"
               "TWO-ARG-GCD" "TWO-ARG-IOR" "TWO-ARG-LCM" "TWO-ARG-XOR"
               "TYPE-DIFFERENCE" "TYPE-EXPAND" "TYPE-INTERSECTION"
               "TYPE-INTERSECTION2" "TYPE-APPROX-INTERSECTION2"
               "TYPE-SINGLE-VALUE-P" "TYPE-SPECIFIER" "TYPE-UNION"
               "TYPE/=" "TYPE=" "TYPES-EQUAL-OR-INTERSECT"
               "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
               "UNDEFINED-FUN-ERROR" "UNION-TYPE" "UNION-TYPE-P"
               "UNION-TYPE-TYPES" "UNKNOWN-ERROR"
               "UNKNOWN-KEY-ARG-ERROR" "UNKNOWN-TYPE" "UNKNOWN-TYPE-P"
               "UNKNOWN-TYPE-SPECIFIER" "UNSEEN-THROW-TAG-ERROR"
               ;; FIXME: 32/64-bit issues
               "UNSIGNED-BYTE-32-P" "UNSIGNED-BYTE-64-P"
               "VALUE-CELL-REF" "VALUE-CELL-SET" "VALUES-SPECIFIER-TYPE"
               "VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
               "VALUES-TYPE" "VALUES-TYPE-ERROR" "VALUES-TYPE-IN"
               "VALUES-TYPE-INTERSECTION" "VALUES-TYPE-OPTIONAL"
               "VALUES-TYPE-OUT" "VALUES-TYPE-P" "VALUES-TYPE-REQUIRED"
               "VALUES-TYPE-REST" "VALUES-TYPE-UNION"
               "VALUES-TYPE-TYPES" "VALUES-TYPES"
               "VALUES-TYPES-EQUAL-OR-INTERSECT" "VECTOR-T-P"
               "VECTOR-NIL-P" "VECTOR-TO-VECTOR*"
               "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH" "WITH-ARRAY-DATA"
               "WRONG-NUMBER-OF-INDICES-ERROR"

               "FDEFN" "MAKE-FDEFN" "FDEFN-P" "FDEFN-NAME" "FDEFN-FUN"
               "FDEFN-MAKUNBOUND" "OUTER-FDEFN"
               "%COERCE-CALLABLE-TO-FUN" "FUN-SUBTYPE"
               "*MAXIMUM-ERROR-DEPTH*" "%SET-SYMBOL-PLIST"
               "INFINITE-ERROR-PROTECT" "FIND-CALLER-NAME-AND-FRAME"
               "%SET-SYMBOL-VALUE" "%SET-SYMBOL-PACKAGE"
               "OUTPUT-SYMBOL-NAME" "%COERCE-NAME-TO-FUN"
               "INVOKE-MACROEXPAND-HOOK" "DEFAULT-STRUCTURE-PRINT"
               "LAYOUT" "LAYOUT-LENGTH" "LAYOUT-PURE" "DSD-RAW-TYPE"
               "DEFSTRUCT-DESCRIPTION" "UNDEFINE-STRUCTURE" "DD-COPIER"
               "UNDEFINE-FUN-NAME" "DD-TYPE" "CLASSOID-STATE" "INSTANCE"
               "*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT" "DSD-NAME"
               "%TYPEP" "DD-RAW-INDEX" "DD-NAME" "CLASSOID-SUBCLASSES"
               "CLASSOID-LAYOUT" "CLASSOID-NAME" "CLASSOID-P"
               "DD-RAW-LENGTH" "NOTE-NAME-DEFINED" "%CODE-CODE-SIZE"
               "DD-SLOTS" "DD-INCLUDE" "SLOT-SETTER-LAMBDA-FORM"
               "%IMAGPART" "DSD-ACCESSOR-NAME" "%CODE-DEBUG-INFO"
               "LAYOUT-CLASSOID" "LAYOUT-INVALID" "%SIMPLE-FUN-NAME"
               "DSD-TYPE" "%INSTANCEP" "DEFSTRUCT-SLOT-DESCRIPTION"
               "%SIMPLE-FUN-ARGLIST" "%SIMPLE-FUN-NEXT"
               "LAYOUT-CLOS-HASH-LENGTH" "DD-PREDICATE-NAME"
               "CLASSOID-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
               "%SET-INSTANCE-LAYOUT" "DD-DEFAULT-CONSTRUCTOR"
               "LAYOUT-OF" "%SIMPLE-FUN-SELF" "%REALPART"
               "STRUCTURE-CLASSOID-P" "DSD-INDEX" "STRUCTURE-CLASSOID"
               "%INSTANCE-LAYOUT" "LAYOUT-CLOS-HASH" "%SIMPLE-FUN-TYPE"
               "PROCLAIM-AS-FUN-NAME" "BECOME-DEFINED-FUN-NAME"
               "%NUMERATOR" "CLASSOID-TYPEP" "DSD-READ-ONLY"
               "DSD-DEFAULT" "LAYOUT-INHERITS" "DD-LENGTH"
               "%CODE-ENTRY-POINTS" "%DENOMINATOR"

               "STANDARD-CLASSOID" "CLASSOID-OF"
               "MAKE-STANDARD-CLASSOID" "CLASSOID-CELL-TYPEP"
               "FIND-CLASSOID-CELL" "EXTRACT-FUN-TYPE"
               "FUNCALLABLE-STRUCTURE-CLASSOID" "%RANDOM-DOUBLE-FLOAT"
               #!+long-float "%RANDOM-LONG-FLOAT"
               "%RANDOM-SINGLE-FLOAT" "RANDOM-PCL-CLASSOID"
               "%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK"
               "MAKE-FUNCALLABLE-STRUCTURE-CLASSOID"
               "LAYOUT-CLOS-HASH-MAX" "CLASSOID-CELL-NAME"
               "BUILT-IN-CLASSOID-DIRECT-SUPERCLASSES"
               "BUILT-IN-CLASSOID-TRANSLATION" "RANDOM-LAYOUT-CLOS-HASH"
               "CLASSOID-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
               "FUNCALLABLE-INSTANCE-FUN" "%FUNCALLABLE-INSTANCE-LAYOUT"
               "BASIC-STRUCTURE-CLASSOID" "CLASSOID-CELL-CLASSOID"
               "FUNCALLABLE-STRUCTURE-CLASSOID-P" "REGISTER-LAYOUT"
               "FUNCALLABLE-INSTANCE" "RANDOM-FIXNUM-MAX"
               "MAKE-RANDOM-PCL-CLASSOID" "INSTANCE-LAMBDA"
               "%FUNCALLABLE-INSTANCE-LEXENV" "%MAKE-SYMBOL"
               "%FUNCALLABLE-INSTANCE-FUN" "SYMBOL-HASH"

               "BUILT-IN-CLASSOID" "CONDITION-CLASSOID-P"
               "CONDITION-CLASSOID-SLOTS" "MAKE-UNDEFINED-CLASSOID"
               "FIND-CLASSOID" "CLASSOID" "CLASSOID-DIRECT-SUPERCLASSES"
               "MAKE-LAYOUT" "REDEFINE-LAYOUT-WARNING" "SLOT-CLASSOID"
               "INSURED-FIND-CLASSOID" "ORDER-LAYOUT-INHERITS"
               "STD-COMPUTE-CLASS-PRECEDENCE-LIST"

               ;; symbols from former SB!CONDITIONS
               "*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
               "*CONDITION-RESTARTS*" "SHOW-CONDITION" "CASE-FAILURE"
               "NAMESTRING-PARSE-ERROR" "NAMESTRING-PARSE-ERROR-OFFSET"
               "DESCRIBE-CONDITION" "MAKE-RESTART" "COERCE-TO-CONDITION"

               "CONDITION-READER-FUNCTION"
               "CONDITION-WRITER-FUNCTION"
	     
               "CONDITION-SLOT-ALLOCATION"
               "CONDITION-SLOT-DOCUMENTATION"
               "CONDITION-SLOT-INITARGS"
               "CONDITION-SLOT-INITFORM"
               "CONDITION-SLOT-INITFORM-P"
               "CONDITION-SLOT-NAME" "CONDITION-SLOT-READERS"
               "CONDITION-SLOT-WRITERS"
	     
               "!COLD-INIT" "!UNINTERN-INIT-ONLY-STUFF"
               "!GLOBALDB-COLD-INIT" "!FDEFN-COLD-INIT"
               "!FOREIGN-COLD-INIT" "!FUNCTION-NAMES-COLD-INIT"
               "!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
               "!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
               "!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
               "!FIXUP-TYPE-COLD-INIT" "!TARGET-TYPE-COLD-INIT"
               "!RANDOM-COLD-INIT" "!READER-COLD-INIT"
               "!TYPECHECKFUNS-COLD-INIT" "!LOADER-COLD-INIT"
               "!EXHAUST-COLD-INIT" "!PACKAGE-COLD-INIT"
               "!POLICY-COLD-INIT-OR-RESANIFY"
               "!VM-TYPE-COLD-INIT" "!BACKQ-COLD-INIT"
               "!SHARPM-COLD-INIT" "!EARLY-PROCLAIM-COLD-INIT"
               "!LATE-PROCLAIM-COLD-INIT" "!CLASS-FINALIZE"

               "GC-REINIT"
               "SIGNAL-COLD-INIT-OR-REINIT"
               "STREAM-COLD-INIT-OR-RESET" 

               ;; Cleanups to run before saving a core
               "DEBUG-DEINIT" "FOREIGN-DEINIT" "PROFILE-DEINIT"

               ;; Note: These are out of lexicographical order
               ;; because in CMU CL they were defined as
               ;; internal symbols in package "CL" imported
               ;; into package "C", as opposed to what we're
               ;; doing here, defining them as external symbols
               ;; in a package which is used by both "SB!C" and
               ;; "SB!IMPL". (SBCL's "SB!C" is directly
               ;; analogous to CMU CL's "C"; and for this
               ;; purpose, SBCL's "SB!IMPL" is analogous to CMU
               ;; CL's "CL".) As far as I know there's nothing
               ;; special about them, so they could be merged
               ;; into the same order as everything else in the
               ;; in this package. -- WHN 19990911
               "STRING>=*" "STRING>*" "STRING=*" "STRING<=*"
               "STRING<*" "STRING/=*" "%SVSET"
               "%SP-STRING-COMPARE" "%SETNTH" "%SETELT"
               "%SET-ROW-MAJOR-AREF" "%SET-FILL-POINTER"
               "%SET-FDEFINITION" "%SCHARSET" "%SBITSET"
               "%RPLACD" "%RPLACA" "%PUT" "%CHARSET" "%BITSET"
               "%ASET" "%ARRAY-TYPEP"
               "%SET-SAP-REF-DESCRIPTOR"))

   #s(sb-cold:package-data
      :name "SB!THREAD"
      :use ("CL" "SB!ALIEN" "SB!INT")
      :doc "public (but low-level): native thread support"
      :export ("MAKE-THREAD"
	       "MAKE-LISTENER-THREAD" "DESTROY-THREAD" "TERMINATE-THREAD"
	       "INTERRUPT-THREAD" "WITH-RECURSIVE-LOCK"
	       "MUTEX" "MAKE-MUTEX" "GET-MUTEX" "RELEASE-MUTEX" "WITH-MUTEX"
	       "MUTEX-VALUE" "WAITQUEUE" "MAKE-WAITQUEUE"
	       "CONDITION-WAIT" "CONDITION-NOTIFY" "CONDITION-BROADCAST"
	       "WITH-RECURSIVE-LOCK" "RELEASE-FOREGROUND" "WITH-NEW-SESSION"
	       "CURRENT-THREAD-ID"))
 
   #s(sb-cold:package-data
      :name "SB!LOOP"
      :doc "private: implementation details of LOOP"
      :use ("CL")
      :export ())

   #s(sb-cold:package-data
      :name "SB!MOP"
      :doc
      "public: the MetaObject Protocol interface, as defined by
The Art of the Metaobject Protocol, by Kiczales, des Rivieres and Bobrow:
ISBN 0-262-61074-4, with exceptions as noted in the User Manual."
      :use ("CL")
      :reexport ("ADD-METHOD"
		 "ALLOCATE-INSTANCE"
		 "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
		 "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
		 "METHOD-QUALIFIERS" "REMOVE-METHOD"
		 "BUILT-IN-CLASS" "CLASS"
		 "FUNCTION" "GENERIC-FUNCTION"
		 "METHOD" "METHOD-COMBINATION"
		 "STANDARD-CLASS" "STANDARD-GENERIC-FUNCTION"
		 "STANDARD-METHOD" "STANDARD-OBJECT" "T")
      :export ("ADD-DEPENDENT"
	       "ADD-DIRECT-METHOD"
	       "ADD-DIRECT-SUBCLASS"
	       "CLASS-DEFAULT-INITARGS"
	       "CLASS-DIRECT-DEFAULT-INITARGS"
	       "CLASS-DIRECT-SLOTS"
	       "CLASS-DIRECT-SUBCLASSES"
	       "CLASS-DIRECT-SUPERCLASSES"
	       "CLASS-FINALIZED-P"
	       "CLASS-PRECEDENCE-LIST"
	       "CLASS-PROTOTYPE"
	       "CLASS-SLOTS"
	       "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
	       "COMPUTE-CLASS-PRECEDENCE-LIST"
	       "COMPUTE-DEFAULT-INITARGS"
	       "COMPUTE-DISCRIMINATING-FUNCTION"
	       "COMPUTE-EFFECTIVE-METHOD"
	       "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
	       "COMPUTE-SLOTS"
	       "DIRECT-SLOT-DEFINITION"
	       "DIRECT-SLOT-DEFINITION-CLASS"
	       "EFFECTIVE-SLOT-DEFINITION"
	       "EFFECTIVE-SLOT-DEFINITION-CLASS"
	       "ENSURE-CLASS"
	       "ENSURE-CLASS-USING-CLASS"
	       "ENSURE-GENERIC-FUNCTION-USING-CLASS"
	       "EQL-SPECIALIZER"
	       "EQL-SPECIALIZER-OBJECT"
	       "EXTRACT-LAMBDA-LIST"
	       "EXTRACT-SPECIALIZER-NAMES"
	       "FINALIZE-INHERITANCE"
	       "FIND-METHOD-COMBINATION"
	       "FORWARD-REFERENCED-CLASS"
	       "FUNCALLABLE-STANDARD-CLASS"
	       "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
	       "FUNCALLABLE-STANDARD-OBJECT"
	       "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
	       "GENERIC-FUNCTION-DECLARATIONS"
	       "GENERIC-FUNCTION-LAMBDA-LIST"
	       "GENERIC-FUNCTION-METHOD-CLASS"
	       "GENERIC-FUNCTION-METHOD-COMBINATION"
	       "GENERIC-FUNCTION-METHODS"
	       "GENERIC-FUNCTION-NAME"
	       "INTERN-EQL-SPECIALIZER"
	       "MAKE-METHOD-LAMBDA"
	       "MAP-DEPENDENTS"
	       ;; KLUDGE: See the User Manual
	       ;; "METAOBJECT"
	       "METHOD-FUNCTION"
	       "METHOD-GENERIC-FUNCTION"
	       "METHOD-LAMBDA-LIST"
	       "METHOD-SPECIALIZERS"
	       "ACCESSOR-METHOD-SLOT-DEFINITION"
	       "READER-METHOD-CLASS"
	       "REMOVE-DEPENDENT"
	       "REMOVE-DIRECT-METHOD"
	       "REMOVE-DIRECT-SUBCLASS"
	       "SET-FUNCALLABLE-INSTANCE-FUNCTION"
	       "SLOT-BOUNDP-USING-CLASS"
	       "SLOT-DEFINITION"
	       "SLOT-DEFINITION-ALLOCATION"
	       "SLOT-DEFINITION-INITARGS"
	       "SLOT-DEFINITION-INITFORM"
	       "SLOT-DEFINITION-INITFUNCTION"
	       "SLOT-DEFINITION-LOCATION"
	       "SLOT-DEFINITION-NAME"
	       "SLOT-DEFINITION-READERS"
	       "SLOT-DEFINITION-WRITERS"
	       "SLOT-DEFINITION-TYPE"
	       "SLOT-MAKUNBOUND-USING-CLASS"
	       "SLOT-VALUE-USING-CLASS"
	       "SPECIALIZER"
	       "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
	       "SPECIALIZER-DIRECT-METHODS"
	       "STANDARD-ACCESSOR-METHOD"
	       "STANDARD-DIRECT-SLOT-DEFINITION"
	       "STANDARD-EFFECTIVE-SLOT-DEFINITION"
	       "STANDARD-INSTANCE-ACCESS"
	       "STANDARD-READER-METHOD"
	       "STANDARD-SLOT-DEFINITION"
	       "STANDARD-WRITER-METHOD"
	       "UPDATE-DEPENDENT"
	       "VALIDATE-SUPERCLASS"
	       "WRITER-METHOD-CLASS"))

   #s(sb-cold:package-data
      :name "SB!PCL"
      :doc
      "semi-public: This package includes useful meta-object protocol
extensions, but even they are not guaranteed to be present in later
versions of SBCL, and the other stuff in here is definitely not
guaranteed to be present in later versions of SBCL.  Use of this
package is deprecated in favour of SB-MOP."
      :use ("CL" "SB!MOP" "SB!INT" "SB!EXT" "SB!WALKER" "SB!KERNEL")
      ;; FIXME: After a little while, these reexports can probably go
      ;; away, as they're superseded by the use of SB-MOP as the
      ;; publically-accessible package.
      :reexport ( ;; CL symbols
		 "ADD-METHOD"
		 "ALLOCATE-INSTANCE"
		 "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
		 "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
		 "METHOD-QUALIFIERS" "REMOVE-METHOD"
		 ;; MOP symbols
		 "ADD-DEPENDENT"
		 "ADD-DIRECT-METHOD"
		 "ADD-DIRECT-SUBCLASS"
		 "CLASS-DEFAULT-INITARGS"
		 "CLASS-DIRECT-DEFAULT-INITARGS"
		 "CLASS-DIRECT-SLOTS"
		 "CLASS-DIRECT-SUBCLASSES"
		 "CLASS-DIRECT-SUPERCLASSES"
		 "CLASS-FINALIZED-P"
		 "CLASS-PRECEDENCE-LIST"
		 "CLASS-PROTOTYPE"
		 "CLASS-SLOTS"
		 "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
		 "COMPUTE-CLASS-PRECEDENCE-LIST"
		 "COMPUTE-DEFAULT-INITARGS"
		 "COMPUTE-DISCRIMINATING-FUNCTION"
		 "COMPUTE-EFFECTIVE-METHOD"
		 "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
		 "COMPUTE-SLOTS"
		 "DIRECT-SLOT-DEFINITION"
		 "DIRECT-SLOT-DEFINITION-CLASS"
		 "EFFECTIVE-SLOT-DEFINITION"
		 "EFFECTIVE-SLOT-DEFINITION-CLASS"
		 "ENSURE-CLASS"
		 "ENSURE-CLASS-USING-CLASS"
		 "ENSURE-GENERIC-FUNCTION-USING-CLASS"
		 "EQL-SPECIALIZER"
		 "EQL-SPECIALIZER-OBJECT"
		 "EXTRACT-LAMBDA-LIST"
		 "EXTRACT-SPECIALIZER-NAMES"
		 "FINALIZE-INHERITANCE"
		 "FIND-METHOD-COMBINATION"
		 "FORWARD-REFERENCED-CLASS"
		 "FUNCALLABLE-STANDARD-CLASS"
		 "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
		 "FUNCALLABLE-STANDARD-OBJECT"
		 "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
		 "GENERIC-FUNCTION-DECLARATIONS"
		 "GENERIC-FUNCTION-LAMBDA-LIST"
		 "GENERIC-FUNCTION-METHOD-CLASS"
		 "GENERIC-FUNCTION-METHOD-COMBINATION"
		 "GENERIC-FUNCTION-METHODS"
		 "GENERIC-FUNCTION-NAME"
		 "INTERN-EQL-SPECIALIZER"
		 "MAKE-METHOD-LAMBDA"
		 "MAP-DEPENDENTS"
		 "METHOD-FUNCTION"
		 "METHOD-GENERIC-FUNCTION"
		 "METHOD-LAMBDA-LIST"
		 "METHOD-SPECIALIZERS"
		 "ACCESSOR-METHOD-SLOT-DEFINITION"
		 "READER-METHOD-CLASS"
		 "REMOVE-DEPENDENT"
		 "REMOVE-DIRECT-METHOD"
		 "REMOVE-DIRECT-SUBCLASS"
		 "SET-FUNCALLABLE-INSTANCE-FUNCTION"
		 "SLOT-BOUNDP-USING-CLASS"
		 "SLOT-DEFINITION"
		 "SLOT-DEFINITION-ALLOCATION"
		 "SLOT-DEFINITION-INITARGS"
		 "SLOT-DEFINITION-INITFORM"
		 "SLOT-DEFINITION-INITFUNCTION"
		 "SLOT-DEFINITION-LOCATION"
		 "SLOT-DEFINITION-NAME"
		 "SLOT-DEFINITION-READERS"
		 "SLOT-DEFINITION-WRITERS"
		 "SLOT-DEFINITION-TYPE"
		 "SLOT-MAKUNBOUND-USING-CLASS"
		 "SLOT-VALUE-USING-CLASS"
		 "SPECIALIZER"
		 "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
		 "SPECIALIZER-DIRECT-METHODS"
		 "STANDARD-ACCESSOR-METHOD"
		 "STANDARD-DIRECT-SLOT-DEFINITION"
		 "STANDARD-EFFECTIVE-SLOT-DEFINITION"
		 "STANDARD-INSTANCE-ACCESS"
		 "STANDARD-READER-METHOD"
		 "STANDARD-SLOT-DEFINITION"
		 "STANDARD-WRITER-METHOD"
		 "UPDATE-DEPENDENT"
		 "VALIDATE-SUPERCLASS"
		 "WRITER-METHOD-CLASS"))

   #s(sb-cold:package-data
      :name "SB!PRETTY"
      :doc "private: implementation of pretty-printing"
      :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
      :export ("OUTPUT-PRETTY-OBJECT"
	       "PRETTY-STREAM" "PRETTY-STREAM-P"
	       "PPRINT-DISPATCH-TABLE"
	       "!PPRINT-COLD-INIT"))

   #s(sb-cold:package-data
      :name "SB!PROFILE"
      :doc "public: the interface to the profiler"
      :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
      :export ("PROFILE" "REPORT" "RESET" "UNPROFILE"))

   #s(sb-cold:package-data
      :name "SB!SYS"
      :doc
      "private: In theory, this \"contains functions and information
necessary for system interfacing\" (said cmu-user.tex at the time
of the SBCL code fork). That probably was and is a good idea, but in
practice, the distinctions between this package and SB-KERNEL
and even SB-VM seem to have become somewhat blurred over the years.
Some anomalies (e.g. FIND-IF-IN-CLOSURE being in SB-SYS instead of
SB-KERNEL) have been undone, but probably more remain."
      :use ("CL" "SB!EXT" "SB!INT")
      :export ("%ASSEMBLER-CODE-TYPE"
	       "%BIND-ALIGNED-SAP"
	       ;; FIXME: %PRIMITIVE shouldn't be here. (I now know that %SYS
	       ;; is for OS-dependent stuff. %PRIMITIVE should probably be in
	       ;; SB!KERNEL.)
	       "%PRIMITIVE"
	       "%STANDARD-CHAR-P"
               "*FOREIGN-LOCK*"
               "*LINKAGE-INFO*"
	       "*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
               "*RUNTIME-DLHANDLE*"
               "*SHARED-OBJECTS*"
               "*STATIC-FOREIGN-SYMBOLS*"
	       "*STDERR*" "*STDIN*"
	       "*STDOUT*" "*TASK-DATA*"
	       "*TASK-NOTIFY*" "*TASK-SELF*" "*TTY*" "*TYPESCRIPTPORT*"
	       "ADD-FD-HANDLER"
	       "ALLOCATE-SYSTEM-MEMORY"
	       "BEEP" "BITS" 
	       "BYTES" "C-PROCEDURE"
               "CLOSE-SHARED-OBJECTS"
	       "COMPILER-VERSION"
	       "DEALLOCATE-SYSTEM-MEMORY"
	       "DEFAULT-INTERRUPT"
	       "DEPORT-BOOLEAN" "DEPORT-INTEGER"
               "DYNAMIC-FOREIGN-SYMBOLS"
               "DLOPEN-OR-LOSE"
	       "FROB-DO-BODY"
	       "ENABLE-INTERRUPT" "ENUMERATION"
	       "FD-STREAM-FD" "FD-STREAM-P" 
               "FIND-FOREIGN-SYMBOL-IN-TABLE"
	       "FOREIGN-SYMBOL-ADDRESS" 
               "FOREIGN-SYMBOL-ADDRESS-AS-INTEGER"
               "FOREIGN-SYMBOL-ADDRESS-AS-INTEGER-OR-NIL"
               "FOREIGN-SYMBOL-DATAREF-ADDRESS"
	       "FOREIGN-SYMBOL-IN-ADDRESS"
	       "GET-PAGE-SIZE" "GET-SYSTEM-INFO"
	       "IGNORE-INTERRUPT"
	       "INT-SAP" "INVALIDATE-DESCRIPTOR" "IO-TIMEOUT"
	       "MACRO" "MAKE-FD-STREAM" "MAKE-OBJECT-SET" "MEMMOVE"
	       "NATURALIZE-BOOLEAN" "NATURALIZE-INTEGER"
	       "OBJECT-SET-OPERATION"
	       "OS-COLD-INIT-OR-REINIT" "OS-CONTEXT-T" "OUTPUT-RAW-BYTES"
	       "POINTER" "POINTER<" "POINTER>"
	       "READ-N-BYTES" "REALLOCATE-SYSTEM-MEMORY" "RECORD-SIZE"
	       "REMOVE-FD-HANDLER"
               "REOPEN-SHARED-OBJECTS"
	       "RESOLVE-LOADED-ASSEMBLER-REFERENCES"
	       "SAP+" "SAP-" "SAP-INT"
	       "SAP-REF-16" "SAP-REF-32" "SAP-REF-64" "SAP-REF-WORD"
	       "SAP-REF-8"
	       "SAP-REF-DESCRIPTOR"
	       "SAP-REF-DOUBLE" "SAP-REF-LONG"
	       "SAP-REF-SAP" "SAP-REF-SINGLE"
	       "SAP<" "SAP<=" "SAP=" "SAP>" "SAP>="
	       "SCRUB-CONTROL-STACK" "SERVE-ALL-EVENTS"
	       "SERVE-EVENT" "SERVER" "SERVER-MESSAGE"
	       "SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
	       "SIGNED-SAP-REF-64" "SIGNED-SAP-REF-WORD" "SIGNED-SAP-REF-8"
	       ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
	       "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
	       "SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P" 
               "UPDATE-LINKAGE-TABLE" "VECTOR-SAP"
	       "WAIT-UNTIL-FD-USABLE" "WITH-ENABLED-INTERRUPTS"
	       "WITH-FD-HANDLER"
	       "WITH-INTERRUPTS" "WITH-PINNED-OBJECTS" "WITHOUT-GCING"
	       "WITHOUT-INTERRUPTS" "WORDS"
	       "ALLOCATE-SYSTEM-MEMORY-AT"
	       "GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"))

   #s(sb-cold:package-data
      :name "SB!UNIX"
      :doc
      "private: a wrapper layer for SBCL itself to use when talking
with an underlying Unix-y operating system.
This was a public package in CMU CL, but that was different.
CMU CL's UNIX package tried to provide a comprehensive,
stable Unix interface suitable for the end user.
This package only tries to implement what happens to be
needed by the current implementation of SBCL, and makes
no guarantees of interface stability."
      :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
      :export (	;; wrappers around Unix stuff to give just what Lisp needs
	       "UID-USERNAME"
	       "UID-HOMEDIR"

	       ;; stuff with a one-to-one mapping to Unix constructs
	       "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN" "DEV-T" "DIRECT"
	       "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD" "F-GETFD" "F-GETFL"
	       "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN" "FAPPEND" "FASYNC"
	       "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC" "F_OK" "GID-T"
	       "INO-T" "UNIX-ACCESS" "UNIX-SETITIMER" "UNIX-GETITIMER"
	       "KBDCGET" "KBDCRESET"
	       "KBDCRST" "KBDCSET" "KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET"
	       "L_INCR" "L_SET" "L_XTND" "OFF-T" "O_APPEND" "O_CREAT" "O_EXCL"
	       "O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "POSIX-GETCWD"
	       "POSIX-GETCWD/" "READGRP" "READOTH" "READOWN" "RLIM-CUR"
	       "RLIM-MAX" "RU-IDRSS" "RU-INBLOCK" "RU-ISRSS" "RU-IXRSS"
	       "RU-MAJFLT" "RU-MAXRSS" "RU-MINFLT" "RU-MSGRCV" "RU-MSGSND"
	       "RU-NIVCSW" "RU-NSIGNALS" "RU-NSWAP" "RU-NVCSW" "RU-OUBLOCK"
	       "RU-STIME" "RU-UTIME" "RUSAGE_CHILDREN" "RUSAGE_SELF" "RUSEAGE"
	       "R_OK" "S-IEXEC" "S-IFBLK" "S-IFCHR" "S-IFDIR" "S-IFLNK" "S-IFMT"
	       "S-IFREG" "S-IFSOCK" "S-IREAD" "S-ISGID" "S-ISUID" "S-ISVTX"
	       "S-IWRITE" "SAVETEXT" "SC-MASK" "SC-ONSTACK" "SC-PC" "SETGIDEXEC"
	       "SETUIDEXEC" "SG-ERASE" "SG-FLAGS" "SG-ISPEED" "SG-KILL"
	       "SG-OSPEED" "SGTTYB" "SIZE-T" "ST-ATIME" "ST-BLKSIZE" "ST-BLOCKS"
	       "ST-CTIME" "ST-DEV" "ST-GID" "ST-MODE" "ST-MTIME" "ST-NLINK"
	       "ST-RDEV" "ST-SIZE" "ST-UID" "STAT" "TERMINAL-SPEEDS" "TIME-T"
	       "TIMEVAL" "TIMEZONE" "TIOCFLUSH" "TIOCGETC" "TIOCGETP" "TIOCGLTC"
	       "TIOCGPGRP" "TIOCGWINSZ" "TIOCNOTTY" "TIOCSETC" "TIOCSETP"
	       "TIOCSLTC" "TIOCSPGRP" "TIOCSWINSZ" "TV-SEC" "TV-USEC"
	       "TZ-DSTTIME" "TZ-MINUTESWEST" "UID-T" "UNIX-CLOSE" "UNIX-DUP"
	       "UNIX-EXIT" "UNIX-FILE-MODE" "UNIX-FSTAT" "UNIX-GETHOSTNAME"
	       "UNIX-GETPID" "UNIX-GETRUSAGE" "UNIX-GETTIMEOFDAY" "UNIX-GETUID"
	       "UNIX-GID" "UNIX-IOCTL" "UNIX-ISATTY" "UNIX-LSEEK" "UNIX-LSTAT"
	       "UNIX-MKDIR" "UNIX-OPEN" "UNIX-PATHNAME" "UNIX-PID" "UNIX-PIPE"
	       "UNIX-READ" "UNIX-READLINK" "UNIX-RENAME" "UNIX-SELECT"
	       "UNIX-STAT" "UNIX-UID" "UNIX-UNLINK" "UNIX-WRITE" "WINSIZE"
	       "WRITEGRP" "WRITEOTH" "WRITEOWN" "WS-COL" "WS-ROW" "WS-XPIXEL"
	       "WS-YPIXEL" "WNOHANG" "WSTOPPED" "WUNTRACED" "W_OK" "X_OK"

	       ;; signals
	       "SIGALRM" "SIGBUS" "SIGCHLD" "SIGCONT" "SIGEMT" "SIGFPE"
	       "SIGHUP" "SIGILL" "SIGINT" "SIGIO" "SIGIOT" "SIGKILL"
	       "SIGPIPE" "SIGPROF" "SIGQUIT" "SIGSEGV" "SIGSTOP" "SIGSYS"
	       "SIGTERM" "SIGTRAP" "SIGTSTP" "SIGTTIN" "SIGTTOU" "SIGURG"
	       "SIGUSR1" "SIGUSR2" "SIGVTALRM" "SIGWAITING" "SIGWINCH"
	       "SIGXCPU" "SIGXFSZ"

	       ;; errors
	       "E2BIG" "EADDRINUSE" "EADDRNOTAVAIL" "EAFNOSUPPORT"
	       "EAGAIN" "EALREADY" "EBADF" "EBUSY" "ECHILD" "ECONNABORTED"
	       "ECONNREFUSED" "ECONNRESET" "EDEADLK" "EDESTADDRREQ" "EDOM"
	       "EDQUOT" "EEXIST" "EFAULT" "EFBIG" "EHOSTDOWN"
	       "EHOSTUNREACH" "EINPROGRESS" "EINTR" "EINVAL" "EIO"
	       "EISCONN" "EISDIR" "ELOCAL" "ELOOP" "EMFILE" "EMLINK"
	       "EMSGSIZE" "ENAMETOOLONG" "ENETDOWN" "ENETRESET"
	       "ENETUNREACH" "ENFILE" "ENOBUFS" "ENODEV" "ENOENT"
	       "ENOEXEC" "ENOMEM" "ENOPROTOOPT" "ENOSPC" "ENOTBLK"
	       "ENOTCONN" "ENOTEMPTY" "ENOTSOCK" "ENOTTY" "ENXIO"
	       "EOPNOTSUPP" "EPERM" "EPFNOSUPPORT" "EPIPE" "EPROCLIM"
	       "EPROTONOSUPPORT" "EPROTOTYPE" "ERANGE" "EREMOTE"
	       "ERESTART" "EROFS" "ESHUTDOWN" "ESOCKTNOSUPPORT" "ESPIPE"
	       "ESRCH" "ESUCCESS" "ETIMEDOUT" "ETOOMANYREFS" "ETXTBSY"
	       "EUSERS" "EVICEERR" "EVICEOP" "EWOULDBLOCK" "EXDEV"

	       "FD-ISSET" "FD-SET" "LTCHARS" "UNIX-FAST-SELECT"
	       "UNIX-FILE-KIND" "UNIX-KILL" "CODESET"
	       "TCSETPGRP" "FD-ZERO" "FD-CLR" "CHECK" "UNIX-RESOLVE-LINKS"
	       "FD-SETSIZE" "TCGETPGRP" "UNIX-FAST-GETRUSAGE"
	       "UNIX-SIMPLIFY-PATHNAME" "UNIX-KILLPG"
	       "TIOCSIGSEND"
	       "C-IFLAG" "C-LFLAG" "C-OFLAG"
	       "C-CFLAG" "TCSAFLUSH" "C-CC" "SIOCSPGRP" "TERMIOS"
	       "O_NDELAY" "O_NOCTTY"
	       "O_NONBLOCK" "TCSANOW" "TCSADRAIN" "TCIFLUSH" "TCOFLUSH"
	       "TCIOFLUSH" "TTY-IGNBRK" "TTY-BRKINT" "TTY-IGNPAR" "TTY-PARMRK"
	       "TTY-INPCK" "TTY-ISTRIP" "TTY-INLCR" "TTY-IGNCR" "TTY-ICRNL"
	       "TTY-IUCLC" "TTY-IXON" "TTY-IXANY" "TTY-IXOFF" "TTY-IENQAK"
	       "TTY-IMAXBEL" "TTY-OPOST" "TTY-OLCUC" "TTY-ONLCR" "TTY-OCRNL"
	       "TTY-ONOCR" "TTY-ONLRET" "TTY-OFILL" "TTY-OFDEL" "TTY-ISIG"
	       "TTY-ICANON" "TTY-XCASE" "TTY-ECHO" "TTY-ECHOE" "TTY-ECHOK"
	       "TTY-ECHONL" "TTY-NOFLSH" "TTY-IEXTEN" "TTY-TOSTOP" "TTY-ECHOCTL"
	       "TTY-ECHOPRT" "TTY-ECHOKE"  "TTY-DEFECHO" "TTY-FLUSHO"
	       "TTY-PENDIN" "TTY-CSTOPB" "TTY-CREAD" "TTY-PARENB" "TTY-PARODD"
	       "TTY-HUPCL" "TTY-CLOCAL" "RCV1EN" "XMT1EN" "TTY-LOBLK" "VINTR"
	       "VQUIT" "VERASE" "VKILL" "VEOF" "VEOL" "VEOL2" "TTY-CBAUD"
	       "TTY-CSIZE" "TTY-CS5" "TTY-CS6" "TTY-CS7" "TTY-CS8" "VMIN" "VTIME"
	       "VSUSP" "VSTART" "VSTOP" "VDSUSP"
	       #!+(or svr4 bsd linux) "O_NDELAY"
	       #!+(or svr4 linux)
	       ("EADDRINUSE"
		"EADDRNOTAVAIL" "EADV"
		"EAFNOSUPPORT" "EALREADY" "EBADE" "EBADFD"
		"EBADMSG" "EBADR" "EBADRQC"
		"EBADSLT" "EBFONT" #!+svr4 "ECANCELED"
		"ECHRNG" "ECOMM" "ECONNABORTED"
		"ECONNREFUSED" "ECONNRESET" "EDEADLK"
		"EDEADLOCK" "EDESTADDRREQ" #!+linux "EDOTDOT"
		#!+linux "EDQUOT" "EHOSTDOWN" "EHOSTUNREACH"
		"EIDRM" "EILSEQ" "EINPROGRESS"
		"EISCONN" #!+linux "EISNAM" "EL2HLT"
		"EL2NSYNC" "EL3HLT" "EL3RST" "ELIBACC"
		"ELIBBAD" "ELIBEXEC" "ELIBMAX" "ELIBSCN"
		"ELNRNG" "ELOOP" "EMSGSIZE" "EMULTIHOP"
		"ENAMETOOLONG" #!+linux "ENAVAIL"
		"ENETDOWN" "ENETRESET" "ENETUNREACH" "ENOANO"
		"ENOBUFS" "ENOCSI" "ENODATA" "ENOLCK"
		"ENOLINK" "ENOMSG" "ENONET" "ENOPKG"
		"ENOPROTOOPT" "ENOSR" "ENOSTR" "ENOSYS"
		"ENOTCONN" "ENOTEMPTY" #!+linux "ENOTNAM"
		"ENOTSOCK" #!+svr4 "ENOTSUP" "ENOTUNIQ"
		"EOPNOTSUPP" "EOVERFLOW" "EPFNOSUPPORT"
		"EPROTO" "EPROTONOSUPPORT" "EPROTOTYPE"
		"EREMCHG" "EREMOTE" #!+linux "EREMOTEIO"
		"ERESTART" "ESHUTDOWN" "ESOCKTNOSUPPORT"
		"ESRMNT" "ESTALE" "ESTRPIPE" "ETIME"
		"ETIMEDOUT" "ETOOMANYREFS" #!+linux "EUCLEAN"
		"EUNATCH" "EUSERS" "EWOULDBLOCK" "EXFULL")))

   #s(sb-cold:package-data
      :name "SB!VM"
      :doc
      "internal: the default place to hide information about the hardware and data
structure representations"
      :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!ASSEM" "SB!C"
		 "SB!EXT" "SB!FASL" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!UNIX")
      :export ("*ASSEMBLY-UNIT-LENGTH*"
	       "*PRIMITIVE-OBJECTS*"
	       "AFTER-BREAKPOINT-TRAP"
	       "ANY-REG-SC-NUMBER" "ARRAY-DATA-SLOT" "ARRAY-DIMENSIONS-OFFSET"
	       "ARRAY-DISPLACED-P-SLOT" "ARRAY-DISPLACEMENT-SLOT"
	       "ARRAY-ELEMENTS-SLOT" "ARRAY-FILL-POINTER-P-SLOT"
	       "ARRAY-FILL-POINTER-SLOT" "ATOMIC-FLAG"
	       "CHARACTER-REG-SC-NUMBER"
	       "CHARACTER-STACK-SC-NUMBER" "CHARACTER-WIDETAG"
	       "BIGNUM-DIGITS-OFFSET" "BIGNUM-WIDETAG" "BINDING-SIZE"
	       "BINDING-SYMBOL-SLOT" "BINDING-VALUE-SLOT" "BREAKPOINT-TRAP"
	       "N-BYTE-BITS" "BYTE-REG-SC-NUMBER"
	       "CATCH-BLOCK-CURRENT-CODE-SLOT"
	       "CATCH-BLOCK-CURRENT-CONT-SLOT" "CATCH-BLOCK-CURRENT-UWP-SLOT"
	       "CATCH-BLOCK-ENTRY-PC-SLOT" "CATCH-BLOCK-PREVIOUS-CATCH-SLOT"
	       "CATCH-BLOCK-SC-NUMBER" "CATCH-BLOCK-SIZE" "CATCH-BLOCK-SIZE-SLOT"
	       "CATCH-BLOCK-TAG-SLOT" "CERROR-TRAP"
	       "CLOSURE-FUN-SLOT"
	       "CLOSURE-HEADER-WIDETAG" "CLOSURE-INFO-OFFSET"
	       "CODE-CODE-SIZE-SLOT" "CODE-CONSTANTS-OFFSET"
	       "CODE-DEBUG-INFO-SLOT" "CODE-ENTRY-POINTS-SLOT"
	       "CODE-HEADER-WIDETAG"
	       "CODE-TRACE-TABLE-OFFSET-SLOT" "COMPLEX-ARRAY-WIDETAG"
	       "COMPLEX-BIT-VECTOR-WIDETAG" "COMPLEX-DOUBLE-FLOAT-FILLER-SLOT"
	       "COMPLEX-DOUBLE-FLOAT-IMAG-SLOT" "COMPLEX-DOUBLE-FLOAT-REAL-SLOT"
	       "COMPLEX-DOUBLE-FLOAT-SIZE" "COMPLEX-DOUBLE-FLOAT-WIDETAG"
	       "COMPLEX-DOUBLE-REG-SC-NUMBER" "COMPLEX-DOUBLE-STACK-SC-NUMBER"
	       "COMPLEX-IMAG-SLOT" "COMPLEX-REAL-SLOT"
	       #!+long-float "COMPLEX-LONG-FLOAT-IMAG-SLOT"
	       #!+long-float "COMPLEX-LONG-FLOAT-REAL-SLOT"
	       #!+long-float "COMPLEX-LONG-FLOAT-SIZE"
	       #!+long-float "COMPLEX-LONG-FLOAT-WIDETAG"
	       #!+long-float "COMPLEX-LONG-REG-SC-NUMBER"
	       #!+long-float "COMPLEX-LONG-STACK-SC-NUMBER"
	       "COMPLEX-SINGLE-FLOAT-IMAG-SLOT" "COMPLEX-SINGLE-FLOAT-REAL-SLOT"
	       "COMPLEX-SINGLE-FLOAT-SIZE" "COMPLEX-SINGLE-FLOAT-WIDETAG"
	       "COMPLEX-SINGLE-REG-SC-NUMBER" "COMPLEX-SINGLE-STACK-SC-NUMBER"
	       "COMPLEX-SIZE" "COMPLEX-BASE-STRING-WIDETAG"
	       #!+sb-unicode "COMPLEX-CHARACTER-STRING-WIDETAG"
               "COMPLEX-WIDETAG"
	       "COMPLEX-VECTOR-NIL-WIDETAG"
	       "COMPLEX-VECTOR-WIDETAG" "CONS-CAR-SLOT" "CONS-CDR-SLOT"
	       "CONS-SIZE" "CONSTANT-SC-NUMBER"
	       "CONTEXT-FLOATING-POINT-MODES" "CONTEXT-FLOAT-REGISTER"
	       "CONTEXT-PC" "CONTEXT-REGISTER"
	       "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
	       "*CURRENT-CATCH-BLOCK*"
	       "CURRENT-FLOAT-TRAP" "DEFINE-FOR-EACH-PRIMITIVE-OBJECT"
	       "DESCRIPTOR-REG-SC-NUMBER" "DESCRIPTOR-VS-NON-DESCRIPTOR-STORAGE"
	       "DOUBLE-FLOAT-EXPONENT-BYTE" "DOUBLE-FLOAT-BIAS"
	       "DOUBLE-FLOAT-DIGITS" "DOUBLE-FLOAT-EXPONENT-BYTE"
	       "DOUBLE-FLOAT-FILLER-SLOT" "DOUBLE-FLOAT-HIDDEN-BIT"
	       "DOUBLE-FLOAT-NORMAL-EXPONENT-MAX"
	       "DOUBLE-FLOAT-NORMAL-EXPONENT-MIN" "DOUBLE-FLOAT-SIGNIFICAND-BYTE"
	       "DOUBLE-FLOAT-SIZE" "DOUBLE-FLOAT-TRAPPING-NAN-BIT"
	       "DOUBLE-FLOAT-WIDETAG" "DOUBLE-FLOAT-VALUE-SLOT"
	       "DOUBLE-INT-CARG-REG-SC-NUMBER" "DOUBLE-REG-SC-NUMBER"
	       "DOUBLE-STACK-SC-NUMBER"
	       "ERROR-TRAP" "EVEN-FIXNUM-LOWTAG"
	       "EXPORTED-STATIC-SYMBOLS" "EXTERN-ALIEN-NAME"
	       "FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
	       "FDEFN-SIZE" "FDEFN-WIDETAG" "FIXNUMIZE"
	       "FIXNUM-TAG-MASK"
	       "FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
	       "FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
	       "FLOAT-IMPRECISE-TRAP-BIT" "FLOAT-INVALID-TRAP-BIT"
	       "FLOAT-OVERFLOW-TRAP-BIT" "FLOAT-SIGN-SHIFT"
	       "FLOAT-UNDERFLOW-TRAP-BIT" "FLOATING-POINT-MODES"
	       "FORWARDING-POINTER-TYPE"
	       "FP-CONSTANT-SC-NUMBER"
	       "FP-DOUBLE-ZERO-SC-NUMBER" "FP-SINGLE-ZERO-SC-NUMBER"
	       "FUNCALLABLE-INSTANCE-FUN-SLOT"
	       "FUNCALLABLE-INSTANCE-HEADER-WIDETAG"
	       "FUNCALLABLE-INSTANCE-INFO-OFFSET"
	       "SIMPLE-FUN-ARGLIST-SLOT" "SIMPLE-FUN-CODE-OFFSET"
	       "FUN-END-BREAKPOINT-TRAP"
	       "SIMPLE-FUN-HEADER-CODE-OFFSET"
	       "SIMPLE-FUN-HEADER-NEXT-SLOT"
	       "SIMPLE-FUN-HEADER-SELF-SLOT"
	       "SIMPLE-FUN-HEADER-WIDETAG"
	       "SIMPLE-FUN-HEADER-TYPE-SLOT"
	       "SIMPLE-FUN-NAME-SLOT"
	       "SIMPLE-FUN-NEXT-SLOT"
	       "FUN-POINTER-LOWTAG"
	       "SIMPLE-FUN-SELF-SLOT"
	       "SIMPLE-FUN-TYPE-SLOT"
	       "FUNCALLABLE-INSTANCE-LAYOUT-SLOT"
	       "FUNCALLABLE-INSTANCE-LEXENV-SLOT"
	       "GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
	       "IMMEDIATE-CHARACTER-SC-NUMBER" "IMMEDIATE-SAP-SC-NUMBER"
	       "IMMEDIATE-SC-NUMBER" "*INITIAL-DYNAMIC-SPACE-FREE-POINTER*"
	       "INSTANCE-HEADER-WIDETAG" "INSTANCE-POINTER-LOWTAG"
	       "INSTANCE-SLOTS-OFFSET" "INSTANCE-USAGE"
	       "INTERIOR-REG-SC-NUMBER" "INTERNAL-ERROR-ARGS"
	       "INTERRUPTED-FLAG" "LIST-ALLOCATED-OBJECTS" "LIST-POINTER-LOWTAG"
	       ;; FIXME: Possibly these other parameters (see
	       ;; compiler/{x86,sparc}/parms.lisp) should be defined
	       ;; conditionally on #!+LONG-FLOAT)
	       "LONG-FLOAT-BIAS" "LONG-FLOAT-DIGITS" "LONG-FLOAT-EXPONENT-BYTE"
	       "LONG-FLOAT-HIDDEN-BIT" "LONG-FLOAT-NORMAL-EXPONENT-MAX"
	       "LONG-FLOAT-NORMAL-EXPONENT-MIN" "LONG-FLOAT-SIGNIFICAND-BYTE"
	       #!+long-float "LONG-FLOAT-SIZE"
	       "LONG-FLOAT-TRAPPING-NAN-BIT"
	       #!+long-float "LONG-FLOAT-WIDETAG"
	       #!+long-float "LONG-FLOAT-VALUE-SLOT"
	       #!+long-float "LONG-REG-SC-NUMBER"
	       #!+long-float "LONG-STACK-SC-NUMBER"
	       "LOWTAG-LIMIT" "LOWTAG-MASK"
	       "LRA-SAVE-OFFSET"
	       "MEMORY-USAGE" "MOST-POSITIVE-COST"
	       "N-LOWTAG-BITS" 
	       "N-FIXNUM-TAG-BITS"
	       "N-POSITIVE-FIXNUM-BITS"
	       "NEGATIVE-IMMEDIATE-SC-NUMBER"
	       "NFP-SAVE-OFFSET"
	       "NON-DESCRIPTOR-REG-SC-NUMBER"
	       "NULL-SC-NUMBER"
	       "OBJECT-NOT-LIST-TRAP" "OBJECT-NOT-INSTANCE-TRAP"
	       "OCFP-SAVE-OFFSET"
	       "ODD-FIXNUM-LOWTAG"
	       "OFFSET-STATIC-SYMBOL"
	       "OTHER-IMMEDIATE-0-LOWTAG"
	       "OTHER-IMMEDIATE-1-LOWTAG"
	       ;; FIXME: 32/64-bit issues
	       "OTHER-IMMEDIATE-2-LOWTAG"
	       "OTHER-IMMEDIATE-3-LOWTAG"
	       "OTHER-POINTER-LOWTAG"
	       "PAD-DATA-BLOCK" "PENDING-INTERRUPT-TRAP"
	       "PRIMITIVE-OBJECT" "PRIMITIVE-OBJECT-WIDETAG"
	       "PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
	       "PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
	       "PRIMITIVE-OBJECT-SIZE" "PRIMITIVE-OBJECT-SLOTS"
	       "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P" "PRINT-ALLOCATED-OBJECTS"
	       "RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
	       "RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-WIDETAG"
	       "*READ-ONLY-SPACE-FREE-POINTER*"
	       "REGISTER-SAVE-PENALTY" "RETURN-PC-HEADER-WIDETAG"
	       "RETURN-PC-RETURN-POINT-OFFSET" "RETURN-PC-SAVE-OFFSET"
	       "SAETP-CTYPE" "SAETP-INITIAL-ELEMENT-DEFAULT"
	       "SAETP-N-BITS" "SAETP-TYPECODE" "SAETP-PRIMITIVE-TYPE-NAME"
	       "SAETP-N-PAD-ELEMENTS" "SAETP-SPECIFIER"
	       "SAETP-COMPLEX-TYPECODE" "SAETP-IMPORTANCE"
	       "*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES*"
	       "SANCTIFY-FOR-EXECUTION"
	       "SAP-POINTER-SLOT" "SAP-REG-SC-NUMBER" "SAP-SIZE"
	       "SAP-STACK-SC-NUMBER" "SAP-WIDETAG"
	       "SIGFPE-HANDLER" "SIGNED-REG-SC-NUMBER" "SIGNED-STACK-SC-NUMBER"
	       "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-WIDETAG"
	       #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-WIDETAG"
	       "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-WIDETAG"
	       "SIMPLE-ARRAY-DOUBLE-FLOAT-WIDETAG"
	       #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-WIDETAG"
	       "SIMPLE-ARRAY-NIL-WIDETAG"
	       "SIMPLE-ARRAY-SINGLE-FLOAT-WIDETAG"
	       "SIMPLE-ARRAY-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-15-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-16-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-2-WIDETAG"
	       ;; FIXME: 32/64-bit issues
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-29-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-31-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-32-WIDETAG"
	       ;; FIXME: 32/64-bit issues
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-60-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-63-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-64-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-4-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-7-WIDETAG"
	       "SIMPLE-ARRAY-UNSIGNED-BYTE-8-WIDETAG"
	       "SIMPLE-ARRAY-SIGNED-BYTE-16-WIDETAG"
	       ;; FIXME: 32/64-bit issues
	       "SIMPLE-ARRAY-SIGNED-BYTE-30-WIDETAG"
	       "SIMPLE-ARRAY-SIGNED-BYTE-32-WIDETAG"
	       ;; FIXME: 32/64-bit issues
	       "SIMPLE-ARRAY-SIGNED-BYTE-61-WIDETAG"
	       "SIMPLE-ARRAY-SIGNED-BYTE-64-WIDETAG"
	       "SIMPLE-ARRAY-SIGNED-BYTE-8-WIDETAG"
	       "SIMPLE-BIT-VECTOR-WIDETAG"
	       "SIMPLE-BASE-STRING-WIDETAG"
	       #!+sb-unicode "SIMPLE-CHARACTER-STRING-WIDETAG"
	       "SIMPLE-VECTOR-WIDETAG" "SINGLE-FLOAT-BIAS"
	       "SINGLE-FLOAT-DIGITS" "SINGLE-FLOAT-EXPONENT-BYTE"
	       "SINGLE-FLOAT-HIDDEN-BIT" "SINGLE-FLOAT-NORMAL-EXPONENT-MAX"
	       "SINGLE-FLOAT-NORMAL-EXPONENT-MIN" "SINGLE-FLOAT-SIGNIFICAND-BYTE"
	       "SINGLE-FLOAT-SIZE" "SINGLE-FLOAT-TRAPPING-NAN-BIT"
	       "SINGLE-FLOAT-WIDETAG" "SINGLE-FLOAT-VALUE-SLOT"
	       "SINGLE-INT-CARG-REG-SC-NUMBER"
	       "SINGLE-REG-SC-NUMBER" "SINGLE-STACK-SC-NUMBER"
	       "SINGLE-STEP-BREAKPOINT-TRAP"
	       "SINGLE-VALUE-RETURN-BYTE-OFFSET" "SLOT-DOCS"
	       "SLOT-LENGTH" "SLOT-NAME" "SLOT-OFFSET" "SLOT-OPTIONS"
	       "SLOT-REST-P" "*STATIC-FUNS*" "STATIC-FUN-OFFSET"
	       "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P"
	       "*STATIC-SPACE-FREE-POINTER*" "*STATIC-SYMBOLS*"
	       "STRUCTURE-USAGE"
	       "SYMBOL-HASH-SLOT" "SYMBOL-HEADER-WIDETAG" "SYMBOL-NAME-SLOT"
	       "SYMBOL-PACKAGE-SLOT" "SYMBOL-PLIST-SLOT"
	       "SYMBOL-SIZE" "SYMBOL-UNUSED-SLOT" "SYMBOL-VALUE-SLOT"
	       "*BINDING-STACK-START*"
	       "*CONTROL-STACK-START*" "*CONTROL-STACK-END*"
	       "CONTROL-STACK-POINTER-VALID-P"
	       "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
	       #!+c-stack-is-control-stack "ALTERNATE-SIGNAL-STACK-START"
	       #!-gencgc "DYNAMIC-0-SPACE-START" 
	       #!-gencgc "DYNAMIC-0-SPACE-END" 
	       #!-gencgc "DYNAMIC-1-SPACE-START" 
	       #!-gencgc "DYNAMIC-1-SPACE-END" 
	       "READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
	       "TARGET-BYTE-ORDER" "TARGET-HEAP-ADDRESS-SPACE"
	       "STATIC-SPACE-START" "STATIC-SPACE-END"
               #!+linkage-table "LINKAGE-TABLE-SPACE-START"
               #!+linkage-table "LINKAGE-TABLE-SPACE-END"
               #!+linkage-table "LINKAGE-TABLE-ENTRY-SIZE"
	       "TRACE-TABLE-CALL-SITE"
	       "TRACE-TABLE-FUN-EPILOGUE" "TRACE-TABLE-FUN-PROLOGUE"
	       "TRACE-TABLE-NORMAL" "N-WIDETAG-BITS" "WIDETAG-MASK"
	       "UNBOUND-MARKER-WIDETAG"
	       "UNSIGNED-IMMEDIATE-SC-NUMBER"
	       "UNSIGNED-REG-SC-NUMBER" "UNSIGNED-STACK-SC-NUMBER"
	       "UNWIND-BLOCK-CURRENT-CODE-SLOT" "UNWIND-BLOCK-CURRENT-CONT-SLOT"
	       "UNWIND-BLOCK-CURRENT-UWP-SLOT" "UNWIND-BLOCK-ENTRY-PC-SLOT"
	       "UNWIND-BLOCK-SIZE" "VALUE-CELL-HEADER-WIDETAG" "VALUE-CELL-SIZE"
	       "VALUE-CELL-VALUE-SLOT" "VECTOR-DATA-OFFSET" "VECTOR-LENGTH-SLOT"
	       "VECTOR-MUST-REHASH-SUBTYPE" "VECTOR-NORMAL-SUBTYPE"
	       "VECTOR-VALID-HASHING-SUBTYPE"
	       "WEAK-POINTER-BROKEN-SLOT" "WEAK-POINTER-NEXT-SLOT"
	       "WEAK-POINTER-SIZE" "WEAK-POINTER-WIDETAG"
	       "WEAK-POINTER-VALUE-SLOT"
	       "WORD" "N-WORD-BITS" "N-WORD-BYTES" "N-MACHINE-WORD-BITS"
	       "WORD-REG-SC-NUMBER" "WORD-SHIFT"
	       "ZERO-SC-NUMBER"))

   #s(sb-cold:package-data
      :name "SB!WALKER"
      :doc "internal: a code walker used by PCL"
      :use ("CL" "SB!INT" "SB!EXT")
      :export ("DEFINE-WALKER-TEMPLATE"
	       "WALK-FORM"
	       "*WALK-FORM-EXPAND-MACROS-P*" 
	       "VAR-LEXICAL-P" "VAR-SPECIAL-P"
	       "VAR-GLOBALLY-SPECIAL-P"
	       "*VAR-DECLARATIONS*" "VAR-DECLARATION"

	       ;; These were exported from the original PCL version of this 
	       ;; package, but aren't used in SBCL.
	       ;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
	       )))