72388077de80883a91f7b781a9823692ef0086eb
[sbcl.git] / package-data-list.lisp-expr
1 ;;;; -*- Lisp -*-
2
3 ;;;; the specifications of target packages, except for a few things
4 ;;;; which are handled elsewhere by other mechanisms:
5 ;;;;   * any SHADOWing and nickname hackery;
6 ;;;;   * the standard, non-SBCL-specific packages COMMON-LISP,
7 ;;;;     COMMON-LISP-USER, and KEYWORD.
8 ;;;;
9 ;;;; The packages are named SB!FOO here and elsewhere in
10 ;;;; cross-compilation, in order to avoid collision with possible
11 ;;;; corresponding SB-FOO packages in the cross-compilation host.
12 ;;;; They're renamed to SB-FOO later, after we've departed from the xc
13 ;;;; mothership and the danger of namespace collision is past.
14
15 ;;;; This software is part of the SBCL system. See the README file for
16 ;;;; more information.
17 ;;;;
18 ;;;; This software is derived from the CMU CL system, which was
19 ;;;; written at Carnegie Mellon University and released into the
20 ;;;; public domain. The software is in the public domain and is
21 ;;;; provided with absolutely no warranty. See the COPYING and CREDITS
22 ;;;; files for more information.
23
24 ;;;; KLUDGE: To make it easier for emacs to autoindent this file nicely
25 ;;;; (which prevents spurious conflicts in CVS) each longish list should
26 ;;;; have only one string on the first line. Silly, but there you go.
27
28 (#s(sb-cold:package-data
29     :name "SB!ALIEN"
30     :doc "public: the ALIEN foreign function interface (If you're
31 porting CMU CL code, note that this package corresponds roughly to a union
32 of the packages ALIEN and C-CALL at the time of the SBCL fork. SB-C-CALL
33 is a deprecated nickname to help ease the transition from older versions
34 of SBCL which maintained the CMU-CL-style split into two packages.)"
35     :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!ALIEN-INTERNALS")
36     :reexport ("ARRAY"
37                "BOOLEAN" "CHAR" "DOUBLE-FLOAT"
38                "FLOAT" "FUNCTION" "INTEGER" "LONG-FLOAT"
39                "SINGLE-FLOAT"
40                ;; FIXME: Do we really want to reexport
41                ;; SYSTEM-AREA-POINTER here? Why?
42                "SYSTEM-AREA-POINTER"
43                "UNION"  "VALUES" "*")
44     :export ("ADDR"
45              "ALIEN"
46              "ALIEN-FUNCALL" "ALIEN-SAP" "ALIEN-SIZE"
47              "CAST" "C-STRING"
48              "DEFINE-ALIEN-ROUTINE" "DEFINE-ALIEN-TYPE" "DEFINE-ALIEN-VARIABLE"
49              "DEREF" "DOUBLE"
50              "ENUM" "EXTERN-ALIEN"
51              "FREE-ALIEN"
52              "GET-ERRNO"
53              "INT"
54              "LOAD-1-FOREIGN" "LOAD-FOREIGN" "LOAD-SHARED-OBJECT" "LONG" "LONG-LONG"
55              "MAKE-ALIEN"
56              "NULL-ALIEN"
57              "SAP-ALIEN" "SHORT" "SIGNED" "SLOT" "STRUCT"
58              "UNDEFINED-ALIEN-ERROR"
59              "UNSIGNED"
60              "UNSIGNED-CHAR" "UNSIGNED-INT" "UNSIGNED-LONG" "UNSIGNED-LONG-LONG" "UNSIGNED-SHORT"
61              "UTF8-STRING"
62              "VOID"
63              "WITH-ALIEN"))
64
65    #s(sb-cold:package-data
66       :name "SB!ALIEN-INTERNALS"
67       :doc "private: stuff for implementing ALIENs and friends"
68       :use ("CL")
69       :export ("%CAST"
70                "%DEREF-ADDR" "%HEAP-ALIEN" "%HEAP-ALIEN-ADDR"
71                "%LOCAL-ALIEN-ADDR" "%LOCAL-ALIEN-FORCED-TO-MEMORY-P" "%SAP-ALIEN"
72                "%SET-DEREF" "%SET-HEAP-ALIEN" "%SET-LOCAL-ALIEN" "%SET-SLOT"
73                "%SLOT-ADDR" "*VALUES-TYPE-OKAY*" "ALIEN-ARRAY-TYPE"
74                "ALIEN-ARRAY-TYPE-DIMENSIONS" "ALIEN-ARRAY-TYPE-ELEMENT-TYPE"
75                "ALIEN-ARRAY-TYPE-P" "ALIEN-BOOLEAN-TYPE" "ALIEN-BOOLEAN-TYPE-P"
76                "ALIEN-CALLBACK"
77                "ALIEN-CALLBACK-ACCESSOR-FORM"
78                "ALIEN-CALLBACK-ASSEMBLER-WRAPPER"
79                "ALIEN-DOUBLE-FLOAT-TYPE" "ALIEN-DOUBLE-FLOAT-TYPE-P"
80                "ALIEN-ENUM-TYPE" "ALIEN-ENUM-TYPE-P" "ALIEN-FLOAT-TYPE"
81                "ALIEN-FLOAT-TYPE-P" "ALIEN-FUN-TYPE"
82                "ALIEN-FUN-TYPE-ARG-TYPES" "ALIEN-FUN-TYPE-P"
83                "ALIEN-FUN-TYPE-RESULT-TYPE" "ALIEN-INTEGER-TYPE"
84                "ALIEN-INTEGER-TYPE-P" "ALIEN-INTEGER-TYPE-SIGNED"
85                "ALIEN-LONG-FLOAT-TYPE" "ALIEN-LONG-FLOAT-TYPE-P"
86                "ALIEN-POINTER-TYPE" "ALIEN-POINTER-TYPE-P"
87                "ALIEN-POINTER-TYPE-TO" "ALIEN-RECORD-FIELD"
88                "ALIEN-RECORD-FIELD-NAME" "ALIEN-RECORD-FIELD-OFFSET"
89                "ALIEN-RECORD-FIELD-P" "ALIEN-RECORD-FIELD-TYPE"
90                "ALIEN-RECORD-TYPE" "ALIEN-RECORD-TYPE-FIELDS"
91                "ALIEN-RECORD-TYPE-P" "ALIEN-SINGLE-FLOAT-TYPE"
92                "ALIEN-SINGLE-FLOAT-TYPE-P" "ALIEN-SUBTYPE-P" "ALIEN-TYPE"
93                "ALIEN-TYPE-=" "ALIEN-TYPE-ALIGNMENT" "ALIEN-TYPE-BITS"
94                "ALIEN-TYPE-P" "ALIEN-TYPEP"
95                "ALIEN-VALUE" "ALIEN-VALUE-TYPE"
96                "ALIEN-VALUE-SAP" "ALIEN-VALUE-P"
97                "ALIEN-VALUES-TYPE" "ALIEN-VALUES-TYPE-P"
98                "ALIEN-VALUES-TYPE-VALUES" "ALIGN-OFFSET" "ALIEN-VOID-TYPE-P"
99                "COMPUTE-ALIEN-REP-TYPE" "COMPUTE-DEPORT-ALLOC-LAMBDA"
100                "COMPUTE-DEPORT-LAMBDA" "COMPUTE-DEPOSIT-LAMBDA"
101                "COMPUTE-EXTRACT-LAMBDA" "COMPUTE-LISP-REP-TYPE"
102                "COMPUTE-NATURALIZE-LAMBDA" "DEFINE-ALIEN-TYPE-CLASS"
103                "DEFINE-ALIEN-TYPE-METHOD" "DEFINE-ALIEN-TYPE-TRANSLATOR"
104                "DEPORT" "DEPORT-ALLOC"
105                "DEPOSIT-ALIEN-VALUE" "DISPOSE-LOCAL-ALIEN"
106                "*ENTER-ALIEN-CALLBACK*" "ENTER-ALIEN-CALLBACK"
107                "EXTRACT-ALIEN-VALUE"
108                "HEAP-ALIEN-INFO" "HEAP-ALIEN-INFO-P" "HEAP-ALIEN-INFO-SAP-FORM"
109                "HEAP-ALIEN-INFO-TYPE" "INVOKE-ALIEN-TYPE-METHOD" "LOCAL-ALIEN"
110                "LOCAL-ALIEN-INFO" "LOCAL-ALIEN-INFO-FORCE-TO-MEMORY-P"
111                "LOCAL-ALIEN-INFO-P" "LOCAL-ALIEN-INFO-TYPE"
112                "MAKE-ALIEN-FUN-TYPE" "MAKE-ALIEN-POINTER-TYPE"
113                "MAKE-ALIEN-VALUE" "MAYBE-WITH-PINNED-OBJECTS"
114                "MAKE-LOCAL-ALIEN" "NATURALIZE"
115                "NOTE-LOCAL-ALIEN-TYPE"
116                "PARSE-ALIEN-TYPE" "UNPARSE-ALIEN-TYPE"))
117
118    #s(sb-cold:package-data
119       :name "SB!ASSEM"
120       :doc "private: the assembler, used by the compiler"
121       :use ("CL" "SB!EXT" "SB!INT")
122       :export ("ASSEMBLY-UNIT"
123
124                "*ASSEM-SCHEDULER-P*"
125                "*ASSEM-INSTRUCTIONS*"
126                "*ASSEM-MAX-LOCATIONS*"
127
128                "EMIT-BYTE" "EMIT-SKIP" "EMIT-BACK-PATCH"
129                "EMIT-CHOOSER" "DEFINE-BITFIELD-EMITTER"
130                "DEFINE-INSTRUCTION" "DEFINE-INSTRUCTION-MACRO"
131                "DEF-ASSEMBLER-PARAMS" "EMIT-POSTIT"
132
133                "MAKE-SEGMENT" "SEGMENT-NAME" "ASSEMBLE"
134                "ALIGN" "INST" "LABEL" "LABEL-P" "GEN-LABEL"
135                "EMIT-LABEL" "LABEL-POSITION" "APPEND-SEGMENT" "FINALIZE-SEGMENT"
136                "ON-SEGMENT-CONTENTS-VECTORLY" "WRITE-SEGMENT-CONTENTS"
137                "READS" "WRITES" "SEGMENT"
138                "WITHOUT-SCHEDULING"
139                "VARIABLE-LENGTH"
140                "SEGMENT-COLLECT-DYNAMIC-STATISTICS"
141
142                ;; FIXME: These are in the SB-ASSEM package now, but
143                ;; (left over from CMU CL) are defined in files which
144                ;; are IN-PACKAGE SB-C. It would probably be cleaner
145                ;; to move at least most of them to files which are
146                ;; IN-PACKAGE SB-ASSEM.
147                "BRANCH" "DO-SSET-ELEMENTS" "FLUSHABLE" "MAKE-SSET" "SSET"
148                "SSET-ADJOIN" "SSET-DELETE" "SSET-ELEMENT" "SSET-EMPTY"))
149
150    #s(sb-cold:package-data
151       :name "SB!BIGNUM"
152       :doc "private: bignum implementation"
153       :use ("CL" "SB!KERNEL" "SB!INT" "SB!EXT")
154       :export ("%ADD-WITH-CARRY"
155                "%ALLOCATE-BIGNUM" "%ASHL" "%ASHR"
156                "%BIGNUM-LENGTH" "%BIGNUM-REF" "%BIGNUM-REF-WITH-OFFSET"
157                "%BIGNUM-SET" "%BIGNUM-SET-WITH-OFFSET"
158                "%BIGNUM-SET-LENGTH" "%DIGIT-0-OR-PLUSP"
159                "%DIGIT-LOGICAL-SHIFT-RIGHT"
160                "%FIXNUM-DIGIT-WITH-CORRECT-SIGN" "%FIXNUM-TO-DIGIT"
161                "%FLOOR" "%LOGAND" "%LOGIOR" "%LOGNOT" "%LOGXOR"
162                "%MULTIPLY" "%MULTIPLY-AND-ADD"
163                "%SUBTRACT-WITH-BORROW" "ADD-BIGNUMS"
164                "BIGNUM-ASHIFT-LEFT" "BIGNUM-ASHIFT-RIGHT"
165                "BIGNUM-COMPARE" "BIGNUM-DEPOSIT-BYTE"
166                "BIGNUM-ELEMENT-TYPE" "BIGNUM-GCD" "BIGNUM-INDEX"
167                "BIGNUM-INTEGER-LENGTH" "BIGNUM-LOAD-BYTE"
168                "BIGNUM-LOGBITP"
169                "BIGNUM-LOGCOUNT" "BIGNUM-LOGICAL-AND"
170                "BIGNUM-LOGICAL-IOR" "BIGNUM-LOGICAL-NOT"
171                "BIGNUM-LOGICAL-XOR" "BIGNUM-PLUS-P"
172                "BIGNUM-TO-FLOAT" "BIGNUM-TRUNCATE" "BIGNUM-TYPE"
173                "FLOAT-BIGNUM-RATIO" "MAKE-SMALL-BIGNUM"
174                "MULTIPLY-BIGNUM-AND-FIXNUM" "MULTIPLY-BIGNUMS"
175                "MULTIPLY-FIXNUMS" "NEGATE-BIGNUM"
176                "SUBTRACT-BIGNUM" "SXHASH-BIGNUM"))
177
178    #s(sb-cold:package-data
179       :name "SB!C"
180       :doc "private: implementation of the compiler"
181       ;; (It seems strange to have the compiler USE SB-ALIEN-INTERNALS,
182       ;; but the point seems to be to be able to express things like
183       ;; SB!C:DEFTRANSFORM SB-ALIEN-INTERNALS:MAKE-LOCAL-ALIEN without
184       ;; having to use a bunch of package prefixes, by putting them
185       ;; in the SB-C package. Maybe it'd be tidier to define an SB-ALIEN-COMP
186       ;; package for this? But it seems like a fairly low priority.)
187       ;; (Probably the same considerations also explain why BIGNUM is
188       ;;in the USE list.)
189       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM"
190                  #!+sb-dyncount "SB-DYNCOUNT" "SB!EXT" "SB!FASL" "SB!INT"
191                  "SB!KERNEL" "SB!SYS")
192       :reexport ("SLOT" "CODE-INSTRUCTIONS" "FLUSHABLE")
193       :export ("%ALIEN-FUNCALL"
194                "%CATCH-BREAKUP" "%CONTINUE-UNWIND"
195                "%LISTIFY-REST-ARGS" "%MORE-ARG" "%MORE-ARG-VALUES"
196                "%UNWIND-PROTECT-BREAKUP"
197
198                "*BACKEND-BYTE-ORDER*" "*BACKEND-DISASSEM-PARAMS*"
199                "*BACKEND-INSTRUCTION-FLAVORS*" "*BACKEND-INSTRUCTION-FORMATS*"
200                "*BACKEND-INTERNAL-ERRORS*" "*BACKEND-PAGE-SIZE*"
201                "*BACKEND-REGISTER-SAVE-PENALTY*"
202                "*BACKEND-SB-LIST*" "*BACKEND-SB-NAMES*"
203                "*BACKEND-SC-NAMES*" "*BACKEND-SC-NUMBERS*"
204                "*BACKEND-SPECIAL-ARG-TYPES*"
205                "*BACKEND-SUBFEATURES*"
206                "*BACKEND-T-PRIMITIVE-TYPE*"
207
208                "*CODE-SEGMENT*"
209                "*COUNT-VOP-USAGES*" "*ELSEWHERE*" "*FREE-FUNS*"
210                "*LEXENV*"
211                "*SETF-ASSUMED-FBOUNDP*"
212                "*SUPPRESS-VALUES-DECLARATION*"
213
214                #!+x86 "SET-FPU-WORD-FOR-C"
215                #!+x86 "SET-FPU-WORD-FOR-LISP"
216                "ALIGN-STACK-POINTER"
217                "ALLOC-ALIEN-STACK-SPACE" "ALLOC-NUMBER-STACK-SPACE"
218                "ALLOCATE-CODE-OBJECT" "ALLOCATE-FRAME"
219                "ALLOCATE-DYNAMIC-CODE-OBJECT" "ALLOCATE-FULL-CALL-FRAME"
220                "ALWAYS-TRANSLATABLE"
221                "ANY" "ARG-COUNT-ERROR" "ASSEMBLE-FILE"
222                "ATTRIBUTES" "ATTRIBUTES-INTERSECTION" "ATTRIBUTES-UNION"
223                "ATTRIBUTES=" "BIND"
224                "CALL" "CALL-LOCAL" "CALL-NAMED" "CALL-OUT" "CALL-VARIABLE"
225                "CALLEE-NFP-TN" "CALLEE-RETURN-PC-TN"
226                "CASE-BODY" "CATCH-BLOCK" "CHECK-CONS"
227                "CHECK-FIXNUM" "CHECK-FUN"
228                ;; FIXME: 32/64-bit issues
229                "CHECK-SIGNED-BYTE-32" "CHECK-SIGNED-BYTE-64"
230                "CHECK-SYMBOL"
231                ;; FIXME: 32/64-bit issues
232                "CHECK-UNSIGNED-BYTE-32" "CHECK-UNSIGNED-BYTE-64"
233                "CLOSURE-INIT" "CLOSURE-REF"
234                "CODE-CONSTANT-REF" "CODE-CONSTANT-SET"
235                "*CODE-COVERAGE-INFO*"
236                "COMPARE-AND-SWAP-SLOT"
237                "COMPILE-IN-LEXENV"
238                "COMPILE-LAMBDA-FOR-DEFUN"
239                "%COMPILER-DEFUN" "COMPILER-ERROR" "FATAL-COMPILER-ERROR"
240                "COMPILER-NOTIFY"
241                "COMPILER-STYLE-WARN" "COMPILER-WARN"
242                "COMPONENT" "COMPONENT-HEADER-LENGTH"
243                "COMPONENT-INFO" "COMPONENT-LIVE-TN" "COMPUTE-FUN"
244                "COMPUTE-OLD-NFP" "COPY-MORE-ARG"
245                "CURRENT-BINDING-POINTER" "CURRENT-NFP-TN"
246                "CURRENT-STACK-POINTER"
247                "DEALLOC-ALIEN-STACK-SPACE"
248                "DEALLOC-NUMBER-STACK-SPACE"
249                "DEBUG-CATCH-TAG"
250                "DEF-IR1-TRANSLATOR"
251                "!DEF-PRIMITIVE-TYPE" "!DEF-PRIMITIVE-TYPE-ALIAS"
252                "DEFINE-SOURCE-TRANSFORM" "!DEF-VM-SUPPORT-ROUTINE"
253                "DEFINE-ASSEMBLY-ROUTINE"
254                "DEFINITION-SOURCE-LOCATION"
255                "DEFINITION-SOURCE-LOCATION-NAMESTRING"
256                "DEFINITION-SOURCE-LOCATION-TOPLEVEL-FORM-NUMBER"
257                "DEFINITION-SOURCE-LOCATION-PLIST"
258                "DEFINE-MODULAR-FUN"
259                "DEFINE-MOVE-FUN"
260                "DEFINE-MOVE-VOP" "DEFINE-STORAGE-BASE"
261                "DEFINE-STORAGE-CLASS" "DEFINE-VOP"
262                "DEFKNOWN" "DEFOPTIMIZER"
263                "DEFTRANSFORM" "DERIVE-TYPE"
264                "ENTRY-NODE-INFO-NLX-TAG" "ENTRY-NODE-INFO-ST-TOP"
265                "PHYSENV-DEBUG-LIVE-TN" "PHYSENV-LIVE-TN"
266                "FAST-SYMBOL-VALUE"
267                "FIXUP-NOTE-KIND"
268                "FIXUP-NOTE-FIXUP"
269                "FIXUP-NOTE-POSITION"
270                "FOLDABLE"
271                "FORCE-TN-TO-STACK"
272                "FUN-INFO-DERIVE-TYPE" "FUN-INFO-IR2-CONVERT"
273                "FUN-INFO-LTN-ANNOTATE" "FUN-INFO-OPTIMIZER"
274                "GET-VECTOR-SUBTYPE"
275                "GET-TOPLEVELISH-FILE-INFO"
276                "HALT"
277                "IF-EQ" "INLINE-SYNTACTIC-CLOSURE-LAMBDA"
278                "INSERT-STEP-CONDITIONS"
279                "IR2-COMPONENT-CONSTANTS" "IR2-CONVERT"
280                "IR2-PHYSENV-NUMBER-STACK-P"
281                "KNOWN-CALL-LOCAL" "KNOWN-RETURN"
282                "LAMBDA-WITH-LEXENV" "LEXENV-FIND"
283                "LOCATION=" "LTN-ANNOTATE"
284                "MAKE-ALIAS-TN" "MAKE-CATCH-BLOCK"
285                "MAKE-CLOSURE" "MAKE-CONSTANT-TN"
286                "MAKE-FIXUP-NOTE"
287                "MAKE-LOAD-TIME-CONSTANT-TN" "MAKE-N-TNS" "MAKE-NORMAL-TN"
288                "MAKE-OTHER-IMMEDIATE-TYPE" "MAKE-RANDOM-TN"
289                "MAKE-REPRESENTATION-TN" "MAKE-RESTRICTED-TN" "MAKE-SC-OFFSET"
290                "MAKE-STACK-POINTER-TN" "MAKE-TN-REF" "MAKE-UNWIND-BLOCK"
291                "MAKE-WIRED-TN" "MAYBE-COMPILER-NOTIFY"
292                "MAYBE-INLINE-SYNTACTIC-CLOSURE"
293                "META-PRIMITIVE-TYPE-OR-LOSE"
294                "META-SB-OR-LOSE" "META-SC-NUMBER-OR-LOSE" "META-SC-OR-LOSE"
295                "MORE-ARG-CONTEXT" "MOVABLE" "MOVE" "MULTIPLE-CALL"
296                "MULTIPLE-CALL-LOCAL" "MULTIPLE-CALL-NAMED"
297                "MULTIPLE-CALL-VARIABLE"
298                "%%NIP-DX" "%%NIP-VALUES"
299                "NLX-ENTRY" "NLX-ENTRY-MULTIPLE"
300                "NODE-STACK-ALLOCATE-P"
301                "NON-DESCRIPTOR-STACK" "NOTE-ENVIRONMENT-START"
302                "NOTE-THIS-LOCATION" "OPTIMIZER" "PACK-TRACE-TABLE"
303                "PARSE-EVAL-WHEN-SITUATIONS"
304                "POLICY"
305                "%%POP-DX"
306                "PREDICATE" "PRIMITIVE-TYPE" "PRIMITIVE-TYPE-OF"
307                "PRIMITIVE-TYPE-OR-LOSE" "PRIMITIVE-TYPE-VOP"
308                "PRIMITIVE-TYPE-NAME" "PUSH-VALUES"
309                "READ-PACKED-BIT-VECTOR" "READ-VAR-INTEGER" "READ-VAR-STRING"
310                "RESET-STACK-POINTER" "RESTORE-DYNAMIC-STATE"
311                "RETURN-MULTIPLE" "SAVE-DYNAMIC-STATE" "SB"
312                "SB-ALLOCATED-SIZE" "SB-NAME" "SB-OR-LOSE" "SB-P" "SC" "SC-CASE"
313                "SC-IS" "SC-NAME" "SC-NUMBER" "SC-NUMBER-OR-LOSE" "SC-OFFSET"
314                "SC-OFFSET-OFFSET" "SC-OFFSET-SCN" "SC-OR-LOSE" "SC-P" "SC-SB"
315                "SET-UNWIND-PROTECT" "SET-VECTOR-SUBTYPE"
316                "SETUP-CLOSURE-ENVIRONMENT" "SETUP-ENVIRONMENT"
317                "SOURCE-LOCATION"
318                "SOURCE-TRANSFORM-LAMBDA"
319                "SPECIFY-SAVE-TN"
320                "STORE-COVERAGE-DATA"
321                "TAIL-CALL" "TAIL-CALL-NAMED"
322                "TAIL-CALL-VARIABLE" "TEMPLATE-OR-LOSE"
323                "TN" "TN-OFFSET" "TN-P" "TN-REF" "TN-REF-ACROSS" "TN-REF-LOAD-TN"
324                "TN-REF-NEXT" "TN-REF-NEXT-REF" "TN-REF-P" "TN-REF-TARGET"
325                "TN-REF-TN" "TN-REF-VOP" "TN-REF-WRITE-P" "TN-SC" "TN-VALUE"
326                "TRACE-TABLE-ENTRY" "TYPE-CHECK-ERROR" "UNBIND" "UNBIND-TO-HERE"
327                "UNSAFE" "UNWIND" "UWP-ENTRY"
328                "VERIFY-ARG-COUNT" "WRITE-PACKED-BIT-VECTOR"
329                "WRITE-VAR-INTEGER" "WRITE-VAR-STRING" "XEP-ALLOCATE-FRAME"
330                "LABEL-ID" "FIXUP" "FIXUP-FLAVOR" "FIXUP-NAME" "FIXUP-OFFSET"
331                "FIXUP-P" "MAKE-FIXUP"
332                "DEF-ALLOC"
333                "VAR-ALLOC"
334                "SAFE-FDEFN-FUN"
335                "NOTE-FIXUP"
336                "DEF-CASSER"
337                "DEF-REFFER"
338                "EMIT-CONSTANT"
339                "EMIT-NOP"
340                "DEF-SETTER"
341                "FIXED-ALLOC"
342                "MAKE-UNBOUND-MARKER"
343                "MAKE-FUNCALLABLE-INSTANCE-TRAMP"
344                "RETURN-SINGLE"
345                "NOTE-NEXT-INSTRUCTION"
346                "SET-SLOT"
347                "LOCATION-NUMBER"
348                "*COMPONENT-BEING-COMPILED*"
349                "BLOCK-NUMBER"
350                "BACKEND"
351                "IR2-BLOCK-BLOCK"
352                "VOP-BLOCK"
353                "*ASSEMBLY-OPTIMIZE*"
354                "LARGE-ALLOC"
355                "%SET-SIMPLE-FUN-SELF"
356                "VM-SUPPORT-ROUTINES-IMMEDIATE-CONSTANT-SC"
357                "VM-SUPPORT-ROUTINES-LOCATION-PRINT-NAME"
358                "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE-OF"
359                "VM-SUPPORT-ROUTINES-PRIMITIVE-TYPE"
360                "VM-SUPPORT-ROUTINES-MAKE-CALL-OUT-TNS"
361                "VM-SUPPORT-ROUTINES-STANDARD-ARG-LOCATION"
362                "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-PASSING-LOCATION"
363                "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-PASSING-LOCATION"
364                "VM-SUPPORT-ROUTINES-MAKE-OLD-FP-SAVE-LOCATION"
365                "VM-SUPPORT-ROUTINES-MAKE-RETURN-PC-SAVE-LOCATION"
366                "VM-SUPPORT-ROUTINES-MAKE-ARG-COUNT-LOCATION"
367                "VM-SUPPORT-ROUTINES-MAKE-NFP-TN"
368                "VM-SUPPORT-ROUTINES-MAKE-STACK-POINTER-TN"
369                "VM-SUPPORT-ROUTINES-MAKE-NUMBER-STACK-POINTER-TN"
370                "VM-SUPPORT-ROUTINES-MAKE-UNKNOWN-VALUES-LOCATIONS"
371                "VM-SUPPORT-ROUTINES-SELECT-COMPONENT-FORMAT"
372                "VM-SUPPORT-ROUTINES-MAKE-NLX-SP-TN"
373                "VM-SUPPORT-ROUTINES-MAKE-DYNAMIC-STATE-TNS"
374                "VM-SUPPORT-ROUTINES-MAKE-NLX-ENTRY-ARG-START-LOCATION"
375                "VM-SUPPORT-ROUTINES-GENERATE-CALL-SEQUENCE"
376                "VM-SUPPORT-ROUTINES-GENERATE-RETURN-SEQUENCE"
377                "VM-SUPPORT-ROUTINES-EMIT-NOP"
378                "VM-SUPPORT-ROUTINES-LOCATION-NUMBER"
379
380                "WITH-SOURCE-LOCATION"
381                "*SOURCE-LOCATION-THUNKS*"))
382
383    #s(sb-cold:package-data
384       :name "SB!DEBUG"
385       :doc
386       "sorta public: Eventually this should become the debugger interface, with
387 basic stuff like BACKTRACE and ARG. For now, the actual supported interface
388 is still mixed indiscriminately with low-level internal implementation stuff
389 like *STACK-TOP-HINT* and unsupported stuff like *TRACED-FUN-LIST*."
390       :use ("CL" "SB!EXT" "SB!INT" "SB!SYS" "SB!KERNEL")
391       :reexport ("*DEBUG-PRINT-VARIABLE-ALIST*")
392       :export ("*DEBUG-BEGINNER-HELP-P*"
393                "*DEBUG-CONDITION*"
394                "*DEBUG-READTABLE*" "*DEBUG-HELP-STRING*"
395                "*FLUSH-DEBUG-ERRORS*" "*IN-THE-DEBUGGER*"
396                "*SHOW-ENTRY-POINT-DETAILS*"
397                "*TRACE-INDENTATION-STEP*" "*MAX-TRACE-INDENTATION*"
398                "*TRACE-FRAME*" "*TRACED-FUN-LIST*"
399                "ARG" "BACKTRACE" "BACKTRACE-AS-LIST" "INTERNAL-DEBUG" "VAR"
400                "*PRINT-LOCATION-KIND*"
401                "*ONLY-BLOCK-START-LOCATIONS*" "*STACK-TOP-HINT*"
402                "*TRACE-VALUES*" "DO-DEBUG-COMMAND"
403                "*TRACE-ENCAPSULATE-DEFAULT*"
404                "FRAME-HAS-DEBUG-TAG-P"
405                "UNWIND-TO-FRAME-AND-CALL"))
406
407    #s(sb-cold:package-data
408       :name "SB!DI"
409       :doc "private: primitives used to write debuggers"
410       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!VM")
411       :import-from (("SB!C"
412                      "DEBUG-SOURCE-FORM" "DEBUG-SOURCE-NAMESTRING"
413                      "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
414                      "DEBUG-SOURCE-START-POSITIONS" "MAKE-DEBUG-SOURCE"
415                      "DEBUG-SOURCE" "DEBUG-SOURCE-P"))
416       :reexport ("DEBUG-SOURCE-FORM"
417                  "DEBUG-SOURCE-NAMESTRING"
418                  "DEBUG-SOURCE-CREATED" "DEBUG-SOURCE-COMPILED"
419                  "DEBUG-SOURCE-START-POSITIONS" "DEBUG-SOURCE"
420                  "DEBUG-SOURCE-P")
421       :export ("ACTIVATE-BREAKPOINT"
422                "AMBIGUOUS-DEBUG-VARS" "AMBIGUOUS-VAR-NAME" "BREAKPOINT"
423                "BREAKPOINT-ACTIVE-P" "BREAKPOINT-HOOK-FUN" "BREAKPOINT-INFO"
424                "BREAKPOINT-KIND" "BREAKPOINT-P" "BREAKPOINT-WHAT" "CODE-LOCATION"
425                "CODE-LOCATION-DEBUG-BLOCK" "CODE-LOCATION-DEBUG-FUN"
426                "CODE-LOCATION-DEBUG-SOURCE" "CODE-LOCATION-FORM-NUMBER"
427                "CODE-LOCATION-P" "CODE-LOCATION-TOPLEVEL-FORM-OFFSET"
428                "CODE-LOCATION-UNKNOWN-P" "CODE-LOCATION=" "DEACTIVATE-BREAKPOINT"
429                "DEBUG-BLOCK" "DEBUG-BLOCK-ELSEWHERE-P" "DEBUG-BLOCK-P"
430                "DEBUG-BLOCK-SUCCESSORS" "DEBUG-CONDITION" "DEBUG-ERROR"
431                "DEBUG-FUN" "DEBUG-FUN-FUN" "DEBUG-FUN-KIND"
432                "DEBUG-FUN-LAMBDA-LIST" "DEBUG-FUN-NAME"
433                "DEBUG-FUN-P" "DEBUG-FUN-START-LOCATION"
434                "DEBUG-FUN-SYMBOL-VARS"
435                "DEBUG-SOURCE-ROOT-NUMBER" "DEBUG-VAR"
436                "DEBUG-VAR-ID" "DEBUG-VAR-INFO-AVAILABLE"
437                "DEBUG-VAR-SYMBOL-NAME" "DEBUG-VAR-P" "DEBUG-VAR-PACKAGE-NAME"
438                "DEBUG-VAR-SYMBOL" "DEBUG-VAR-VALID-VALUE"
439                "DEBUG-VAR-VALIDITY" "DEBUG-VAR-VALUE"
440                "DELETE-BREAKPOINT" "DO-BLOCKS"
441                "DO-DEBUG-BLOCK-LOCATIONS" "DO-DEBUG-FUN-BLOCKS"
442                "DO-DEBUG-FUN-VARS"
443                "FORM-NUMBER-TRANSLATIONS"
444                "FRAME" "FRAME-CATCHES" "FRAME-CODE-LOCATION"
445                "FRAME-DEBUG-FUN" "FRAME-DOWN"
446                "FRAME-FUN-MISMATCH" "FRAME-NUMBER" "FRAME-P" "FRAME-UP"
447                "REPLACE-FRAME-CATCH-TAG"
448                "FUN-DEBUG-FUN" "FUN-END-COOKIE-VALID-P"
449                "INVALID-CONTROL-STACK-POINTER" "INVALID-VALUE"
450                "LAMBDA-LIST-UNAVAILABLE" "MAKE-BREAKPOINT" "NO-DEBUG-BLOCKS"
451                "NO-DEBUG-FUN-RETURNS" "NO-DEBUG-INFO" "PREPROCESS-FOR-EVAL"
452                "RETURN-FROM-FRAME" "SOURCE-PATH-CONTEXT"
453                "TOP-FRAME" "UNHANDLED-DEBUG-CONDITION" "UNKNOWN-CODE-LOCATION"
454                "UNKNOWN-CODE-LOCATION-P" "UNKNOWN-DEBUG-VAR"
455                "CODE-LOCATION-KIND" "FLUSH-FRAMES-ABOVE"))
456
457    #s(sb-cold:package-data
458       :name "SB!DISASSEM"
459       :doc "private: stuff related to the implementation of the disassembler"
460       :use ("CL" "SB!EXT" "SB!INT")
461       :export ("*DISASSEM-INST-ALIGNMENT-BYTES*"
462                "*DISASSEM-NOTE-COLUMN*" "*DISASSEM-OPCODE-COLUMN-WIDTH*"
463                "*DISASSEM-SCHEDULER-P*" "*DISASSEM-LOCATION-COLUMN-WIDTH*"
464                "ADD-COMMENT-HOOK" "ADD-HOOK" "ADD-NOTE-HOOK"
465                "ARG-VALUE" "CREATE-DSTATE" "DISASSEM-STATE"
466                "DISASSEMBLE-CODE-COMPONENT"
467                "DISASSEMBLE-FUN" "DISASSEMBLE-MEMORY"
468                "DISASSEMBLE-SEGMENT" "DISASSEMBLE-SEGMENTS"
469                "DSTATE-CODE" "DSTATE-CURPOS" "DSTATE-GET-INST-PROP"
470                "DSTATE-GET-PROP" "DSTATE-PUT-INST-PROP"
471                "DSTATE-NEXTPOS" "DSTATE-SEGMENT-LENGTH"
472                "DSTATE-SEGMENT-SAP" "DSTATE-SEGMENT-START"
473                "FIELD-TYPE" "FIND-INST" "GEN-FIELD-TYPE-DECL-FORM"
474                "GEN-INST-DECL-FORM" "GEN-INST-FORMAT-DECL-FORM"
475                "GET-CODE-SEGMENTS" "GET-FUN-SEGMENTS"
476                "GET-INST-SPACE" "HANDLE-BREAK-ARGS"
477                "INST" "INST-FORMAT" "LABEL-SEGMENTS"
478                "MAYBE-NOTE-ASSEMBLER-ROUTINE"
479                "MAYBE-NOTE-ASSOCIATED-STORAGE-REF"
480                "MAYBE-NOTE-NIL-INDEXED-OBJECT"
481                "MAYBE-NOTE-NIL-INDEXED-SYMBOL-SLOT-REF"
482                "MAYBE-NOTE-SINGLE-STORAGE-REF" "NOTE"
483                "NOTE-CODE-CONSTANT" "PARAMS" "PRIN1-QUOTED-SHORT"
484                "PRIN1-SHORT" "PRINT-BYTES"
485                "PRINT-CURRENT-ADDRESS" "PRINT-FIELD" "PRINT-INST"
486                "PRINT-INST-USING" "PRINT-NOTES-AND-NEWLINE"
487                "PRINT-WORDS" "SAP-REF-DCHUNK" "SEG-DEBUG-FUN"
488                "SEG-LENGTH" "SEG-START" "SEGMENT"
489                "SET-ADDRESS-PRINTING-RANGE" "SET-DISASSEM-PARAMS"
490                "SET-DSTATE-SEGMENT" "SIGN-EXTEND" "SPECIALIZE"
491                "GEN-PRINTER-DEF-FORMS-DEF-FORM" "MAKE-DSTATE"
492                "DEFINE-ARG-TYPE" "GEN-ARG-TYPE-DEF-FORM"
493                "READ-SIGNED-SUFFIX" "ADD-OFFS-HOOK"
494                "MAKE-MEMORY-SEGMENT" "GEN-PREAMBLE-FORM"
495                "MAKE-SEGMENT" "SEGMENT-OVERFLOW"
496                "SEG-VIRTUAL-LOCATION" "MAKE-DECODED-INST"
497                "DCHUNK" "*DEFAULT-DSTATE-HOOKS*"
498                "MAKE-CODE-SEGMENT" "MAKE-OFFS-HOOK"
499                "DSTATE-SEGMENT" "DSTATE-CUR-OFFS"
500                "PRINC16" "INSTRUCTION" "DEFINE-INSTRUCTION-FORMAT"
501                "DSTATE-NEXT-OFFS" "INSTALL-INST-FLAVORS"
502                "SEG-SAP-MAKER" "DISASSEMBLE-ASSEM-SEGMENT"
503                "GEN-CLEAR-INFO-FORM" "READ-SUFFIX"
504                "MAP-SEGMENT-INSTRUCTIONS" "GEN-FORMAT-DEF-FORM"
505                "SET-LOCATION-PRINTING-RANGE" "MAKE-VECTOR-SEGMENT"
506                "ADD-OFFS-NOTE-HOOK" "ADD-OFFS-COMMENT-HOOK"
507                "DSTATE-CUR-ADDR" "DSTATE-NEXT-ADDR"))
508
509    #!+sb-dyncount
510    #s(sb-cold:package-data
511       :name "SB!DYNCOUNT"
512       :doc "private: some somewhat-stale code for collecting runtime statistics"
513       :use ("CL" "SB!ALIEN-INTERNALS" "SB!ALIEN" "SB!BIGNUM"
514                  "SB!EXT" "SB!INT" "SB!KERNEL" "SB!ASSEM" "SB!SYS")
515       :export ("*COLLECT-DYNAMIC-STATISTICS*"
516                "COUNT-ME"
517                "DYNCOUNT-INFO-COUNTS" "DYNCOUNT-INFO-COSTS"
518                "IR2-COMPONENT-DYNCOUNT-INFO"
519                "DYNCOUNT-INFO" "DYNCOUNT-INFO-P"))
520
521    #s(sb-cold:package-data
522       :name "SB!FASL"
523       :doc "private: stuff related to FASL load/dump logic (and GENESIS)"
524       :use ("CL" "SB!ALIEN" "SB!ASSEM" "SB!BIGNUM" "SB!C"
525                  "SB!EXT" "SB!INT" "SB!KERNEL" "SB!SYS")
526       :export ("*ASSEMBLER-ROUTINES*"
527                "+BACKEND-FASL-FILE-IMPLEMENTATION+"
528                "BUILD-ID-CORE-ENTRY-TYPE-CODE"
529                "*FASL-FILE-TYPE*"
530                "CLOSE-FASL-OUTPUT"
531                "DUMP-ASSEMBLER-ROUTINES"
532                "DUMP-OBJECT"
533                "DYNAMIC-CORE-SPACE-ID"
534                "END-CORE-ENTRY-TYPE-CODE"
535                "FASL-CONSTANT-ALREADY-DUMPED-P"
536                "+FASL-FILE-VERSION+"
537                "FASL-DUMP-COLD-LOAD-FORM" "FASL-DUMP-COMPONENT"
538                "FASL-DUMP-COLD-FSET"
539                "FASL-DUMP-LOAD-TIME-VALUE" "FASL-DUMP-LOAD-TIME-VALUE-LAMBDA"
540                "FASL-DUMP-SOURCE-INFO" "FASL-DUMP-TOPLEVEL-LAMBDA-CALL"
541                "FASL-NOTE-HANDLE-FOR-CONSTANT"
542                "FASL-OUTPUT" "FASL-OUTPUT-P"
543                "FASL-OUTPUT-ENTRY-TABLE" "FASL-OUTPUT-STREAM"
544                "FASL-VALIDATE-STRUCTURE"
545                "INITIAL-FUN-CORE-ENTRY-TYPE-CODE"
546                "*!LOAD-TIME-VALUES*"
547                "LOAD-TYPE-PREDICATE"
548                #!+(and sb-thread sb-lutex) "LUTEX-TABLE-CORE-ENTRY-TYPE-CODE"
549                "NEW-DIRECTORY-CORE-ENTRY-TYPE-CODE"
550                "OPEN-FASL-OUTPUT" "PAGE-TABLE-CORE-ENTRY-TYPE-CODE"
551                "READ-ONLY-CORE-SPACE-ID"
552                "*!REVERSED-COLD-TOPLEVELS*"
553                "STATIC-CORE-SPACE-ID"
554                "VERSION-CORE-ENTRY-TYPE-CODE"))
555
556    ;; This package is a grab bag for things which used to be internal
557    ;; symbols in package COMMON-LISP. Lots of these symbols are accessed
558    ;; with explicit SB!IMPL:: prefixes in the code. It would be nice to
559    ;; reduce the use of this practice, so if symbols from here which are
560    ;; accessed that way are found to belong more appropriately in an
561    ;; existing package (e.g. SB!KERNEL or SB!SYS or SB!EXT or SB!FASL),
562    ;; I (WHN 19990223) encourage maintainers to move them there..
563    #s(sb-cold:package-data
564       :name "SB!IMPL"
565       :doc "private: a grab bag of implementation details"
566       :use ("CL" "SB!ALIEN" "SB!BIGNUM" "SB!DEBUG" "SB!EXT"
567                  "SB!FASL" "SB!GRAY" "SB!INT" "SB!KERNEL" "SB!SYS"))
568
569    #s(sb-cold:package-data
570       :name "SB!EXT"
571       :doc "public: miscellaneous supported extensions to the ANSI Lisp spec"
572       :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!GRAY")
573       :export ( ;; Information about how the program was invoked is
574                ;; nonstandard but very useful.
575                "*POSIX-ARGV*" "*CORE-PATHNAME*"
576                "POSIX-GETENV" "POSIX-ENVIRON"
577
578                "COMPARE-AND-SWAP"
579
580                ;; People have various good reasons to mess with the GC.
581                "*AFTER-GC-HOOKS*"
582                "BYTES-CONSED-BETWEEN-GCS"
583                "GC" "GC-OFF" "GC-ON" "GET-BYTES-CONSED"
584                "*GC-RUN-TIME*"
585                "PURIFY"
586
587                ;; Customizing printing of compiler and debugger messages
588                "*COMPILER-PRINT-VARIABLE-ALIST*"
589                "*DEBUG-PRINT-VARIABLE-ALIST*"
590
591                ;; Hooks into init & save sequences
592                "*INIT-HOOKS*" "*SAVE-HOOKS*" "*EXIT-HOOKS*"
593
594                ;; There is no one right way to report progress on
595                ;; hairy compiles.
596                "*COMPILE-PROGRESS*"
597
598                ;; It can be handy to be able to evaluate expressions involving
599                ;; the thing under examination by CL:INSPECT.
600                "*INSPECTED*"
601
602                ;; There is no one right way to do efficiency notes.
603                "*EFFICIENCY-NOTE-COST-THRESHOLD*" "*EFFICIENCY-NOTE-LIMIT*"
604
605                ;; There's no one right way to report errors.
606                "*ENCLOSING-SOURCE-CUTOFF*"
607                "*UNDEFINED-WARNING-LIMIT*"
608
609                ;; and for dedicated users who really want to customize
610                ;; error reporting, we have
611                "DEFINE-SOURCE-CONTEXT"
612
613                ;; and given how many users dislike strict treatment of
614                ;; DEFCONSTANT, let's give them enough rope to escape by
615                "DEFCONSTANT-UNEQL" "DEFCONSTANT-UNEQL-NAME"
616                "DEFCONSTANT-UNEQL-NEW-VALUE" "DEFCONSTANT-UNEQL-OLD-VALUE"
617
618                ;; package-locking stuff
619                #!+sb-package-locks "PACKAGE-LOCKED-P"
620                #!+sb-package-locks "LOCK-PACKAGE"
621                #!+sb-package-locks "UNLOCK-PACKAGE"
622                #!+sb-package-locks "PACKAGE-IMPLEMENTED-BY-LIST"
623                #!+sb-package-locks "PACKAGE-IMPLEMENTS-LIST"
624                #!+sb-package-locks "ADD-IMPLEMENTATION-PACKAGE"
625                #!+sb-package-locks "REMOVE-IMPLEMENTATION-PACKAGE"
626                #!+sb-package-locks "WITH-UNLOCKED-PACKAGES"
627                #!+sb-package-locks "PACKAGE-LOCK-VIOLATION"
628                #!+sb-package-locks "PACKAGE-LOCKED-ERROR"
629                #!+sb-package-locks "SYMBOL-PACKAGE-LOCKED-ERROR"
630                #!+sb-package-locks "PACKAGE-LOCKED-ERROR-SYMBOL"
631                "WITHOUT-PACKAGE-LOCKS"
632                "DISABLE-PACKAGE-LOCKS"
633                "ENABLE-PACKAGE-LOCKS"
634
635                ;; Custom conditions & condition accessors for users to handle.
636                "CODE-DELETION-NOTE"
637                "COMPILER-NOTE"
638                "IMPLICIT-GENERIC-FUNCTION-NAME"
639                "IMPLICIT-GENERIC-FUNCTION-WARNING"
640                "INVALID-FASL"
641
642                "NAME-CONFLICT" "NAME-CONFLICT-FUNCTION"
643                "NAME-CONFLICT-DATUM" "NAME-CONFLICT-SYMBOLS"
644                "RESOLVE-CONFLICT"
645
646                ;; and a mechanism for controlling same at compile time
647                "MUFFLE-CONDITIONS" "UNMUFFLE-CONDITIONS"
648
649                ;; and one for controlling same at runtime
650                "*MUFFLED-WARNINGS*"
651
652                ;; extended declarations..
653                "FREEZE-TYPE" "INHIBIT-WARNINGS"
654                "MAYBE-INLINE"
655
656                ;; ..and variables to control compiler policy
657                "*INLINE-EXPANSION-LIMIT*"
658                "*DERIVE-FUNCTION-TYPES*"
659
660                ;; ..and inspector of compiler policy
661                "DESCRIBE-COMPILER-POLICY"
662                "RESTRICT-COMPILER-POLICY"
663
664                ;; a special form for breaking out of our "declarations
665                ;; are assertions" default
666                "TRULY-THE"
667
668                ;; This is something which must exist inside any Common
669                ;; Lisp implementation, and which someone writing a
670                ;; customized toplevel might well want. It seems perverse
671                ;; to hide it from them..
672                "INTERACTIVE-EVAL"
673
674                ;; weak pointers and finalization
675                "CANCEL-FINALIZATION"
676                "FINALIZE"
677                "HASH-TABLE-WEAKNESS" "MAKE-WEAK-POINTER"
678                "WEAK-POINTER" "WEAK-POINTER-P" "WEAK-POINTER-VALUE"
679
680                ;; Hash table locking
681                "HASH-TABLE-SYNCHRONIZED-P"
682                "WITH-LOCKED-HASH-TABLE"
683
684                ;; If the user knows we're doing IEEE, he might reasonably
685                ;; want to do this stuff.
686                "FLOAT-DENORMALIZED-P"
687                "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P"
688                "FLOAT-INFINITY-P"
689                "SHORT-FLOAT-NEGATIVE-INFINITY"
690                "SHORT-FLOAT-POSITIVE-INFINITY"
691                "SINGLE-FLOAT-NEGATIVE-INFINITY"
692                "SINGLE-FLOAT-POSITIVE-INFINITY"
693                "DOUBLE-FLOAT-NEGATIVE-INFINITY"
694                "DOUBLE-FLOAT-POSITIVE-INFINITY"
695                "LONG-FLOAT-NEGATIVE-INFINITY"
696                "LONG-FLOAT-POSITIVE-INFINITY"
697
698                ;; hacks to work around system limitations
699                "*INTEXP-MAXIMUM-EXPONENT*" ; since we crash hard when
700                                         ; memory is exhausted
701
702                ;; saving Lisp images
703                "SAVE-LISP-AND-DIE"
704
705                ;; provided for completeness to make it more convenient
706                ;; to use command-line --disable-debugger functionality
707                ;; in oddball situations (like building core files using
708                ;; scripts which run unattended, when the core files are
709                ;; intended for interactive use)
710                "DISABLE-DEBUGGER"
711                "ENABLE-DEBUGGER"
712
713                ;; the mechanism by which {en,dis}able-debugger works is
714                ;; also exported for people writing alternative toplevels
715                ;; (Emacs, CLIM interfaces, etc)
716                "*INVOKE-DEBUGGER-HOOK*"
717
718                ;; miscellaneous useful supported extensions
719                "QUIT"
720                "*ED-FUNCTIONS*"
721                "*MODULE-PROVIDER-FUNCTIONS*"
722                "WITH-TIMEOUT" "TIMEOUT"
723
724                ;; stepping interface
725                "STEP-CONDITION" "STEP-FORM-CONDITION" "STEP-FINISHED-CONDITION"
726                "STEP-VALUES-CONDITION" "STEP-VARIABLE-CONDITION"
727                "STEP-CONDITION-FORM" "STEP-CONDITION-RESULT"
728                "STEP-CONTINUE" "STEP-NEXT" "STEP-INTO"
729                "STEP-CONDITION-ARGS" "*STEPPER-HOOK*" "STEP-OUT"
730
731                ;; RUN-PROGRAM is not only useful for users, but also
732                ;; useful to implement parts of SBCL itself, so we're
733                ;; going to have to implement it anyway, so we might
734                ;; as well support it. And then once we're committed
735                ;; to implementing RUN-PROGRAM, it's nice to have it
736                ;; return a PROCESS object with operations defined on
737                ;; that object.
738                "RUN-PROGRAM"
739                "PROCESS-ALIVE-P" "PROCESS-CLOSE"
740                "PROCESS-CORE-DUMPED" "PROCESS-ERROR" "PROCESS-EXIT-CODE"
741                "PROCESS-INPUT" "PROCESS-KILL" "PROCESS-OUTPUT" "PROCESS-P"
742                "PROCESS-PID" "PROCESS-PLIST" "PROCESS-PTY" "PROCESS-STATUS"
743                "PROCESS-STATUS-HOOK" "PROCESS-WAIT"
744
745                ;; pathnames
746                "NATIVE-PATHNAME"
747                "PARSE-NATIVE-NAMESTRING"
748                "NATIVE-NAMESTRING"
749
750                ;; external-format support
751                "OCTETS-TO-STRING" "STRING-TO-OCTETS"
752
753                ;; Whether to use the interpreter or the compiler for EVAL
754                "*EVALUATOR-MODE*"
755
756                ;; timer
757                "TIMER" "MAKE-TIMER" "TIMER-NAME" "TIMER-SCHEDULED-P"
758                "SCHEDULE-TIMER" "UNSCHEDULE-TIMER" "LIST-ALL-TIMERS"))
759
760    #s(sb-cold:package-data
761       :name "SB!FORMAT"
762       :doc "private: implementation of FORMAT and friends"
763       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
764       :export ("%COMPILER-WALK-FORMAT-STRING" "FORMAT-ERROR"))
765
766    #s(sb-cold:package-data
767       :name "SB!GRAY"
768       :doc
769       "public: an implementation of the stream-definition-by-user
770 Lisp extension proposal by David N. Gray"
771       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
772       :export ("FUNDAMENTAL-BINARY-STREAM"
773                "FUNDAMENTAL-BINARY-INPUT-STREAM"
774                "FUNDAMENTAL-BINARY-OUTPUT-STREAM" "FUNDAMENTAL-CHARACTER-STREAM"
775                "FUNDAMENTAL-CHARACTER-INPUT-STREAM"
776                "FUNDAMENTAL-CHARACTER-OUTPUT-STREAM"
777                "FUNDAMENTAL-INPUT-STREAM" "FUNDAMENTAL-OUTPUT-STREAM"
778                "FUNDAMENTAL-STREAM"
779                "STREAM-ADVANCE-TO-COLUMN" "STREAM-CLEAR-INPUT"
780                "STREAM-CLEAR-OUTPUT" "STREAM-FILE-POSITION" "STREAM-FINISH-OUTPUT" "STREAM-FORCE-OUTPUT"
781                "STREAM-FRESH-LINE" "STREAM-LINE-COLUMN" "STREAM-LINE-LENGTH"
782                "STREAM-LISTEN" "STREAM-PEEK-CHAR" "STREAM-READ-BYTE"
783                "STREAM-READ-CHAR" "STREAM-READ-CHAR-NO-HANG" "STREAM-READ-LINE"
784                "STREAM-READ-SEQUENCE" "STREAM-START-LINE-P" "STREAM-TERPRI"
785                "STREAM-UNREAD-CHAR"
786                "STREAM-WRITE-BYTE" "STREAM-WRITE-CHAR" "STREAM-WRITE-SEQUENCE"
787                "STREAM-WRITE-STRING"))
788
789    #s(sb-cold:package-data
790       :name "SB!INT"
791       :doc
792       "private: miscellaneous unsupported extensions to the ANSI spec. Much of
793 the stuff in here originated in CMU CL's EXTENSIONS package and is retained,
794 possibly temporariliy, because it might be used internally."
795       :use ("CL" "SB!ALIEN" "SB!GRAY" "SB!FASL" "SB!SYS")
796       :export (;; lambda list keyword extensions
797                "&MORE"
798
799                ;; utilities for floating point zero handling
800                "FP-ZERO-P"
801                "NEG-FP-ZERO"
802
803                ;; generic set implementation
804                "ADD-TO-XSET"
805                "ALLOC-XSET"
806                "MAP-XSET"
807                "XSET"
808                "XSET-COUNT"
809                "XSET-EMPTY-P"
810                "XSET-INTERSECTION"
811                "XSET-MEMBER-P"
812                "XSET-MEMBERS"
813                "XSET-SUBSET-P"
814                "XSET-UNION"
815
816                ;; communication between the runtime and Lisp
817                "*CORE-STRING*"
818
819                ;; INFO stuff doesn't belong in a user-visible package, we
820                ;; should be able to change it without apology.
821                "*INFO-ENVIRONMENT*"
822                "CLEAR-INFO"
823                "COMPACT-INFO-ENVIRONMENT"
824                "DEFINE-INFO-CLASS" "DEFINE-INFO-TYPE"
825                "DO-INFO"
826                "INFO"
827                "MAKE-INFO-ENVIRONMENT"
828
829                ;; GENSYM variant that appends the current non-nil block
830                ;; name to the string if possible
831                "BLOCK-GENSYM"
832
833                ;; Calling a list of hook functions, plus error handling.
834                "CALL-HOOKS"
835
836                ;; Constant form evaluation
837                "CONSTANT-FORM-VALUE"
838                "CONSTANT-TYPEP"
839
840                ;; stepping control
841                "*STEPPING*" "*STEP*"
842
843                ;; packages grabbed once and for all
844                "*KEYWORD-PACKAGE*" "*CL-PACKAGE*"
845
846                ;; hash mixing operations
847                "MIX" "MIXF"
848
849                ;; I'm not convinced that FDEFINITIONs are the ideal
850                ;; solution, so exposing ways to peek into the system
851                ;; seems undesirable, since it makes it harder to get
852                ;; rid of FDEFINITIONs entirely later.
853                "*SETF-FDEFINITION-HOOK*"
854
855                ;; error-reporting facilities
856                "COMPILED-PROGRAM-ERROR"
857                "ENCAPSULATED-CONDITION"
858                "INTERPRETED-PROGRAM-ERROR"
859                "SIMPLE-CONTROL-ERROR" "SIMPLE-FILE-ERROR"
860                "SIMPLE-PARSE-ERROR" "SIMPLE-PROGRAM-ERROR"
861                "SIMPLE-READER-ERROR"
862                "SIMPLE-READER-PACKAGE-ERROR"
863                "SIMPLE-REFERENCE-ERROR"
864                "SIMPLE-STREAM-ERROR"
865                "SIMPLE-STORAGE-CONDITION"
866                "SIMPLE-STYLE-WARNING"
867                "TRY-RESTART"
868
869                ;; error-signalling facilities
870                "ARRAY-BOUNDING-INDICES-BAD-ERROR"
871                "SEQUENCE-BOUNDING-INDICES-BAD-ERROR"
872
873                "SPECIAL-FORM-FUNCTION"
874                "STYLE-WARN" "SIMPLE-COMPILER-NOTE"
875
876                ;; FIXME: potential SB!EXT exports
877                "CHARACTER-CODING-ERROR"
878                "CHARACTER-DECODING-ERROR" "CHARACTER-DECODING-ERROR-OCTETS"
879                "CHARACTER-ENCODING-ERROR" "CHARACTER-ENCODING-ERROR-CODE"
880                "STREAM-DECODING-ERROR" "STREAM-ENCODING-ERROR"
881                "C-STRING-ENCODING-ERROR" "C-STRING-ENCODING-ERROR-EXTERNAL-FORMAT"
882                "C-STRING-DECODING-ERROR" "C-STRING-DECODING-ERROR-EXTERNAL-FORMAT"
883                "ATTEMPT-RESYNC" "FORCE-END-OF-FILE"
884
885                ;; bootstrapping magic, to make things happen both in
886                ;; the cross-compilation host compiler's environment and
887                ;; in the cross-compiler's environment
888                "DEF!CONSTANT" "DEF!MACRO" "DEF!METHOD" "DEF!STRUCT" "DEF!TYPE"
889
890                ;; stuff for hinting to the compiler
891                "NAMED-LAMBDA"
892
893                ;; other variations on DEFFOO stuff useful for bootstrapping
894                ;; and cross-compiling
895                "DEFMACRO-MUNDANELY"
896                "DEFCONSTANT-EQX"
897                "DEFINE-UNSUPPORTED-FUN"
898
899                ;; messing with PATHNAMEs
900                "MAKE-TRIVIAL-DEFAULT-PATHNAME"
901                "PHYSICALIZE-PATHNAME"
902                "SANE-DEFAULT-PATHNAME-DEFAULTS"
903                "SBCL-HOMEDIR-PATHNAME"
904                "SIMPLIFY-NAMESTRING"
905
906                ;; PCOUNTERs
907                "FASTBIG-INCF-PCOUNTER-OR-FIXNUM"
908                "INCF-PCOUNTER"
909                "INCF-PCOUNTER-OR-FIXNUM"
910                "MAKE-PCOUNTER"
911                "PCOUNTER"
912                "PCOUNTER->INTEGER"
913                "PCOUNTER-OR-FIXNUM->INTEGER"
914                "PCOUNTER-P"
915                "*N-BYTES-FREED-OR-PURIFIED*"
916
917                ;; miscellaneous non-standard but handy user-level functions..
918                "ASSQ" "DELQ" "MEMQ" "POSQ" "NEQ"
919                "ADJUST-LIST"
920                "%FIND-PACKAGE-OR-LOSE" "FIND-UNDELETED-PACKAGE-OR-LOSE"
921                "SANE-PACKAGE"
922                "MAYBE-CYCLIC-P"
923                "COMPOUND-OBJECT-P"
924                "SWAPPED-ARGS-FUN"
925                "AND/TYPE" "NOT/TYPE"
926                "ANY/TYPE" "EVERY/TYPE"
927                "EQUAL-BUT-NO-CAR-RECURSION"
928                "TYPE-BOUND-NUMBER"
929                "CONSTANTLY-T" "CONSTANTLY-NIL" "CONSTANTLY-0"
930                "PSXHASH"
931                "%BREAK"
932                "NTH-BUT-WITH-SANE-ARG-ORDER"
933                "DEPRECATION-WARNING"
934                "BIT-VECTOR-="
935                "READ-EVALUATED-FORM"
936                "MAKE-UNPRINTABLE-OBJECT"
937                "POWER-OF-TWO-CEILING"
938
939                ;; ..and macros..
940                "COLLECT"
941                "DO-ANONYMOUS" "DOHASH" "DOVECTOR"
942                "NAMED-LET"
943                "ONCE-ONLY"
944                "DEFENUM"
945                "DEFPRINTER"
946                "AVER" "ENFORCE-TYPE"
947                "DX-FLET" "DX-LET"
948                "AWHEN" "ACOND" "IT"
949                "BINDING*"
950                "!DEF-BOOLEAN-ATTRIBUTE"
951                "WITH-REBOUND-IO-SYNTAX"
952                "WITH-SANE-IO-SYNTAX"
953
954                ;; ..and CONDITIONs..
955                "BUG"
956                "UNSUPPORTED-OPERATOR"
957
958                "BOOTSTRAP-PACKAGE-NAME"
959                "BOOTSTRAP-PACKAGE-NOT-FOUND"
960                "DEBOOTSTRAP-PACKAGE"
961
962                "REFERENCE-CONDITION" "REFERENCE-CONDITION-REFERENCES"
963                "*PRINT-CONDITION-REFERENCES*"
964
965                "DUPLICATE-DEFINITION" "DUPLICATE-DEFINITION-NAME"
966                "PACKAGE-AT-VARIANCE" "ARRAY-INITIAL-ELEMENT-MISMATCH"
967                "TYPE-WARNING" "LOCAL-ARGUMENT-MISMATCH"
968                "FORMAT-ARGS-MISMATCH" "FORMAT-TOO-FEW-ARGS-WARNING"
969                "FORMAT-TOO-MANY-ARGS-WARNING" "EXTENSION-FAILURE"
970                "STRUCTURE-INITARG-NOT-KEYWORD" "CONSTANT-MODIFIED"
971
972                ;; ..and DEFTYPEs..
973                "INDEX" "LOAD/STORE-INDEX"
974                "SIGNED-BYTE-WITH-A-BITE-OUT"
975                "UNSIGNED-BYTE-WITH-A-BITE-OUT"
976                "SFUNCTION" "UNSIGNED-BYTE*"
977                "CONSTANT-DISPLACEMENT"
978                ;; ..and type predicates
979                "INSTANCEP"
980                "DOUBLE-FLOAT-P"
981                "LOGICAL-PATHNAME-P"
982                "LONG-FLOAT-P"
983                "SHORT-FLOAT-P"
984                "SINGLE-FLOAT-P"
985                "FIXNUMP"
986                "BIGNUMP"
987                "RATIOP"
988
989                ;; encapsulation
990                "ARG-LIST"
991                "BASIC-DEFINITION"
992                "ENCAPSULATE" "ENCAPSULATED-P"
993                "UNENCAPSULATE"
994
995                ;; various CHAR-CODEs
996                "BACKSPACE-CHAR-CODE" "BELL-CHAR-CODE" "ESCAPE-CHAR-CODE"
997                "FORM-FEED-CHAR-CODE" "LINE-FEED-CHAR-CODE"
998                "RETURN-CHAR-CODE" "RUBOUT-CHAR-CODE" "TAB-CHAR-CODE"
999
1000                ;; symbol-hacking idioms
1001                "KEYWORDICATE" "SYMBOLICATE"
1002
1003                ;; certainly doesn't belong in public extensions
1004                ;; FIXME: maybe belongs in %KERNEL with other typesystem stuff?
1005                "CONSTANT-ARG"
1006
1007                ;; various internal defaults
1008                "DEFAULT-INIT-CHAR" "*DEFAULT-INIT-CHAR-FORM*"
1009                "*LOAD-SOURCE-DEFAULT-TYPE*" "BASE-CHAR-CODE-LIMIT"
1010
1011                ;; hash caches
1012                "DEFINE-HASH-CACHE"
1013                "DEFUN-CACHED"
1014                "DEFINE-CACHED-SYNONYM"
1015
1016                ;; time
1017                "FORMAT-DECODED-TIME"
1018                "FORMAT-UNIVERSAL-TIME"
1019
1020                ;; indenting
1021                "MAKE-INDENTING-STREAM"
1022
1023                ;; stream commands, used by the debugger
1024                "GET-STREAM-COMMAND" "MAKE-STREAM-COMMAND" "STREAM-COMMAND"
1025                "STREAM-COMMAND-ARGS" "STREAM-COMMAND-NAME" "STREAM-COMMAND-P"
1026
1027                ;; used for FORMAT tilde paren
1028                "MAKE-CASE-FROB-STREAM"
1029
1030                ;; helpers for C library calls
1031                "STRERROR" "SIMPLE-PERROR"
1032
1033                ;; debuggers' little helpers
1034                #!+sb-show "*/SHOW*"
1035                #!+sb-show "HEXSTR"
1036                "/SHOW"  "/NOSHOW"
1037                "/XHOW"  "/NOXHOW"
1038                "/SHOW0" "/NOSHOW0"
1039                "/HEXSTR" "/NOHEXSTR"
1040                "/PRIMITIVE-PRINT" "/NO-PRIMITIVE-PRINT"
1041
1042                ;; cross-compilation bootstrap hacks which turn into
1043                ;; placeholders in a target system
1044                "UNCROSS"
1045
1046                ;; might as well be shared among the various files which
1047                ;; need it:
1048                "*EOF-OBJECT*"
1049
1050                ;; allocation to static space
1051                "MAKE-STATIC-VECTOR"
1052
1053                ;; alien interface utilities
1054                "C-STRINGS->STRING-LIST"
1055
1056                ;; misc. utilities used internally
1057                "DEFINE-FUNCTION-NAME-SYNTAX" "VALID-FUNCTION-NAME-P" ; should be SB!EXT?
1058                "LEGAL-FUN-NAME-P" "LEGAL-FUN-NAME-OR-TYPE-ERROR"
1059                "FUN-NAME-BLOCK-NAME"
1060                "FUN-NAME-INLINE-EXPANSION"
1061                "LISTEN-SKIP-WHITESPACE"
1062                "PACKAGE-INTERNAL-SYMBOL-COUNT" "PACKAGE-EXTERNAL-SYMBOL-COUNT"
1063                "PARSE-BODY" "PARSE-LAMBDA-LIST" "PARSE-LAMBDA-LIST-LIKE-THING"
1064                "PROPER-LIST-OF-LENGTH-P"
1065                "LIST-OF-LENGTH-AT-LEAST-P"
1066                "LIST-WITH-LENGTH-P"
1067                "SINGLETON-P"
1068                "READ-SEQUENCE-OR-DIE"
1069                "RENAME-KEY-ARGS"
1070                "MISSING-ARG"
1071                "UNIX-NAMESTRING" ; FIXME: perhaps belongs in package SB!UNIX
1072                "FEATUREP"
1073                "FLUSH-STANDARD-OUTPUT-STREAMS"
1074                "WITH-UNIQUE-NAMES" "MAKE-GENSYM-LIST"
1075                "ABOUT-TO-MODIFY-SYMBOL-VALUE"
1076                "SELF-EVALUATING-P"
1077                "PRINT-PRETTY-ON-STREAM-P"
1078                "ARRAY-READABLY-PRINTABLE-P"
1079                "LOOKS-LIKE-NAME-OF-SPECIAL-VAR-P"
1080                "POSITIVE-PRIMEP"
1081                "EVAL-IN-LEXENV"
1082                "SIMPLE-EVAL-IN-LEXENV"
1083                "DEBUG-NAMIFY"
1084                "FORCE" "DELAY" "PROMISE-READY-P"
1085                "FIND-RESTART-OR-CONTROL-ERROR"
1086
1087                ;; These could be moved back into SB!EXT if someone has
1088                ;; compelling reasons, but hopefully we can get by
1089                ;; without supporting them, at least not as publicly
1090                ;; accessible things with fixed interfaces.
1091                "GET-FLOATING-POINT-MODES"
1092                "SET-FLOATING-POINT-MODES"
1093                "WITH-FLOAT-TRAPS-MASKED"
1094                "DEFINE-HASH-TABLE-TEST"
1095
1096                ;; compatibility hacks for old-style CMU CL data formats
1097                "UNIX-ENVIRONMENT-CMUCL-FROM-SBCL"
1098                "UNIX-ENVIRONMENT-SBCL-FROM-CMUCL"
1099
1100                ;; a sort of quasi-unbound tag for use in hash tables
1101                "+EMPTY-HT-SLOT+"
1102
1103                ;; low-level i/o stuff
1104                "DONE-WITH-FAST-READ-BYTE"
1105                "DONE-WITH-FAST-READ-CHAR"
1106                "FAST-READ-BYTE"
1107                "FAST-READ-BYTE-REFILL"
1108                "FAST-READ-CHAR"
1109                "FAST-READ-CHAR-REFILL"
1110                "FAST-READ-S-INTEGER"
1111                "FAST-READ-U-INTEGER"
1112                "FAST-READ-VAR-U-INTEGER"
1113                "FILE-NAME"
1114                "INTERN*"
1115                "PREPARE-FOR-FAST-READ-BYTE"
1116                "PREPARE-FOR-FAST-READ-CHAR"
1117
1118                ;; reflection of our backquote implementation that the
1119                ;; pprinter needs
1120                "*BACKQ-TOKENS*"
1121
1122                ;; hackery to help set up for cold init
1123                "!BEGIN-COLLECTING-COLD-INIT-FORMS"
1124                "!COLD-INIT-FORMS"
1125                "COLD-FSET"
1126                "!DEFUN-FROM-COLLECTED-COLD-INIT-FORMS"
1127
1128                ;; catch tags
1129                "TOPLEVEL-CATCHER"
1130
1131                ;; hooks for contrib/ stuff we're insufficiently sure
1132                ;; about to add to SB!EXT
1133                "*REPL-PROMPT-FUN*"
1134                "*REPL-READ-FORM-FUN*"))
1135
1136    ;; FIXME: This package is awfully huge. It'd probably be good to
1137    ;; split it. There's at least one natural way to split it: the
1138    ;; implementation of the Lisp type system (e.g. TYPE-INTERSECTION and
1139    ;; SPECIFIER-TYPE) could move to a separate package SB!TYPE. (There's
1140    ;; lots of stuff which currently uses the SB!KERNEL package which
1141    ;; doesn't actually use the type system stuff.) And maybe other
1142    ;; possible splits too:
1143    ;;   * Pull GC stuff (*GC-INHIBIT*, *GC-PENDING*, etc.)
1144    ;;     out into SB-GC.
1145    ;;   * Pull special case implementations of sequence functions (e.g.
1146    ;;     %MAP-TO-LIST-ARITY-1 and %FIND-POSITION-IF-NOT) and
1147    ;;     other sequence function implementation grot into SB-SEQ.
1148    ;;   * Pull all the math stuff (%ACOS, %COSH, WORD-LOGICAL-AND...)
1149    ;;     into SB-MATH.
1150    ;;   * Pull all the array stuff (%ARRAY-DATA-VECTOR, %RAW-REF-LONG,
1151    ;;     WITH-ARRAY-DATA, ALLOCATE-VECTOR, HAIRY-DATA-VECTOR-REF...)
1152    ;;     into SB-ARRAY.
1153    ;;   * Pull all the streams stuff out into SB-STREAM.
1154    ;;   * Pull all the OBJECT-NOT-FOO symbols out. Maybe we could even
1155    ;;     figure out a way to stop exporting them? Failing that,
1156    ;;     they could be in SB-INTERR.
1157    #s(sb-cold:package-data
1158       :name "SB!KERNEL"
1159       :doc
1160       "private: Theoretically this 'hides state and types used for package
1161 integration' (said CMU CL architecture.tex) and that probably was and
1162 is a good idea, but see SB-SYS re. blurring of boundaries."
1163       :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!BIGNUM"
1164                  "SB!EXT" "SB!FASL" "SB!INT" "SB!SYS" "SB!GRAY")
1165       :reexport ("DEF!STRUCT" "DEF!MACRO")
1166       :export ("%ACOS"
1167                "%ACOSH"
1168                "%ADJOIN"
1169                "%ADJOIN-EQ"
1170                "%ADJOIN-KEY"
1171                "%ADJOIN-KEY-EQ"
1172                "%ADJOIN-KEY-TEST"
1173                "%ADJOIN-KEY-TEST-NOT"
1174                "%ADJOIN-TEST"
1175                "%ADJOIN-TEST-NOT"
1176                "%ARRAY-AVAILABLE-ELEMENTS" "%ARRAY-DATA-VECTOR"
1177                "%ARRAY-DIMENSION" "%ARRAY-DISPLACED-P"
1178                "%ARRAY-DISPLACEMENT" "%ARRAY-FILL-POINTER"
1179                "%ARRAY-FILL-POINTER-P" "%ARRAY-RANK"
1180                "%ASSOC"
1181                "%ASSOC-EQ"
1182                "%ASSOC-KEY"
1183                "%ASSOC-KEY-EQ"
1184                "%ASSOC-KEY-TEST"
1185                "%ASSOC-KEY-TEST-NOT"
1186                "%ASSOC-TEST"
1187                "%ASSOC-TEST-NOT"
1188                "%ASIN" "%ASINH"
1189                "%ATAN" "%ATAN2" "%ATANH" "%CALLER-FRAME-AND-PC"
1190                "%CHECK-BOUND"
1191                "%CHECK-GENERIC-SEQUENCE-BOUNDS"
1192                "%CHECK-VECTOR-SEQUENCE-BOUNDS"
1193                "%CLOSURE-FUN" "%CLOSURE-INDEX-REF"
1194                "%COMPARE-AND-SWAP-CAR"
1195                "%COMPARE-AND-SWAP-CDR"
1196                "%COMPARE-AND-SWAP-INSTANCE-REF"
1197                "%COMPARE-AND-SWAP-SVREF"
1198                "%COMPARE-AND-SWAP-SYMBOL-PLIST"
1199                "%COMPARE-AND-SWAP-SYMBOL-VALUE"
1200                "%COS" "%COS-QUICK"
1201                "%COSH" "%DATA-VECTOR-AND-INDEX" "%DEPOSIT-FIELD"
1202                "%DOUBLE-FLOAT" "%DPB" "%EQL" "%EXP" "%EXPM1" "%FIND-POSITION"
1203                "%FIND-POSITION-VECTOR-MACRO" "%FIND-POSITION-IF"
1204                "%FIND-POSITION-IF-VECTOR-MACRO" "%FIND-POSITION-IF-NOT"
1205                "%FIND-POSITION-IF-NOT-VECTOR-MACRO"
1206                "%FUN-DOC"
1207                "%FUN-FUN"
1208                "%FUN-NAME"
1209                "%HYPOT" "%LDB" "%LOG" "%LOGB" "%LOG10"
1210                "%LAST0"
1211                "%LAST1"
1212                "%LASTN/FIXNUM"
1213                "%LASTN/BIGNUM"
1214                "%LOG1P"
1215                #!+long-float "%LONG-FLOAT"
1216                "%MAKE-COMPLEX" "%MAKE-FUNCALLABLE-INSTANCE"
1217                "%MAKE-RATIO" "%MAKE-LISP-OBJ"
1218                "%MAKE-INSTANCE"
1219                "%MAKE-STRUCTURE-INSTANCE"
1220                "%MAKE-STRUCTURE-INSTANCE-ALLOCATOR"
1221                "%MAP" "%MAP-TO-SIMPLE-VECTOR-ARITY-1"
1222                "%MAP-TO-LIST-ARITY-1" "%MAP-TO-NIL-ON-SEQUENCE"
1223                "%MAP-TO-NIL-ON-SIMPLE-VECTOR" "%MAP-TO-NIL-ON-VECTOR"
1224                "%MASK-FIELD"
1225                "%MEMBER"
1226                "%MEMBER-EQ"
1227                "%MEMBER-KEY"
1228                "%MEMBER-KEY-EQ"
1229                "%MEMBER-KEY-TEST"
1230                "%MEMBER-KEY-TEST-NOT"
1231                "%MEMBER-TEST"
1232                "%MEMBER-TEST-NOT"
1233                "%NEGATE" "%POW" "%PUTHASH"
1234                "%RAW-BITS" "%RAW-BITS-WITH-OFFSET" "%VECTOR-RAW-BITS"
1235                "%RAW-REF-COMPLEX-DOUBLE" "%RAW-REF-COMPLEX-LONG"
1236                "%RAW-REF-COMPLEX-SINGLE" "%RAW-REF-DOUBLE"
1237                "%RAW-REF-LONG" "%RAW-REF-SINGLE"
1238                "%RAW-SET-COMPLEX-DOUBLE" "%RAW-SET-COMPLEX-LONG"
1239                "%RAW-SET-COMPLEX-SINGLE" "%RAW-SET-DOUBLE"
1240                "%RAW-SET-LONG" "%RAW-SET-SINGLE" "%SCALB" "%SCALBN"
1241                "%RAW-INSTANCE-REF/WORD" "%RAW-INSTANCE-SET/WORD"
1242                "%RAW-INSTANCE-REF/SINGLE" "%RAW-INSTANCE-SET/SINGLE"
1243                "%RAW-INSTANCE-REF/DOUBLE" "%RAW-INSTANCE-SET/DOUBLE"
1244                "%RAW-INSTANCE-REF/COMPLEX-SINGLE"
1245                "%RAW-INSTANCE-SET/COMPLEX-SINGLE"
1246                "%RAW-INSTANCE-REF/COMPLEX-DOUBLE"
1247                "%RAW-INSTANCE-SET/COMPLEX-DOUBLE"
1248                "%SET-ARRAY-DIMENSION" "%SET-FUNCALLABLE-INSTANCE-INFO"
1249                "%SET-RAW-BITS" "%SET-RAW-BITS-WITH-OFFSET"
1250                "%SET-VECTOR-RAW-BITS"
1251                "%SET-SAP-REF-16" "%SET-SAP-REF-32" "%SET-SAP-REF-64"
1252                "%SET-SAP-REF-WORD" "%SET-SAP-REF-8" "%SET-SAP-REF-DOUBLE"
1253                "%SET-SAP-REF-LONG" "%SET-SAP-REF-SAP"
1254                "%SET-SAP-REF-SINGLE" "%SET-SIGNED-SAP-REF-16"
1255                "%SET-SIGNED-SAP-REF-32" "%SET-SIGNED-SAP-REF-64"
1256                "%SET-SIGNED-SAP-REF-WORD"
1257                "%SET-SIGNED-SAP-REF-8" "%SET-STACK-REF"
1258                "%SET-SYMBOL-HASH"
1259                "%SIN" "%SIN-QUICK" "%SINGLE-FLOAT"
1260                "%SINH" "%SQRT" "%SXHASH-SIMPLE-STRING"
1261                "%SXHASH-SIMPLE-SUBSTRING" "%TAN" "%TAN-QUICK" "%TANH"
1262                "%UNARY-ROUND" "%UNARY-TRUNCATE" "%UNARY-FTRUNCATE"
1263                "%WITH-ARRAY-DATA"
1264                "%WITH-ARRAY-DATA/FP"
1265                "%WITH-ARRAY-DATA-MACRO"
1266                "*CURRENT-LEVEL-IN-PRINT*"
1267                "*EMPTY-TYPE*"
1268                "*EVAL-CALLS*"
1269                "*GC-INHIBIT*" "*GC-PENDING*"
1270                #!+sb-thread "*STOP-FOR-GC-PENDING*"
1271                "*UNIVERSAL-TYPE*"
1272                "*UNIVERSAL-FUN-TYPE*" "*UNPARSE-FUN-TYPE-SIMPLIFY*"
1273                "*WILD-TYPE*" "WORD-LOGICAL-AND" "WORD-LOGICAL-ANDC1"
1274                "WORD-LOGICAL-ANDC2" "WORD-LOGICAL-EQV"
1275                "WORD-LOGICAL-NAND" "WORD-LOGICAL-NOR" "WORD-LOGICAL-NOT"
1276                "WORD-LOGICAL-OR" "WORD-LOGICAL-ORC1" "WORD-LOGICAL-ORC2"
1277                "WORD-LOGICAL-XOR" "ALIEN-TYPE-TYPE"
1278                "ALIEN-TYPE-TYPE-ALIEN-TYPE" "ALIEN-TYPE-TYPE-P"
1279                "ALLOCATE-VECTOR" "ALLOCATE-STATIC-VECTOR"
1280                "ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
1281                "PROGRAM-ASSERT-SYMBOL-HOME-PACKAGE-UNLOCKED"
1282                "DISABLED-PACKAGE-LOCKS"
1283                "WITH-SINGLE-PACKAGE-LOCKED-ERROR"
1284                "PACKAGE-ERROR-FORMAT-ARGUMENTS"
1285                "PACKAGE-ERROR-FORMAT-CONTROL" "ALWAYS-SUBTYPEP"
1286                "ARGS-TYPE" "ARGS-TYPE-ALLOWP" "ARGS-TYPE-KEYP"
1287                "ARGS-TYPE-KEYWORDS" "ARGS-TYPE-OPTIONAL" "ARGS-TYPE-P"
1288                "ARGS-TYPE-REQUIRED" "ARGS-TYPE-REST" "ARRAY-HEADER-P"
1289                "ARRAY-TYPE" "ARRAY-TYPE-COMPLEXP"
1290                "ARRAY-TYPE-DIMENSIONS" "ARRAY-TYPE-ELEMENT-TYPE"
1291                "ARRAY-TYPE-P" "ARRAY-TYPE-SPECIALIZED-ELEMENT-TYPE"
1292                "ASH-INDEX" "ASSERT-ERROR"
1293                #!+sb-unicode "BASE-CHAR-P"
1294                "BASE-STRING-P"
1295                "BINDING-STACK-POINTER-SAP" "BIT-INDEX"
1296                "BOGUS-ARG-TO-VALUES-LIST-ERROR" "BOOLE-CODE"
1297                "BOUNDING-INDICES-BAD-ERROR" "BYTE-SPECIFIER" "%BYTE-BLT"
1298                "CALLABLE" "CASE-BODY-ERROR"
1299                "CHARACTER-SET" "CHARACTER-SET-TYPE"
1300                "CHARACTER-SET-TYPE-PAIRS"
1301                #!+sb-unicode "CHARACTER-STRING-P"
1302                "CHARPOS"
1303                "CHECK-FOR-CIRCULARITY" "CHECK-TYPE-ERROR" "CLOSED-FLAME"
1304                "CODE-COMPONENT" "CODE-COMPONENT-P" "CODE-DEBUG-INFO"
1305                "CODE-HEADER-REF" "CODE-HEADER-SET" "CODE-INSTRUCTIONS"
1306                "COERCE-TO-FUN" "COERCE-TO-LEXENV" "COERCE-TO-LIST"
1307                "COERCE-TO-VALUES" "COERCE-TO-VECTOR"
1308                "*COLD-INIT-COMPLETE-P*" "COMPLEX-DOUBLE-FLOAT-P"
1309                "COMPLEX-FLOAT-P"
1310                #!+long-float "COMPLEX-LONG-FLOAT-P"
1311                "COMPLEX-RATIONAL-P" "COMPLEX-SINGLE-FLOAT-P"
1312                "COMPLEX-VECTOR-P" "COMPOUND-TYPE" "COMPOUND-TYPE-P"
1313                "COMPOUND-TYPE-TYPES" "CONS-TYPE" "CONS-TYPE-CAR-TYPE"
1314                "CONS-TYPE-CDR-TYPE" "CONS-TYPE-P" "CONSED-SEQUENCE"
1315                "CONSTANT" "CONSTANT-TYPE" "CONSTANT-TYPE-P"
1316                "CONSTANT-TYPE-TYPE" "CONTAINING-INTEGER-TYPE"
1317                "CONTROL-STACK-POINTER-SAP" "COPY-BYTE-VECTOR-TO-SYSTEM-AREA"
1318                "CSUBTYPEP" "CTYPE" "TYPE-HASH-VALUE" "CTYPE-OF"
1319                "CTYPE-P" "CTYPEP" "CURRENT-FP" "CURRENT-SP"
1320                "CURRENT-DYNAMIC-SPACE-START"
1321                "DATA-VECTOR-REF" "DATA-VECTOR-REF-WITH-OFFSET"
1322                "DATA-VECTOR-SET" "DATA-VECTOR-SET-WITH-OFFSET"
1323                "DECLARATION-TYPE-CONFLICT-ERROR"
1324                "DECODE-DOUBLE-FLOAT"
1325                #!+long-float "DECODE-LONG-FLOAT"
1326                "DECODE-SINGLE-FLOAT"
1327                "DEFINE-STRUCTURE-SLOT-ADDRESSOR"
1328                "DEFINED-FTYPE-MATCHES-DECLARED-FTYPE-P"
1329                "!DEFSTRUCT-WITH-ALTERNATE-METACLASS" "DESCEND-INTO"
1330                "DISPLACED-TO-ARRAY-TOO-SMALL-ERROR"
1331                "DIVISION-BY-ZERO-ERROR" "DOUBLE-FLOAT-EXPONENT"
1332                "DOUBLE-FLOAT-HIGH-BITS" "DOUBLE-FLOAT-INT-EXPONENT"
1333                "DOUBLE-FLOAT-LOW-BITS" "DOUBLE-FLOAT-SIGNIFICAND"
1334                "FLOAT-WAIT" "DYNAMIC-SPACE-FREE-POINTER" "DYNAMIC-USAGE"
1335                "EFFECTIVE-FIND-POSITION-TEST"
1336                "EFFECTIVE-FIND-POSITION-KEY" "ERROR-NUMBER-OR-LOSE"
1337                "EXTENDED-CHAR-P"
1338                "FDEFINITION-OBJECT"
1339                "FDOCUMENTATION" "FILENAME"
1340                "FIND-AND-INIT-OR-CHECK-LAYOUT"
1341                "FIND-DEFSTRUCT-DESCRIPTION"
1342                "FLOAT-EXPONENT"
1343                "FLOAT-FORMAT-DIGITS" "FLOAT-FORMAT-NAME"
1344                "FLOAT-FORMAT-MAX" "FLOAT-INT-EXPONENT"
1345                "FLOATING-POINT-EXCEPTION" "FORM" "FORMAT-CONTROL"
1346                "*FREE-INTERRUPT-CONTEXT-INDEX*" "FUNCALLABLE-INSTANCE-P"
1347                "FUN-CODE-HEADER" "FUN-TYPE" "FUN-TYPE-ALLOWP"
1348                "FUN-TYPE-KEYP" "FUN-TYPE-KEYWORDS" "FUN-TYPE-NARGS"
1349                "FUN-TYPE-OPTIONAL" "FUN-TYPE-P" "FUN-TYPE-REQUIRED"
1350                "FUN-TYPE-REST" "FUN-TYPE-RETURNS" "FUN-TYPE-WILD-ARGS"
1351                "FUN-WORD-OFFSET" "GENERALIZED-BOOLEAN"
1352                "GET-CLOSURE-LENGTH" "GET-HEADER-DATA"
1353                "GET-LISP-OBJ-ADDRESS" "LOWTAG-OF" "WIDETAG-OF"
1354                "GET-MACHINE-VERSION" "HAIRY-DATA-VECTOR-REF"
1355                "HAIRY-DATA-VECTOR-REF/CHECK-BOUNDS"  "HAIRY-DATA-VECTOR-SET"
1356                "HAIRY-DATA-VECTOR-SET/CHECK-BOUNDS""HAIRY-TYPE"
1357                "HAIRY-TYPE-CHECK-TEMPLATE-NAME" "HAIRY-TYPE-SPECIFIER"
1358                "HANDLE-CIRCULARITY" "HOST" "IGNORE-IT" "ILL-BIN"
1359                "ILL-BOUT" "ILL-IN" "ILL-OUT" "INDEX-OR-MINUS-1"
1360                "INDEX-TOO-LARGE-ERROR" "*!INITIAL-ASSEMBLER-ROUTINES*"
1361                "*!INITIAL-FDEFN-OBJECTS*" "*!INITIAL-FOREIGN-SYMBOLS*"
1362                "*!INITIAL-LAYOUTS*" "*!INITIAL-SYMBOLS*"
1363                "INTEGER-DECODE-DOUBLE-FLOAT"
1364                #!+long-float "INTEGER-DECODE-LONG-FLOAT"
1365                "INTEGER-DECODE-SINGLE-FLOAT" "INTERNAL-ERROR"
1366                #!+win32 "HANDLE-WIN32-EXCEPTION"
1367                "INTERNAL-TIME" "INTERSECTION-TYPE" "INTERSECTION-TYPE-P"
1368                "INTERSECTION-TYPE-TYPES" "INVALID-ARG-COUNT-ERROR"
1369                "INVALID-ARRAY-INDEX-ERROR" "INVALID-UNWIND-ERROR"
1370                "IRRATIONAL" "JUST-DUMP-IT-NORMALLY" "KEY-INFO"
1371                "KEY-INFO-NAME" "KEY-INFO-P" "KEY-INFO-TYPE"
1372                "LAYOUT-DEPTHOID" "LAYOUT-INVALID-ERROR"
1373                "LAYOUT-N-UNTAGGED-SLOTS" "LAYOUT-FOR-STD-CLASS-P"
1374                "LAYOUT-SLOT-TABLE"
1375                #!+(or x86-64 x86) "%LEA"
1376                "LEXENV" "LEXENV-DESIGNATOR" "LINE-LENGTH"
1377                "LIST-COPY-SEQ*"
1378                "LIST-FILL*"
1379                "LIST-SUBSEQ*"
1380                "ANSI-STREAM"
1381                "ANSI-STREAM-BIN" "ANSI-STREAM-BOUT" "ANSI-STREAM-CLOSE"
1382                "ANSI-STREAM-ELEMENT-TYPE"
1383                "ANSI-STREAM-FILE-POSITION"
1384                "ANSI-STREAM-IN"
1385                "ANSI-STREAM-IN-BUFFER" "ANSI-STREAM-IN-INDEX"
1386                "ANSI-STREAM-INPUT-STREAM-P" "ANSI-STREAM-MISC"
1387                "ANSI-STREAM-N-BIN" "ANSI-STREAM-OPEN-STREAM-P"
1388                "ANSI-STREAM-OUT" "ANSI-STREAM-SOUT"
1389                "ANSI-STREAM-OUTPUT-STREAM-P" "LIST-TO-VECTOR*"
1390                "LOGICAL-HOST" "LOGICAL-HOST-DESIGNATOR"
1391                #!+long-float "LONG-FLOAT-EXPONENT"
1392                #!+long-float "LONG-FLOAT-EXP-BITS"
1393                #!+long-float "LONG-FLOAT-HIGH-BITS"
1394                #!+long-float "LONG-FLOAT-LOW-BITS"
1395                #!+long-float "LONG-FLOAT-MID-BITS"
1396                "LONG-WORDS" "LRA" "LRA-CODE-HEADER" "LRA-P"
1397                "MAKE-ALIEN-TYPE-TYPE" "MAKE-ARGS-TYPE"
1398                "MAKE-ARRAY-HEADER" "MAKE-ARRAY-TYPE" "MAKE-CONS-TYPE"
1399                "MAKE-DOUBLE-FLOAT" "MAKE-FUN-TYPE" "MAKE-KEY-INFO"
1400                "MAKE-LISP-OBJ"
1401                #!+long-float "MAKE-LONG-FLOAT"
1402                "MAKE-MEMBER-TYPE" "MAKE-NAMED-TYPE" "MAKE-NULL-LEXENV"
1403                "MAKE-NUMERIC-TYPE"
1404                "MAKE-SINGLE-FLOAT" "MAKE-SPECIALIZABLE-ARRAY"
1405                "MAKE-UNPORTABLE-FLOAT"
1406                "MAKE-SHORT-VALUES-TYPE" "MAKE-SINGLE-VALUE-TYPE"
1407                "MAKE-VALUE-CELL" "MAKE-VALUES-TYPE"
1408                "MAPC-MEMBER-TYPE-MEMBERS" "MAPCAR-MEMBER-TYPE-MEMBERS"
1409                "MEMBER-TYPE" "MEMBER-TYPE-MEMBERS" "MEMBER-TYPE-P"
1410                "MEMBER-TYPE-SIZE" "MERGE-BITS"
1411                "MODIFIED-NUMERIC-TYPE"
1412                "MOST-NEGATIVE-EXACTLY-DOUBLE-FLOAT-FIXNUM"
1413                "MOST-NEGATIVE-EXACTLY-SINGLE-FLOAT-FIXNUM"
1414                "MOST-POSITIVE-EXACTLY-DOUBLE-FLOAT-FIXNUM"
1415                "MOST-POSITIVE-EXACTLY-SINGLE-FLOAT-FIXNUM"
1416                "MUTATOR-SELF" "NAMED-TYPE"
1417                "NAMED-TYPE-NAME" "NAMED-TYPE-P" "NATIVE-BYTE-ORDER"
1418                "NEGATE" "NEGATION-TYPE" "NEGATION-TYPE-TYPE"
1419                "NEVER-SUBTYPEP" "NIL-ARRAY-ACCESSED-ERROR"
1420                "NIL-FUN-RETURNED-ERROR" "NOT-<=-ERROR" "NOT-=-ERROR"
1421                "NOT-DUMPED-AT-ALL" "NUMERIC-CONTAGION" "NUMERIC-TYPE"
1422                "NUMERIC-TYPE-CLASS" "NUMERIC-TYPE-COMPLEXP"
1423                "NUMERIC-TYPE-EQUAL" "NUMERIC-TYPE-FORMAT"
1424                "NUMERIC-TYPE-HIGH" "NUMERIC-TYPE-LOW" "NUMERIC-TYPE-P"
1425                "OBJECT-NOT-ARRAY-ERROR" "OBJECT-NOT-CHARACTER-ERROR"
1426                "OBJECT-NOT-BASE-STRING-ERROR" "OBJECT-NOT-BIGNUM-ERROR"
1427                "OBJECT-NOT-BIT-VECTOR-ERROR"
1428                #!+sb-unicode "OBJECT-NOT-CHARACTER-STRING-ERROR"
1429                "OBJECT-NOT-COMPLEX-ERROR"
1430                "OBJECT-NOT-COMPLEX-FLOAT-ERROR"
1431                "OBJECT-NOT-COMPLEX-SINGLE-FLOAT-ERROR"
1432                #!+long-float "OBJECT-NOT-COMPLEX-LONG-FLOAT-ERROR"
1433                "OBJECT-NOT-COMPLEX-DOUBLE-FLOAT-ERROR"
1434                "OBJECT-NOT-COMPLEX-RATIONAL-ERROR"
1435                ;; FIXME: It's confusing using "complex" to mean both
1436                ;; "not on the real number line" and "not of a
1437                ;; SIMPLE-ARRAY nature". Perhaps we could rename all the
1438                ;; uses in the second sense as "hairy" instead?
1439                "OBJECT-NOT-COMPLEX-VECTOR-ERROR" "OBJECT-NOT-CONS-ERROR"
1440                "OBJECT-NOT-DOUBLE-FLOAT-ERROR" "OBJECT-NOT-FIXNUM-ERROR"
1441                "OBJECT-NOT-FLOAT-ERROR" "OBJECT-NOT-FUN-ERROR"
1442                "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-INTEGER-ERROR"
1443                "OBJECT-NOT-LIST-ERROR"
1444                #!+long-float "OBJECT-NOT-LONG-FLOAT-ERROR"
1445                "OBJECT-NOT-NUMBER-ERROR" "OBJECT-NOT-RATIO-ERROR"
1446                "OBJECT-NOT-RATIONAL-ERROR" "OBJECT-NOT-REAL-ERROR"
1447                "OBJECT-NOT-SAP-ERROR" "OBJECT-NOT-SIGNED-BYTE-32-ERROR"
1448                ;; FIXME: 32/64-bit issues
1449                "OBJECT-NOT-SIGNED-BYTE-64-ERROR"
1450                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-ERROR"
1451                #!+long-float
1452                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-ERROR"
1453                "OBJECT-NOT-SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-ERROR"
1454                "OBJECT-NOT-SIMPLE-ARRAY-DOUBLE-FLOAT-ERROR"
1455                "OBJECT-NOT-SIMPLE-ARRAY-ERROR"
1456                #!+long-float "OBJECT-NOT-SIMPLE-ARRAY-LONG-FLOAT-ERROR"
1457                "OBJECT-NOT-SIMPLE-ARRAY-NIL-ERROR"
1458                "OBJECT-NOT-SIMPLE-ARRAY-SINGLE-FLOAT-ERROR"
1459                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-15-ERROR"
1460                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-16-ERROR"
1461                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-2-ERROR"
1462                ;; KLUDGE: 32-bit and 64-bit ports implement a different
1463                ;; set of specialized array types.  Various bits of code
1464                ;; in SBCL assume that symbols connected to the
1465                ;; specialized array types are exported.  But there's not
1466                ;; a good way at this point to know whether the port for
1467                ;; which we're building is 32-bit or 64-bit.  Granted, we
1468                ;; could hardcode the particulars (or even come up with a
1469                ;; special :64BIT feature), but that seems a little
1470                ;; inelegant.  For now, we brute-force the issue by
1471                ;; always exporting all the names required for both
1472                ;; 32-bit and 64-bit ports.  Other bits connected to the
1473                ;; same issue are noted throughout the code below with
1474                ;; the tag "32/64-bit issues".  --njf, 2004-08-09
1475                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-29-ERROR"
1476                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-31-ERROR"
1477                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-32-ERROR"
1478                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-4-ERROR"
1479                ;; FIXME: 32/64-bit issues
1480                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-60-ERROR"
1481                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-63-ERROR"
1482                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-64-ERROR"
1483                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-7-ERROR"
1484                "OBJECT-NOT-SIMPLE-ARRAY-UNSIGNED-BYTE-8-ERROR"
1485                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-16-ERROR"
1486                ;; FIXME: 32/64-bit issues
1487                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-30-ERROR"
1488                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-32-ERROR"
1489                ;; FIXME: 32/64-bit issues
1490                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-61-ERROR"
1491                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-64-ERROR"
1492                "OBJECT-NOT-SIMPLE-ARRAY-SIGNED-BYTE-8-ERROR"
1493                "OBJECT-NOT-SIMPLE-BIT-VECTOR-ERROR"
1494                "OBJECT-NOT-SIMPLE-BASE-STRING-ERROR"
1495                #!+sb-unicode "OBJECT-NOT-SIMPLE-CHARACTER-STRING-ERROR"
1496                "OBJECT-NOT-SIMPLE-STRING-ERROR"
1497                "OBJECT-NOT-SIMPLE-VECTOR-ERROR"
1498                "OBJECT-NOT-SINGLE-FLOAT-ERROR" "OBJECT-NOT-STRING-ERROR"
1499                "OBJECT-NOT-INSTANCE-ERROR" "OBJECT-NOT-SYMBOL-ERROR"
1500                "OBJECT-NOT-TYPE-ERROR"
1501                "OBJECT-NOT-UNSIGNED-BYTE-32-ERROR"
1502                ;; FIXME: 32/64-bit issues
1503                "OBJECT-NOT-UNSIGNED-BYTE-64-ERROR"
1504                "OBJECT-NOT-VECTOR-ERROR"
1505                "OBJECT-NOT-VECTOR-NIL-ERROR"
1506                "OBJECT-NOT-WEAK-POINTER-ERROR"
1507                "ODD-KEY-ARGS-ERROR" "OUTPUT-OBJECT" "OUTPUT-UGLY-OBJECT"
1508                "PACKAGE-DESIGNATOR" "PACKAGE-DOC-STRING"
1509                "PACKAGE-HASHTABLE-SIZE" "PACKAGE-HASHTABLE-FREE"
1510                "PACKAGE-INTERNAL-SYMBOLS" "PACKAGE-EXTERNAL-SYMBOLS"
1511                "PARSE-DEFMACRO" "PARSE-UNKNOWN-TYPE"
1512                "PARSE-UNKNOWN-TYPE-SPECIFIER" "PATHNAME-DESIGNATOR"
1513                "POINTER-HASH"
1514                #!+(or x86 x86-64) "*PSEUDO-ATOMIC-BITS*"
1515                "PUNT-PRINT-IF-TOO-LONG"
1516                "RAW-INSTANCE-SLOTS-EQUALP"
1517                "READER-IMPOSSIBLE-NUMBER-ERROR"
1518                "READER-EOF-ERROR"
1519                "RESTART-DESIGNATOR"
1520                "RUN-PENDING-FINALIZERS"
1521                "SCALE-DOUBLE-FLOAT"
1522                #!+long-float "SCALE-LONG-FLOAT"
1523                "SCALE-SINGLE-FLOAT"
1524                "SCRUB-POWER-CACHE"
1525                "SEQUENCEP" "SEQUENCE-COUNT" "SEQUENCE-END"
1526                "SEQUENCE-OF-CHECKED-LENGTH-GIVEN-TYPE"
1527                "SET-ARRAY-HEADER" "SET-HEADER-DATA" "SHIFT-TOWARDS-END"
1528                "SHIFT-TOWARDS-START" "SHRINK-VECTOR" "%SHRINK-VECTOR"
1529                ;; FIXME: 32/64-bit issues
1530                "SIGNED-BYTE-32-P" "SIGNED-BYTE-64-P"
1531                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-P"
1532                #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-P"
1533                "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-P"
1534                "SIMPLE-ARRAY-DOUBLE-FLOAT-P"
1535                #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-P"
1536                "SIMPLE-ARRAY-NIL-P" "SIMPLE-ARRAY-P"
1537                "SIMPLE-ARRAY-SINGLE-FLOAT-P"
1538                "SIMPLE-ARRAY-UNSIGNED-BYTE-15-P"
1539                "SIMPLE-ARRAY-UNSIGNED-BYTE-16-P"
1540                "SIMPLE-ARRAY-UNSIGNED-BYTE-2-P"
1541                ;; FIXME: 32/64-bit issues
1542                "SIMPLE-ARRAY-UNSIGNED-BYTE-29-P"
1543                "SIMPLE-ARRAY-UNSIGNED-BYTE-31-P"
1544                "SIMPLE-ARRAY-UNSIGNED-BYTE-32-P"
1545                "SIMPLE-ARRAY-UNSIGNED-BYTE-4-P"
1546                ;; FIXME: 32/64-bit issues
1547                "SIMPLE-ARRAY-UNSIGNED-BYTE-60-P"
1548                "SIMPLE-ARRAY-UNSIGNED-BYTE-63-P"
1549                "SIMPLE-ARRAY-UNSIGNED-BYTE-64-P"
1550                "SIMPLE-ARRAY-UNSIGNED-BYTE-7-P"
1551                "SIMPLE-ARRAY-UNSIGNED-BYTE-8-P"
1552                "SIMPLE-ARRAY-SIGNED-BYTE-16-P"
1553                "SIMPLE-ARRAY-SIGNED-BYTE-30-P"
1554                "SIMPLE-ARRAY-SIGNED-BYTE-32-P"
1555                ;; FIXME: 32/64-bit issues
1556                "SIMPLE-ARRAY-SIGNED-BYTE-61-P"
1557                "SIMPLE-ARRAY-SIGNED-BYTE-64-P"
1558                "SIMPLE-ARRAY-SIGNED-BYTE-8-P" "SIMPLE-BASE-STRING-P"
1559                #!+sb-unicode "SIMPLE-CHARACTER-STRING-P"
1560                "SIMPLE-PACKAGE-ERROR" "SIMPLE-UNBOXED-ARRAY"
1561                "SINGLE-FLOAT-BITS" "SINGLE-FLOAT-EXPONENT"
1562                "SINGLE-FLOAT-INT-EXPONENT" "SINGLE-FLOAT-SIGNIFICAND"
1563                "SINGLE-VALUE-TYPE" "SINGLE-VALUE-SPECIFIER-TYPE"
1564                "SPECIALIZABLE" "SPECIALIZABLE-VECTOR" "SPECIFIER-TYPE"
1565                "STACK-REF" "STREAM-DESIGNATOR" "STRING-DESIGNATOR"
1566                "STRING-FILL*"
1567                "STRING-SUBSEQ*"
1568                "STRUCTURE-RAW-SLOT-TYPE-AND-SIZE" "SUB-GC"
1569                "SYMBOLS-DESIGNATOR"
1570                "%INSTANCE-LENGTH"
1571                "%INSTANCE-REF"
1572                "%INSTANCE-SET"
1573                "SYSTEM-AREA-CLEAR"
1574                "TLS-EXHAUSTED-ERROR"
1575                "TWO-ARG-*" "TWO-ARG-+" "TWO-ARG--" "TWO-ARG-/"
1576                "TWO-ARG-/=" "TWO-ARG-<" "TWO-ARG-<=" "TWO-ARG-="
1577                "TWO-ARG->" "TWO-ARG->=" "TWO-ARG-AND" "TWO-ARG-EQV"
1578                "TWO-ARG-GCD" "TWO-ARG-IOR" "TWO-ARG-LCM" "TWO-ARG-XOR"
1579                "TYPE-DIFFERENCE" "TYPE-EXPAND" "TYPE-INTERSECTION"
1580                "TYPE-INTERSECTION2" "TYPE-APPROX-INTERSECTION2"
1581                "TYPE-SINGLE-VALUE-P" "TYPE-SPECIFIER" "TYPE-UNION"
1582                "TYPE/=" "TYPE=" "TYPES-EQUAL-OR-INTERSECT"
1583                "UNBOUND-SYMBOL-ERROR" "UNBOXED-ARRAY"
1584                "UNDEFINED-FUN-ERROR" "UNION-TYPE" "UNION-TYPE-P"
1585                "UNION-TYPE-TYPES" "UNKNOWN-ERROR"
1586                "UNKNOWN-KEY-ARG-ERROR" "UNKNOWN-TYPE" "UNKNOWN-TYPE-P"
1587                "UNKNOWN-TYPE-SPECIFIER" "UNSEEN-THROW-TAG-ERROR"
1588                ;; FIXME: 32/64-bit issues
1589                "UNSIGNED-BYTE-32-P" "UNSIGNED-BYTE-64-P"
1590                "UPDATE-OBJECT-LAYOUT-OR-INVALID"
1591                "VALUE-CELL-REF" "VALUE-CELL-SET" "VALUES-SPECIFIER-TYPE"
1592                "VALUES-SPECIFIER-TYPE-CACHE-CLEAR" "VALUES-SUBTYPEP"
1593                "VALUES-TYPE" "VALUES-TYPE-ERROR" "VALUES-TYPE-IN"
1594                "VALUES-TYPE-INTERSECTION" "VALUES-TYPE-OPTIONAL"
1595                "VALUES-TYPE-OUT" "VALUES-TYPE-P" "VALUES-TYPE-REQUIRED"
1596                "VALUES-TYPE-REST" "VALUES-TYPE-UNION"
1597                "VALUES-TYPE-TYPES" "VALUES-TYPES"
1598                "VALUES-TYPES-EQUAL-OR-INTERSECT" "VECTOR-T-P"
1599                "VECTOR-NIL-P"
1600                "VECTOR-FILL*"
1601                "VECTOR-SUBSEQ*"
1602                "VECTOR-TO-VECTOR*"
1603                "VECTOR-OF-CHECKED-LENGTH-GIVEN-LENGTH" "WITH-ARRAY-DATA"
1604                "WITH-CIRCULARITY-DETECTION" "WRONG-NUMBER-OF-INDICES-ERROR"
1605
1606                ;; bit bash fillers (FIXME: 32/64-bit issues)
1607                "UB1-BASH-FILL" "SYSTEM-AREA-UB1-FILL"
1608                "UB2-BASH-FILL" "SYSTEM-AREA-UB2-FILL"
1609                "UB4-BASH-FILL" "SYSTEM-AREA-UB4-FILL"
1610                "UB8-BASH-FILL" "SYSTEM-AREA-UB8-FILL"
1611                "UB16-BASH-FILL" "SYSTEM-AREA-UB16-FILL"
1612                "UB32-BASH-FILL" "SYSTEM-AREA-UB32-FILL"
1613                "UB64-BASH-FILL" "SYSTEM-AREA-UB64-FILL"
1614
1615                ;; bit bash copiers (FIXME: 32/64-bit issues)
1616                "UB1-BASH-COPY" "SYSTEM-AREA-UB1-COPY"
1617                "COPY-UB1-TO-SYSTEM-AREA" "COPY-UB1-FROM-SYSTEM-AREA"
1618                "UB2-BASH-COPY" "SYSTEM-AREA-UB2-COPY"
1619                "COPY-UB2-TO-SYSTEM-AREA" "COPY-UB2-FROM-SYSTEM-AREA"
1620                "UB4-BASH-COPY" "SYSTEM-AREA-UB4-COPY"
1621                "COPY-UB4-TO-SYSTEM-AREA" "COPY-UB4-FROM-SYSTEM-AREA"
1622                "UB8-BASH-COPY" "SYSTEM-AREA-UB8-COPY"
1623                "COPY-UB8-TO-SYSTEM-AREA" "COPY-UB8-FROM-SYSTEM-AREA"
1624                "UB16-BASH-COPY" "SYSTEM-AREA-UB16-COPY"
1625                "COPY-UB16-TO-SYSTEM-AREA" "COPY-UB16-FROM-SYSTEM-AREA"
1626                "UB32-BASH-COPY" "SYSTEM-AREA-UB32-COPY"
1627                "COPY-UB32-TO-SYSTEM-AREA" "COPY-UB32-FROM-SYSTEM-AREA"
1628                "UB64-BASH-COPY" "SYSTEM-AREA-UB64-COPY"
1629                "COPY-UB64-TO-SYSTEM-AREA" "COPY-UB64-FROM-SYSTEM-AREA"
1630
1631                "FDEFN" "MAKE-FDEFN" "FDEFN-P" "FDEFN-NAME" "FDEFN-FUN"
1632                "FDEFN-MAKUNBOUND" "OUTER-FDEFN"
1633                "%COERCE-CALLABLE-TO-FUN" "FUN-SUBTYPE"
1634                "*MAXIMUM-ERROR-DEPTH*" "%SET-SYMBOL-PLIST"
1635                "INFINITE-ERROR-PROTECT"
1636                "FIND-CALLER-NAME-AND-FRAME"
1637                "FIND-INTERRUPTED-NAME-AND-FRAME"
1638                "%SET-SYMBOL-VALUE" "%SET-SYMBOL-PACKAGE"
1639                "OUTPUT-SYMBOL-NAME" "%COERCE-NAME-TO-FUN"
1640                "INVOKE-MACROEXPAND-HOOK" "DEFAULT-STRUCTURE-PRINT"
1641                "LAYOUT" "LAYOUT-LENGTH" "LAYOUT-PURE" "DSD-RAW-TYPE"
1642                "DEFSTRUCT-DESCRIPTION" "UNDEFINE-STRUCTURE" "DD-COPIER"
1643                "UNDEFINE-FUN-NAME" "DD-TYPE" "CLASSOID-STATE" "INSTANCE"
1644                "*TYPE-SYSTEM-INITIALIZED*" "FIND-LAYOUT" "DSD-NAME"
1645                "%TYPEP" "DD-RAW-INDEX" "DD-NAME" "CLASSOID-SUBCLASSES"
1646                "CLASSOID-LAYOUT" "CLASSOID-NAME" "CLASSOID-P"
1647                "DD-RAW-LENGTH" "NOTE-NAME-DEFINED" "%CODE-CODE-SIZE"
1648                "DD-SLOTS" "DD-INCLUDE" "SLOT-SETTER-LAMBDA-FORM"
1649                "%IMAGPART" "DSD-ACCESSOR-NAME" "%CODE-DEBUG-INFO"
1650                "LAYOUT-CLASSOID" "LAYOUT-INVALID" "%SIMPLE-FUN-NAME"
1651                "DSD-TYPE" "%INSTANCEP" "DEFSTRUCT-SLOT-DESCRIPTION"
1652                "%SIMPLE-FUN-ARGLIST" "%SIMPLE-FUN-NEXT"
1653                "DD-PREDICATE-NAME"
1654                "CLASSOID-PROPER-NAME" "%NOTE-TYPE-DEFINED" "LAYOUT-INFO"
1655                "%SET-INSTANCE-LAYOUT" "DD-DEFAULT-CONSTRUCTOR"
1656                "LAYOUT-OF" "%SIMPLE-FUN-SELF" "%REALPART"
1657                "STRUCTURE-CLASSOID-P" "DSD-INDEX" "STRUCTURE-CLASSOID"
1658                "%INSTANCE-LAYOUT" "LAYOUT-CLOS-HASH" "%SIMPLE-FUN-TYPE"
1659                "PROCLAIM-AS-FUN-NAME" "BECOME-DEFINED-FUN-NAME"
1660                "%NUMERATOR" "CLASSOID-TYPEP" "DSD-READ-ONLY"
1661                "DSD-DEFAULT" "LAYOUT-INHERITS" "DD-LENGTH"
1662                "%CODE-ENTRY-POINTS" "%DENOMINATOR" "%SIMPLE-FUN-XREFS"
1663                "%OTHER-POINTER-P"
1664
1665                "STANDARD-CLASSOID" "CLASSOID-OF"
1666                "MAKE-STANDARD-CLASSOID"
1667                "CLASSOID-CELL-CLASSOID"
1668                "CLASSOID-CELL-NAME"
1669                "CLASSOID-CELL-PCL-CLASS"
1670                "CLASSOID-CELL-TYPEP"
1671                "CLEAR-CLASSOID"
1672                "FIND-CLASSOID-CELL" "EXTRACT-FUN-TYPE"
1673                "%RANDOM-DOUBLE-FLOAT"
1674                #!+long-float "%RANDOM-LONG-FLOAT"
1675                "%RANDOM-SINGLE-FLOAT" "STATIC-CLASSOID"
1676                "%FUNCALLABLE-INSTANCE-INFO" "RANDOM-CHUNK" "BIG-RANDOM-CHUNK"
1677                "LAYOUT-CLOS-HASH-LIMIT"
1678                "BUILT-IN-CLASSOID-DIRECT-SUPERCLASSES"
1679                "BUILT-IN-CLASSOID-TRANSLATION" "RANDOM-LAYOUT-CLOS-HASH"
1680                "CLASSOID-PCL-CLASS" "FUNCALLABLE-STRUCTURE"
1681                "FUNCALLABLE-INSTANCE-FUN" "%FUNCALLABLE-INSTANCE-LAYOUT"
1682                "%SET-FUNCALLABLE-INSTANCE-LAYOUT"
1683                "BASIC-STRUCTURE-CLASSOID"
1684                "REGISTER-LAYOUT"
1685                "FUNCALLABLE-INSTANCE" "RANDOM-FIXNUM-MAX"
1686                "MAKE-STATIC-CLASSOID" "INSTANCE-LAMBDA"
1687                "%MAKE-SYMBOL"
1688                "%FUNCALLABLE-INSTANCE-FUNCTION" "SYMBOL-HASH"
1689
1690                "EXTENDED-SEQUENCE" "*EXTENDED-SEQUENCE-TYPE*"
1691                "EXTENDED-SEQUENCE-P"
1692
1693                "BUILT-IN-CLASSOID" "CONDITION-CLASSOID-P"
1694                "CONDITION-CLASSOID-SLOTS" "MAKE-UNDEFINED-CLASSOID"
1695                "FIND-CLASSOID" "CLASSOID" "CLASSOID-DIRECT-SUPERCLASSES"
1696                "MAKE-LAYOUT" "REDEFINE-LAYOUT-WARNING" "SLOT-CLASSOID"
1697                "INSURED-FIND-CLASSOID" "ORDER-LAYOUT-INHERITS"
1698                "STD-COMPUTE-CLASS-PRECEDENCE-LIST"
1699
1700                ;; symbols from former SB!CONDITIONS
1701                "*HANDLER-CLUSTERS*" "*RESTART-CLUSTERS*"
1702                "*CONDITION-RESTARTS*" "SHOW-CONDITION" "CASE-FAILURE"
1703                "NAMESTRING-PARSE-ERROR" "NAMESTRING-PARSE-ERROR-OFFSET"
1704                "DESCRIBE-CONDITION" "MAKE-RESTART" "COERCE-TO-CONDITION"
1705
1706                "CONDITION-READER-FUNCTION"
1707                "CONDITION-WRITER-FUNCTION"
1708
1709                "CONDITION-SLOT-ALLOCATION"
1710                "CONDITION-SLOT-DOCUMENTATION"
1711                "CONDITION-SLOT-INITARGS"
1712                "CONDITION-SLOT-INITFORM"
1713                "CONDITION-SLOT-INITFORM-P"
1714                "CONDITION-SLOT-NAME" "CONDITION-SLOT-READERS"
1715                "CONDITION-SLOT-WRITERS"
1716
1717                "REDEFINITION-WARNING"
1718                "REDEFINITION-WITH-DEFUN"
1719                "REDEFINITION-WITH-DEFGENERIC"
1720                "REDEFINITION-WITH-DEFMETHOD"
1721                "REDEFINITION-REPLACES-GENERIC-FUNCTION-P"
1722                "REDEFINITION-REPLACES-COMPILED-FUNCTION-WITH-INTERPRETED-P"
1723                "UNINTERESTING-ORDINARY-FUNCTION-REDEFINITION-P"
1724                "UNINTERESTING-GENERIC-FUNCTION-REDEFINITION-P"
1725                "UNINTERESTING-METHOD-REDEFINITION-P"
1726                "UNINTERESTING-REDEFINITION"
1727                "REDEFINITION-WITH-DEFTRANSFORM"
1728
1729                "DUBIOUS-ASTERISKS-AROUND-VARIABLE-NAME"
1730                "ASTERISKS-AROUND-LEXICAL-VARIABLE-NAME"
1731                "ASTERISKS-AROUND-CONSTANT-VARIABLE-NAME"
1732                "UNDEFINED-ALIEN-STYLE-WARNING"
1733                #!+sb-eval
1734                "LEXICAL-ENVIRONMENT-TOO-COMPLEX"
1735                "CHARACTER-DECODING-ERROR-IN-COMMENT"
1736                "DEPRECATED-EVAL-WHEN-SITUATIONS"
1737                "PROCLAMATION-MISMATCH"
1738                "TYPE-PROCLAMATION-MISMATCH"
1739                "FTYPE-PROCLAMATION-MISMATCH"
1740
1741                "!COLD-INIT" "!UNINTERN-INIT-ONLY-STUFF"
1742                "!GLOBALDB-COLD-INIT" "!FDEFN-COLD-INIT"
1743                "!FOREIGN-COLD-INIT" "!FUNCTION-NAMES-COLD-INIT"
1744                "!TYPE-CLASS-COLD-INIT" "!TYPEDEFS-COLD-INIT"
1745                "!ALIEN-TYPE-COLD-INIT" "!CLASSES-COLD-INIT"
1746                "!EARLY-TYPE-COLD-INIT" "!LATE-TYPE-COLD-INIT"
1747                "!FIXUP-TYPE-COLD-INIT" "!TARGET-TYPE-COLD-INIT"
1748                "!RANDOM-COLD-INIT" "!READER-COLD-INIT"
1749                "!TYPECHECKFUNS-COLD-INIT" "!LOADER-COLD-INIT"
1750                "!EXHAUST-COLD-INIT" "!PACKAGE-COLD-INIT"
1751                "!POLICY-COLD-INIT-OR-RESANIFY"
1752                "!VM-TYPE-COLD-INIT" "!BACKQ-COLD-INIT"
1753                "!SHARPM-COLD-INIT" "!EARLY-PROCLAIM-COLD-INIT"
1754                "!LATE-PROCLAIM-COLD-INIT" "!CLASS-FINALIZE"
1755                "!CONSTANTP-COLD-INIT"
1756
1757                "FLOAT-COLD-INIT-OR-REINIT"
1758                "GC-REINIT"
1759                "TIME-REINIT"
1760                "SIGNAL-COLD-INIT-OR-REINIT"
1761                "STREAM-COLD-INIT-OR-RESET"
1762
1763                ;; Cleanups to run before saving a core
1764                "DEBUG-DEINIT"
1765                "FLOAT-DEINIT"
1766                "FOREIGN-DEINIT"
1767                "PROFILE-DEINIT"
1768
1769                ;; Note: These are out of lexicographical order
1770                ;; because in CMU CL they were defined as
1771                ;; internal symbols in package "CL" imported
1772                ;; into package "C", as opposed to what we're
1773                ;; doing here, defining them as external symbols
1774                ;; in a package which is used by both "SB!C" and
1775                ;; "SB!IMPL". (SBCL's "SB!C" is directly
1776                ;; analogous to CMU CL's "C"; and for this
1777                ;; purpose, SBCL's "SB!IMPL" is analogous to CMU
1778                ;; CL's "CL".) As far as I know there's nothing
1779                ;; special about them, so they could be merged
1780                ;; into the same order as everything else in the
1781                ;; in this package. -- WHN 19990911
1782                "STRING>=*" "STRING>*" "STRING=*" "STRING<=*"
1783                "STRING<*" "STRING/=*" "%SVSET"
1784                "%SP-STRING-COMPARE" "%SETNTH" "%SETELT"
1785                "%SET-ROW-MAJOR-AREF" "%SET-FILL-POINTER"
1786                "%SET-FDEFINITION" "%SCHARSET" "%SBITSET"
1787                "%RPLACD" "%RPLACA" "%PUT" "%CHARSET" "%BITSET"
1788                "%ASET" "%ARRAY-TYPEP"
1789                "%SET-SAP-REF-DESCRIPTOR"))
1790
1791    #s(sb-cold:package-data
1792       :name "SB!THREAD"
1793       :use ("CL" "SB!ALIEN" "SB!INT" "SB!SYS" "SB!KERNEL")
1794       :doc "public (but low-level): native thread support"
1795       :export ("*CURRENT-THREAD*" "THREAD" "MAKE-THREAD"
1796                "THREAD-NAME" "THREAD-ALIVE-P"
1797                "LIST-ALL-THREADS"
1798                "JOIN-THREAD" "JOIN-THREAD-ERROR" "JOIN-THREAD-ERROR-THREAD"
1799                "INTERRUPT-THREAD-ERROR"
1800                "INTERRUPT-THREAD-ERROR-THREAD"
1801                "INTERRUPT-THREAD" "TERMINATE-THREAD" "DESTROY-THREAD"
1802                "THREAD-YIELD"
1803                "MUTEX" "MAKE-MUTEX" "MUTEX-NAME" "MUTEX-VALUE"
1804                "GET-MUTEX" "RELEASE-MUTEX" "WITH-MUTEX"
1805                "WITH-RECURSIVE-LOCK"
1806                "WAITQUEUE" "MAKE-WAITQUEUE" "WAITQUEUE-NAME"
1807                "CONDITION-WAIT" "CONDITION-NOTIFY" "CONDITION-BROADCAST"
1808                "MAKE-LISTENER-THREAD"
1809                "RELEASE-FOREGROUND"
1810                "WITH-NEW-SESSION"
1811                ;; Semaphores
1812                "MAKE-SEMAPHORE"
1813                "SEMAPHORE"
1814                "SEMAPHORE-NAME"
1815                "SEMAPHORE-COUNT"
1816                "SIGNAL-SEMAPHORE"
1817                "WAIT-ON-SEMAPHORE"))
1818
1819    #s(sb-cold:package-data
1820       :name "SB!LOOP"
1821       :doc "private: implementation details of LOOP"
1822       :use ("CL")
1823       :export ())
1824
1825    #s(sb-cold:package-data
1826       :name "SB!MOP"
1827       :doc
1828       "public: the MetaObject Protocol interface, as defined by
1829 The Art of the Metaobject Protocol, by Kiczales, des Rivieres and Bobrow:
1830 ISBN 0-262-61074-4, with exceptions as noted in the User Manual."
1831       :use ("CL")
1832       :reexport ("ADD-METHOD"
1833                  "ALLOCATE-INSTANCE"
1834                  "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
1835                  "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
1836                  "METHOD-QUALIFIERS" "REMOVE-METHOD"
1837                  "BUILT-IN-CLASS" "CLASS"
1838                  "FUNCTION" "GENERIC-FUNCTION"
1839                  "METHOD" "METHOD-COMBINATION"
1840                  "STANDARD-CLASS" "STANDARD-GENERIC-FUNCTION"
1841                  "STANDARD-METHOD" "STANDARD-OBJECT" "T")
1842       :export ("ADD-DEPENDENT"
1843                "ADD-DIRECT-METHOD"
1844                "ADD-DIRECT-SUBCLASS"
1845                "CLASS-DEFAULT-INITARGS"
1846                "CLASS-DIRECT-DEFAULT-INITARGS"
1847                "CLASS-DIRECT-SLOTS"
1848                "CLASS-DIRECT-SUBCLASSES"
1849                "CLASS-DIRECT-SUPERCLASSES"
1850                "CLASS-FINALIZED-P"
1851                "CLASS-PRECEDENCE-LIST"
1852                "CLASS-PROTOTYPE"
1853                "CLASS-SLOTS"
1854                "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
1855                "COMPUTE-CLASS-PRECEDENCE-LIST"
1856                "COMPUTE-DEFAULT-INITARGS"
1857                "COMPUTE-DISCRIMINATING-FUNCTION"
1858                "COMPUTE-EFFECTIVE-METHOD"
1859                "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
1860                "COMPUTE-SLOTS"
1861                "DIRECT-SLOT-DEFINITION"
1862                "DIRECT-SLOT-DEFINITION-CLASS"
1863                "EFFECTIVE-SLOT-DEFINITION"
1864                "EFFECTIVE-SLOT-DEFINITION-CLASS"
1865                "ENSURE-CLASS"
1866                "ENSURE-CLASS-USING-CLASS"
1867                "ENSURE-GENERIC-FUNCTION-USING-CLASS"
1868                "EQL-SPECIALIZER"
1869                "EQL-SPECIALIZER-OBJECT"
1870                "EXTRACT-LAMBDA-LIST"
1871                "EXTRACT-SPECIALIZER-NAMES"
1872                "FINALIZE-INHERITANCE"
1873                "FIND-METHOD-COMBINATION"
1874                "FORWARD-REFERENCED-CLASS"
1875                "FUNCALLABLE-STANDARD-CLASS"
1876                "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
1877                "FUNCALLABLE-STANDARD-OBJECT"
1878                "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
1879                "GENERIC-FUNCTION-DECLARATIONS"
1880                "GENERIC-FUNCTION-LAMBDA-LIST"
1881                "GENERIC-FUNCTION-METHOD-CLASS"
1882                "GENERIC-FUNCTION-METHOD-COMBINATION"
1883                "GENERIC-FUNCTION-METHODS"
1884                "GENERIC-FUNCTION-NAME"
1885                "INTERN-EQL-SPECIALIZER"
1886                "MAKE-METHOD-LAMBDA"
1887                "MAP-DEPENDENTS"
1888                "METAOBJECT"
1889                "METHOD-FUNCTION"
1890                "METHOD-GENERIC-FUNCTION"
1891                "METHOD-LAMBDA-LIST"
1892                "METHOD-SPECIALIZERS"
1893                "ACCESSOR-METHOD-SLOT-DEFINITION"
1894                "READER-METHOD-CLASS"
1895                "REMOVE-DEPENDENT"
1896                "REMOVE-DIRECT-METHOD"
1897                "REMOVE-DIRECT-SUBCLASS"
1898                "SET-FUNCALLABLE-INSTANCE-FUNCTION"
1899                "SLOT-BOUNDP-USING-CLASS"
1900                "SLOT-DEFINITION"
1901                "SLOT-DEFINITION-ALLOCATION"
1902                "SLOT-DEFINITION-INITARGS"
1903                "SLOT-DEFINITION-INITFORM"
1904                "SLOT-DEFINITION-INITFUNCTION"
1905                "SLOT-DEFINITION-LOCATION"
1906                "SLOT-DEFINITION-NAME"
1907                "SLOT-DEFINITION-READERS"
1908                "SLOT-DEFINITION-WRITERS"
1909                "SLOT-DEFINITION-TYPE"
1910                "SLOT-MAKUNBOUND-USING-CLASS"
1911                "SLOT-VALUE-USING-CLASS"
1912                "SPECIALIZER"
1913                "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
1914                "SPECIALIZER-DIRECT-METHODS"
1915                "STANDARD-ACCESSOR-METHOD"
1916                "STANDARD-DIRECT-SLOT-DEFINITION"
1917                "STANDARD-EFFECTIVE-SLOT-DEFINITION"
1918                "STANDARD-INSTANCE-ACCESS"
1919                "STANDARD-READER-METHOD"
1920                "STANDARD-SLOT-DEFINITION"
1921                "STANDARD-WRITER-METHOD"
1922                "UPDATE-DEPENDENT"
1923                "VALIDATE-SUPERCLASS"
1924                "WRITER-METHOD-CLASS"))
1925
1926    #s(sb-cold:package-data
1927       :name "SB!PCL"
1928       :doc
1929       "semi-public: This package includes useful meta-object protocol
1930 extensions, but even they are not guaranteed to be present in later
1931 versions of SBCL, and the other stuff in here is definitely not
1932 guaranteed to be present in later versions of SBCL.  Use of this
1933 package is deprecated in favour of SB-MOP."
1934       :use ("CL" "SB!MOP" "SB!INT" "SB!EXT" "SB!WALKER" "SB!KERNEL")
1935       ;; experimental SBCL-only (for now) symbols
1936       :export ("MAKE-METHOD-SPECIALIZERS-FORM"
1937                "PARSE-SPECIALIZER-USING-CLASS"
1938                "UNPARSE-SPECIALIZER-USING-CLASS")
1939       ;; FIXME: After a little while, these reexports can probably go
1940       ;; away, as they're superseded by the use of SB-MOP as the
1941       ;; publically-accessible package.
1942       :reexport ( ;; CL symbols
1943                  "ADD-METHOD"
1944                  "ALLOCATE-INSTANCE"
1945                  "CLASS-NAME" "COMPUTE-APPLICABLE-METHODS"
1946                  "ENSURE-GENERIC-FUNCTION" "MAKE-INSTANCE"
1947                  "METHOD-QUALIFIERS" "REMOVE-METHOD"
1948                  ;; MOP symbols
1949                  "ADD-DEPENDENT"
1950                  "ADD-DIRECT-METHOD"
1951                  "ADD-DIRECT-SUBCLASS"
1952                  "CLASS-DEFAULT-INITARGS"
1953                  "CLASS-DIRECT-DEFAULT-INITARGS"
1954                  "CLASS-DIRECT-SLOTS"
1955                  "CLASS-DIRECT-SUBCLASSES"
1956                  "CLASS-DIRECT-SUPERCLASSES"
1957                  "CLASS-FINALIZED-P"
1958                  "CLASS-PRECEDENCE-LIST"
1959                  "CLASS-PROTOTYPE"
1960                  "CLASS-SLOTS"
1961                  "COMPUTE-APPLICABLE-METHODS-USING-CLASSES"
1962                  "COMPUTE-CLASS-PRECEDENCE-LIST"
1963                  "COMPUTE-DEFAULT-INITARGS"
1964                  "COMPUTE-DISCRIMINATING-FUNCTION"
1965                  "COMPUTE-EFFECTIVE-METHOD"
1966                  "COMPUTE-EFFECTIVE-SLOT-DEFINITION"
1967                  "COMPUTE-SLOTS"
1968                  "DIRECT-SLOT-DEFINITION"
1969                  "DIRECT-SLOT-DEFINITION-CLASS"
1970                  "EFFECTIVE-SLOT-DEFINITION"
1971                  "EFFECTIVE-SLOT-DEFINITION-CLASS"
1972                  "ENSURE-CLASS"
1973                  "ENSURE-CLASS-USING-CLASS"
1974                  "ENSURE-GENERIC-FUNCTION-USING-CLASS"
1975                  "EQL-SPECIALIZER"
1976                  "EQL-SPECIALIZER-OBJECT"
1977                  "EXTRACT-LAMBDA-LIST"
1978                  "EXTRACT-SPECIALIZER-NAMES"
1979                  "FINALIZE-INHERITANCE"
1980                  "FIND-METHOD-COMBINATION"
1981                  "FORWARD-REFERENCED-CLASS"
1982                  "FUNCALLABLE-STANDARD-CLASS"
1983                  "FUNCALLABLE-STANDARD-INSTANCE-ACCESS"
1984                  "FUNCALLABLE-STANDARD-OBJECT"
1985                  "GENERIC-FUNCTION-ARGUMENT-PRECEDENCE-ORDER"
1986                  "GENERIC-FUNCTION-DECLARATIONS"
1987                  "GENERIC-FUNCTION-LAMBDA-LIST"
1988                  "GENERIC-FUNCTION-METHOD-CLASS"
1989                  "GENERIC-FUNCTION-METHOD-COMBINATION"
1990                  "GENERIC-FUNCTION-METHODS"
1991                  "GENERIC-FUNCTION-NAME"
1992                  "INTERN-EQL-SPECIALIZER"
1993                  "MAKE-METHOD-LAMBDA"
1994                  "MAP-DEPENDENTS"
1995                  "METHOD-FUNCTION"
1996                  "METHOD-GENERIC-FUNCTION"
1997                  "METHOD-LAMBDA-LIST"
1998                  "METHOD-SPECIALIZERS"
1999                  "ACCESSOR-METHOD-SLOT-DEFINITION"
2000                  "READER-METHOD-CLASS"
2001                  "REMOVE-DEPENDENT"
2002                  "REMOVE-DIRECT-METHOD"
2003                  "REMOVE-DIRECT-SUBCLASS"
2004                  "SET-FUNCALLABLE-INSTANCE-FUNCTION"
2005                  "SLOT-BOUNDP-USING-CLASS"
2006                  "SLOT-DEFINITION"
2007                  "SLOT-DEFINITION-ALLOCATION"
2008                  "SLOT-DEFINITION-INITARGS"
2009                  "SLOT-DEFINITION-INITFORM"
2010                  "SLOT-DEFINITION-INITFUNCTION"
2011                  "SLOT-DEFINITION-LOCATION"
2012                  "SLOT-DEFINITION-NAME"
2013                  "SLOT-DEFINITION-READERS"
2014                  "SLOT-DEFINITION-WRITERS"
2015                  "SLOT-DEFINITION-TYPE"
2016                  "SLOT-MAKUNBOUND-USING-CLASS"
2017                  "SLOT-VALUE-USING-CLASS"
2018                  "SPECIALIZER"
2019                  "SPECIALIZER-DIRECT-GENERIC-FUNCTIONS"
2020                  "SPECIALIZER-DIRECT-METHODS"
2021                  "STANDARD-ACCESSOR-METHOD"
2022                  "STANDARD-DIRECT-SLOT-DEFINITION"
2023                  "STANDARD-EFFECTIVE-SLOT-DEFINITION"
2024                  "STANDARD-INSTANCE-ACCESS"
2025                  "STANDARD-READER-METHOD"
2026                  "STANDARD-SLOT-DEFINITION"
2027                  "STANDARD-WRITER-METHOD"
2028                  "UPDATE-DEPENDENT"
2029                  "VALIDATE-SUPERCLASS"
2030                  "WRITER-METHOD-CLASS"))
2031
2032    #s(sb-cold:package-data
2033       :name "SB!PRETTY"
2034       :doc "private: implementation of pretty-printing"
2035       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
2036       :export ("OUTPUT-PRETTY-OBJECT"
2037                "PRETTY-STREAM" "PRETTY-STREAM-P"
2038                "PPRINT-DISPATCH-TABLE"
2039                "!PPRINT-COLD-INIT"))
2040
2041    #s(sb-cold:package-data
2042       :name "SB!PROFILE"
2043       :doc "public: the interface to the profiler"
2044       :use ("CL" "SB!EXT" "SB!INT" "SB!KERNEL")
2045       :export ("PROFILE" "REPORT" "RESET" "UNPROFILE"))
2046
2047    #s(sb-cold:package-data
2048       :name "SB!SEQUENCE"
2049       :doc "semi-public: implements something which might eventually
2050 be submitted as a CDR"
2051       :use ()
2052       :export ("DOSEQUENCE"
2053
2054                "MAKE-SEQUENCE-ITERATOR" "MAKE-SIMPLE-SEQUENCE-ITERATOR"
2055
2056                "ITERATOR-STEP" "ITERATOR-ENDP" "ITERATOR-ELEMENT"
2057                "ITERATOR-INDEX" "ITERATOR-COPY"
2058
2059                "WITH-SEQUENCE-ITERATOR" "WITH-SEQUENCE-ITERATOR-FUNCTIONS"
2060
2061                "CANONIZE-TEST" "CANONIZE-KEY"
2062
2063                "LENGTH" "ELT"
2064                "MAKE-SEQUENCE-LIKE" "ADJUST-SEQUENCE"
2065
2066                "COUNT" "COUNT-IF" "COUNT-IF-NOT"
2067                "FIND" "FIND-IF" "FIND-IF-NOT"
2068                "POSITION" "POSITION-IF" "POSITION-IF-NOT"
2069                "SUBSEQ" "COPY-SEQ" "FILL"
2070                "NSUBSTITUTE" "NSUBSTITUTE-IF" "NSUBSTITUTE-IF-NOT"
2071                "SUBSTITUTE" "SUBSTITUTE-IF" "SUBSTITUTE-IF-NOT"
2072                "REPLACE" "REVERSE" "NREVERSE" "REDUCE"
2073                "MISMATCH" "SEARCH"
2074                "DELETE" "DELETE-IF" "DELETE-IF-NOT"
2075                "REMOVE" "REMOVE-IF" "REMOVE-IF-NOT"
2076                "DELETE-DUPLICATES" "REMOVE-DUPLICATES" "SORT" "STABLE-SORT"))
2077
2078    #s(sb-cold:package-data
2079       :name "SB!SYS"
2080       :doc
2081       "private: In theory, this \"contains functions and information
2082 necessary for system interfacing\" (said cmu-user.tex at the time
2083 of the SBCL code fork). That probably was and is a good idea, but in
2084 practice, the distinctions between this package and SB-KERNEL
2085 and even SB-VM seem to have become somewhat blurred over the years.
2086 Some anomalies (e.g. FIND-IF-IN-CLOSURE being in SB-SYS instead of
2087 SB-KERNEL) have been undone, but probably more remain."
2088       :use ("CL" "SB!EXT" "SB!INT")
2089       :export ("%ASSEMBLER-CODE-TYPE"
2090                "%BIND-ALIGNED-SAP"
2091                ;; FIXME: %PRIMITIVE shouldn't be here. (I now know that %SYS
2092                ;; is for OS-dependent stuff. %PRIMITIVE should probably be in
2093                ;; SB!KERNEL.)
2094                "%PRIMITIVE"
2095                "%STANDARD-CHAR-P"
2096                "*ALLOW-WITH-INTERRUPTS*"
2097                "*FOREIGN-LOCK*"
2098                "*INTERRUPTS-ENABLED*"
2099                "*INTERRUPT-PENDING*"
2100                "*LINKAGE-INFO*"
2101                "*LONG-SITE-NAME*" "*SHORT-SITE-NAME*"
2102                "*PERIODIC-POLLING-FUNCTION*"
2103                "*PERIODIC-POLLING-PERIOD*"
2104                "*RUNTIME-DLHANDLE*"
2105                "*SHARED-OBJECTS*"
2106                "*STATIC-FOREIGN-SYMBOLS*"
2107                "*STDERR*" "*STDIN*"
2108                "*STDOUT*" "*TASK-DATA*"
2109                "*TASK-NOTIFY*" "*TASK-SELF*" "*TTY*" "*TYPESCRIPTPORT*"
2110                "ADD-FD-HANDLER"
2111                "ALLOCATE-SYSTEM-MEMORY"
2112                "ALLOW-WITH-INTERRUPTS"
2113                "BEEP" "BITS"
2114                "BYTES"
2115                "BREAKPOINT-ERROR"
2116                "CLOSE-SHARED-OBJECTS"
2117                "COMPILER-VERSION"
2118                "DEADLINE-TIMEOUT"
2119                "DEALLOCATE-SYSTEM-MEMORY"
2120                "DECODE-TIMEOUT"
2121                "DECODE-INTERNAL-TIME"
2122                "DEFAULT-INTERRUPT"
2123                "DEFER-DEADLINE"
2124                "DEPORT-BOOLEAN" "DEPORT-INTEGER"
2125                "DYNAMIC-FOREIGN-SYMBOLS-P"
2126                "DLOPEN-OR-LOSE"
2127                "FROB-DO-BODY"
2128                "ENABLE-INTERRUPT"
2129                "ENUMERATION"
2130                "ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"
2131                "EXTERN-ALIEN-NAME"
2132                "FD-STREAM" "FD-STREAM-FD" "FD-STREAM-P"
2133                "FIND-DYNAMIC-FOREIGN-SYMBOL-ADDRESS"
2134                "FIND-FOREIGN-SYMBOL-ADDRESS"
2135                "FIND-FOREIGN-SYMBOL-IN-TABLE"
2136                "FOREIGN-SYMBOL-SAP"
2137                "FOREIGN-SYMBOL-ADDRESS"
2138                "FOREIGN-SYMBOL-DATAREF-SAP"
2139                "GET-PAGE-SIZE" "GET-SYSTEM-INFO"
2140                "IGNORE-INTERRUPT"
2141                "IN-INTERRUPTION"
2142                "INTERACTIVE-INTERRUPT"
2143                "INT-SAP"
2144                "INVALIDATE-DESCRIPTOR"
2145                "INVOKE-INTERRUPTION"
2146                "IO-TIMEOUT"
2147                "LIST-DYNAMIC-FOREIGN-SYMBOLS"
2148                "MACRO" "MAKE-FD-STREAM"
2149                "MEMORY-FAULT-ERROR"
2150                "MEMMOVE"
2151                "NATURALIZE-BOOLEAN" "NATURALIZE-INTEGER"
2152                "OS-COLD-INIT-OR-REINIT" "OS-CONTEXT-T" "OUTPUT-RAW-BYTES"
2153                "READ-N-BYTES" "REALLOCATE-SYSTEM-MEMORY" "RECORD-SIZE"
2154                "REMOVE-FD-HANDLER"
2155                "REOPEN-SHARED-OBJECTS"
2156                "RESOLVE-LOADED-ASSEMBLER-REFERENCES"
2157                "SAP+" "SAP-"
2158                "SAP-FOREIGN-SYMBOL"
2159                "SAP-INT"
2160                "SAP-REF-16" "SAP-REF-32" "SAP-REF-64" "SAP-REF-WORD"
2161                "SAP-REF-8"
2162                "SAP-REF-DESCRIPTOR"
2163                "SAP-REF-DOUBLE" "SAP-REF-LONG"
2164                "SAP-REF-SAP" "SAP-REF-SINGLE"
2165                "SAP<" "SAP<=" "SAP=" "SAP>" "SAP>="
2166                "SCRUB-CONTROL-STACK" "SERVE-ALL-EVENTS"
2167                "SIGNAL-DEADLINE"
2168                "SERVE-EVENT"
2169                "SIGNED-SAP-REF-16" "SIGNED-SAP-REF-32"
2170                "SIGNED-SAP-REF-64" "SIGNED-SAP-REF-WORD" "SIGNED-SAP-REF-8"
2171                ;; FIXME: STRUCTURE!OBJECT stuff probably belongs in SB!KERNEL.
2172                "STRUCTURE!OBJECT" "STRUCTURE!OBJECT-MAKE-LOAD-FORM"
2173                "SYSTEM-AREA-POINTER" "SYSTEM-AREA-POINTER-P"
2174                "SYSTEM-CONDITION" "SYSTEM-CONDIION-ADDRESS"
2175                "SYSTEM-CONDITION-CONTEXT"
2176                "REINIT-INTERNAL-REAL-TIME"
2177                "SYSTEM-INTERNAL-RUN-TIME"
2178                "UNDEFINED-FOREIGN-SYMBOLS-P"
2179                "UPDATE-LINKAGE-TABLE" "VECTOR-SAP"
2180                "WAIT-UNTIL-FD-USABLE"
2181                "WITH-DEADLINE"
2182                "WITH-FD-HANDLER"
2183                "WITH-INTERRUPTS" "WITH-LOCAL-INTERRUPTS"
2184                "WITH-PINNED-OBJECTS" "WITHOUT-GCING"
2185                "WITHOUT-INTERRUPTS"
2186                "WITH-INTERRUPT-BINDINGS"
2187                "WORDS"))
2188
2189    #s(sb-cold:package-data
2190       :name "SB!UNIX"
2191       :doc
2192       "private: a wrapper layer for SBCL itself to use when talking
2193 with an underlying Unix-y operating system.
2194 This was a public package in CMU CL, but that was different.
2195 CMU CL's UNIX package tried to provide a comprehensive,
2196 stable Unix interface suitable for the end user.
2197 This package only tries to implement what happens to be
2198 needed by the current implementation of SBCL, and makes
2199 no guarantees of interface stability."
2200       :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
2201       :export ( ;; wrappers around Unix stuff to give just what Lisp needs
2202                "NANOSLEEP"
2203                "UID-USERNAME"
2204                "UID-HOMEDIR"
2205                "WITH-RESTARTED-SYSCALL"
2206                "SB-MKSTEMP"
2207
2208                ;; stuff with a one-to-one mapping to Unix constructs
2209                "D-INO" "D-NAME" "D-NAMLEN" "D-OFF" "D-RECLEN" "DEV-T" "DIRECT"
2210                "EXECGRP" "EXECOTH" "EXECOWN" "F-DUPFD" "F-GETFD" "F-GETFL"
2211                "F-GETOWN" "F-SETFD" "F-SETFL" "F-SETOWN" "FAPPEND" "FASYNC"
2212                "FCREAT" "FEXCL" "FIONREAD" "FNDELAY" "FTRUNC" "F_OK" "GID-T"
2213                "INO-T" "UNIX-ACCESS" "UNIX-SETITIMER" "UNIX-GETITIMER"
2214                "KBDCGET" "KBDCRESET"
2215                "KBDCRST" "KBDCSET" "KBDCSSTD" "KBDGCLICK" "KBDSCLICK" "KBDSGET"
2216                "L_INCR" "L_SET" "L_XTND" "OFF-T" "O_APPEND" "O_CREAT" "O_EXCL"
2217                "O_RDONLY" "O_RDWR" "O_TRUNC" "O_WRONLY" "POSIX-GETCWD"
2218                "POSIX-GETCWD/" "READGRP" "READOTH" "READOWN" "RLIM-CUR"
2219                "RLIM-MAX" "RU-IDRSS" "RU-INBLOCK" "RU-ISRSS" "RU-IXRSS"
2220                "RU-MAJFLT" "RU-MAXRSS" "RU-MINFLT" "RU-MSGRCV" "RU-MSGSND"
2221                "RU-NIVCSW" "RU-NSIGNALS" "RU-NSWAP" "RU-NVCSW" "RU-OUBLOCK"
2222                "RU-STIME" "RU-UTIME" "RUSAGE_CHILDREN" "RUSAGE_SELF" "RUSEAGE"
2223                "R_OK" "S-IEXEC" "S-IFBLK" "S-IFCHR" "S-IFDIR" "S-IFLNK" "S-IFMT"
2224                "S-IFREG" "S-IFSOCK" "S-IREAD" "S-ISGID" "S-ISUID" "S-ISVTX"
2225                "S-IWRITE" "SAVETEXT" "SB-MKSTEMP" "SC-MASK" "SC-ONSTACK"
2226                "SETUIDEXEC" "SG-ERASE" "SG-FLAGS" "SG-ISPEED" "SG-KILL"
2227                "SG-OSPEED" "SGTTYB" "SIZE-T" "ST-ATIME" "ST-BLKSIZE" "ST-BLOCKS"
2228                "ST-CTIME" "ST-DEV" "ST-GID" "ST-MODE" "ST-MTIME" "ST-NLINK"
2229                "ST-RDEV" "ST-SIZE" "ST-UID" "STAT" "TERMINAL-SPEEDS" "TIME-T"
2230                "TIMEVAL" "TIMEZONE" "TIOCFLUSH" "TIOCGETC" "TIOCGETP" "TIOCGLTC"
2231                "TIOCGPGRP" "TIOCGWINSZ" "TIOCNOTTY" "TIOCSETC" "TIOCSETP"
2232                "TIOCSLTC" "TIOCSPGRP" "TIOCSWINSZ" "TV-SEC" "TV-USEC"
2233                "TZ-DSTTIME" "TZ-MINUTESWEST" "UID-T" "UNIX-CLOSE"
2234                "UNIX-DUP""UNIX-EXIT" "UNIX-FILE-MODE" "UNIX-FSTAT"
2235                "UNIX-GETHOSTNAME" "UNIX-GETPID" "UNIX-GETRUSAGE"
2236                "UNIX-GETTIMEOFDAY" "UNIX-GETUID" "UNIX-GID" "UNIX-IOCTL"
2237                "UNIX-ISATTY" "UNIX-LSEEK" "UNIX-LSTAT" "UNIX-MKDIR"
2238                "UNIX-OPEN" "UNIX-PATHNAME" "UNIX-PID"
2239                "UNIX-PIPE" "UNIX-READ" "UNIX-READLINK" "UNIX-REALPATH"
2240                "UNIX-RENAME" "UNIX-SELECT" "UNIX-STAT" "UNIX-UID"
2241                "UNIX-UNLINK" "UNIX-WRITE"
2242                "WINSIZE"
2243                "WRITEGRP" "WRITEOTH" "WRITEOWN" "WS-COL" "WS-ROW" "WS-XPIXEL"
2244                "WS-YPIXEL" "WNOHANG" "WSTOPPED" "WUNTRACED" "W_OK" "X_OK"
2245
2246                ;; signals
2247                "SIGALRM" "SIGBUS" "SIGCHLD" "SIGCONT" "SIGEMT" "SIGFPE"
2248                "SIGHUP" "SIGILL" "SIGINT" "SIGIO" "SIGIOT" "SIGKILL"
2249                "SIGPIPE" "SIGPROF" "SIGQUIT" "SIGSEGV" "SIGSTOP" "SIGSYS"
2250                "SIGTERM" "SIGTRAP" "SIGTSTP" "SIGTTIN" "SIGTTOU" "SIGURG"
2251                "SIGUSR1" "SIGUSR2" "SIGVTALRM" "SIGWAITING" "SIGWINCH"
2252                "SIGXCPU" "SIGXFSZ"
2253
2254                ;; errors
2255                "E2BIG" "EADDRINUSE" "EADDRNOTAVAIL" "EAFNOSUPPORT"
2256                "EAGAIN" "EALREADY" "EBADF" "EBUSY" "ECHILD" "ECONNABORTED"
2257                "ECONNREFUSED" "ECONNRESET" "EDEADLK" "EDESTADDRREQ" "EDOM"
2258                "EDQUOT" "EEXIST" "EFAULT" "EFBIG" "EHOSTDOWN"
2259                "EHOSTUNREACH" "EINPROGRESS" "EINTR" "EINVAL" "EIO"
2260                "EISCONN" "EISDIR" "ELOCAL" "ELOOP" "EMFILE" "EMLINK"
2261                "EMSGSIZE" "ENAMETOOLONG" "ENETDOWN" "ENETRESET"
2262                "ENETUNREACH" "ENFILE" "ENOBUFS" "ENODEV" "ENOENT"
2263                "ENOEXEC" "ENOMEM" "ENOPROTOOPT" "ENOSPC" "ENOTBLK"
2264                "ENOTCONN" "ENOTEMPTY" "ENOTSOCK" "ENOTTY" "ENXIO"
2265                "EOPNOTSUPP" "EPERM" "EPFNOSUPPORT" "EPIPE" "EPROCLIM"
2266                "EPROTONOSUPPORT" "EPROTOTYPE" "ERANGE" "EREMOTE"
2267                "ERESTART" "EROFS" "ESHUTDOWN" "ESOCKTNOSUPPORT" "ESPIPE"
2268                "ESRCH" "ESUCCESS" "ETIMEDOUT" "ETOOMANYREFS" "ETXTBSY"
2269                "EUSERS" "EVICEERR" "EVICEOP" "EWOULDBLOCK" "EXDEV"
2270
2271                "FD-ISSET" "FD-SET" "LTCHARS" "UNIX-FAST-SELECT"
2272                "UNIX-FILE-KIND" "UNIX-KILL" "CODESET"
2273                "TCSETPGRP" "FD-ZERO" "FD-CLR" "CHECK" "UNIX-RESOLVE-LINKS"
2274                "FD-SETSIZE" "TCGETPGRP" "UNIX-FAST-GETRUSAGE"
2275                "UNIX-KILLPG"
2276                "TIOCSIGSEND"
2277                "C-IFLAG" "C-LFLAG" "C-OFLAG"
2278                "C-CFLAG" "TCSAFLUSH" "C-CC" "SIOCSPGRP" "TERMIOS"
2279                "O_NDELAY" "O_NOCTTY"
2280                "O_NONBLOCK" "TCSANOW" "TCSADRAIN" "TCIFLUSH" "TCOFLUSH"
2281                "TCIOFLUSH" "TTY-IGNBRK" "TTY-BRKINT" "TTY-IGNPAR" "TTY-PARMRK"
2282                "TTY-INPCK" "TTY-ISTRIP" "TTY-INLCR" "TTY-IGNCR" "TTY-ICRNL"
2283                "TTY-IUCLC" "TTY-IXON" "TTY-IXANY" "TTY-IXOFF" "TTY-IENQAK"
2284                "TTY-IMAXBEL" "TTY-OPOST" "TTY-OLCUC" "TTY-ONLCR" "TTY-OCRNL"
2285                "TTY-ONOCR" "TTY-ONLRET" "TTY-OFILL" "TTY-OFDEL" "TTY-ISIG"
2286                "TTY-ICANON" "TTY-XCASE" "TTY-ECHO" "TTY-ECHOE" "TTY-ECHOK"
2287                "TTY-ECHONL" "TTY-NOFLSH" "TTY-IEXTEN" "TTY-TOSTOP" "TTY-ECHOCTL"
2288                "TTY-ECHOPRT" "TTY-ECHOKE"  "TTY-DEFECHO" "TTY-FLUSHO"
2289                "TTY-PENDIN" "TTY-CSTOPB" "TTY-CREAD" "TTY-PARENB" "TTY-PARODD"
2290                "TTY-HUPCL" "TTY-CLOCAL" "RCV1EN" "XMT1EN" "TTY-LOBLK" "VINTR"
2291                "VQUIT" "VERASE" "VKILL" "VEOF" "VEOL" "VEOL2" "TTY-CBAUD"
2292                "TTY-CSIZE" "TTY-CS5" "TTY-CS6" "TTY-CS7" "TTY-CS8" "VMIN" "VTIME"
2293                "VSUSP" "VSTART" "VSTOP" "VDSUSP"
2294                #!+(or svr4 bsd linux) "O_NDELAY"
2295                #!+(or svr4 linux)
2296                ("EADDRINUSE"
2297                 "EADDRNOTAVAIL" "EADV"
2298                 "EAFNOSUPPORT" "EALREADY" "EBADE" "EBADFD"
2299                 "EBADMSG" "EBADR" "EBADRQC"
2300                 "EBADSLT" "EBFONT" #!+svr4 "ECANCELED"
2301                 "ECHRNG" "ECOMM" "ECONNABORTED"
2302                 "ECONNREFUSED" "ECONNRESET" "EDEADLK"
2303                 "EDEADLOCK" "EDESTADDRREQ" #!+linux "EDOTDOT"
2304                 #!+linux "EDQUOT" "EHOSTDOWN" "EHOSTUNREACH"
2305                 "EIDRM" "EILSEQ" "EINPROGRESS"
2306                 "EISCONN" #!+linux "EISNAM" "EL2HLT"
2307                 "EL2NSYNC" "EL3HLT" "EL3RST" "ELIBACC"
2308                 "ELIBBAD" "ELIBEXEC" "ELIBMAX" "ELIBSCN"
2309                 "ELNRNG" "ELOOP" "EMSGSIZE" "EMULTIHOP"
2310                 "ENAMETOOLONG" #!+linux "ENAVAIL"
2311                 "ENETDOWN" "ENETRESET" "ENETUNREACH" "ENOANO"
2312                 "ENOBUFS" "ENOCSI" "ENODATA" "ENOLCK"
2313                 "ENOLINK" "ENOMSG" "ENONET" "ENOPKG"
2314                 "ENOPROTOOPT" "ENOSR" "ENOSTR" "ENOSYS"
2315                 "ENOTCONN" "ENOTEMPTY" #!+linux "ENOTNAM"
2316                 "ENOTSOCK" #!+svr4 "ENOTSUP" "ENOTUNIQ"
2317                 "EOPNOTSUPP" "EOVERFLOW" "EPFNOSUPPORT"
2318                 "EPROTO" "EPROTONOSUPPORT" "EPROTOTYPE"
2319                 "EREMCHG" "EREMOTE" #!+linux "EREMOTEIO"
2320                 "ERESTART" "ESHUTDOWN" "ESOCKTNOSUPPORT"
2321                 "ESRMNT" "ESTALE" "ESTRPIPE" "ETIME"
2322                 "ETIMEDOUT" "ETOOMANYREFS" #!+linux "EUCLEAN"
2323                 "EUNATCH" "EUSERS" "EWOULDBLOCK" "EXFULL")))
2324
2325    #s(sb-cold:package-data
2326       :name "SB!VM"
2327       :doc
2328       "internal: the default place to hide information about the hardware and data
2329 structure representations"
2330       :use ("CL" "SB!ALIEN" "SB!ALIEN-INTERNALS" "SB!ASSEM" "SB!C"
2331                  "SB!EXT" "SB!FASL" "SB!INT" "SB!KERNEL" "SB!SYS" "SB!UNIX")
2332       :export ("*ASSEMBLY-UNIT-LENGTH*"
2333                "*PRIMITIVE-OBJECTS*"
2334                "AFTER-BREAKPOINT-TRAP"
2335                "*ALLOC-SIGNAL*"
2336                "ANY-REG-SC-NUMBER" "ARRAY-DATA-SLOT" "ARRAY-DIMENSIONS-OFFSET"
2337                "ARRAY-DISPLACED-P-SLOT" "ARRAY-DISPLACEMENT-SLOT"
2338                "ARRAY-ELEMENTS-SLOT" "ARRAY-FILL-POINTER-P-SLOT"
2339                "ARRAY-FILL-POINTER-SLOT" "ATOMIC-FLAG"
2340                "CHARACTER-REG-SC-NUMBER"
2341                "CHARACTER-STACK-SC-NUMBER" "CHARACTER-WIDETAG"
2342                "BIGNUM-DIGITS-OFFSET" "BIGNUM-WIDETAG" "BINDING-SIZE"
2343                "BINDING-SYMBOL-SLOT" "BINDING-VALUE-SLOT" "BREAKPOINT-TRAP"
2344                "N-BYTE-BITS" "BYTE-REG-SC-NUMBER"
2345                "CATCH-BLOCK-CURRENT-CODE-SLOT"
2346                "CATCH-BLOCK-CURRENT-CONT-SLOT" "CATCH-BLOCK-CURRENT-UWP-SLOT"
2347                "CATCH-BLOCK-ENTRY-PC-SLOT" "CATCH-BLOCK-PREVIOUS-CATCH-SLOT"
2348                "CATCH-BLOCK-SC-NUMBER" "CATCH-BLOCK-SIZE" "CATCH-BLOCK-SIZE-SLOT"
2349                "CATCH-BLOCK-TAG-SLOT" "CERROR-TRAP"
2350                "CLOSURE-FUN-SLOT"
2351                "CLOSURE-HEADER-WIDETAG" "CLOSURE-INFO-OFFSET"
2352                "CODE-CODE-SIZE-SLOT" "CODE-CONSTANTS-OFFSET"
2353                "CODE-DEBUG-INFO-SLOT" "CODE-ENTRY-POINTS-SLOT"
2354                "CODE-HEADER-WIDETAG"
2355                "CODE-TRACE-TABLE-OFFSET-SLOT" "COMPLEX-ARRAY-WIDETAG"
2356                "COMPLEX-BIT-VECTOR-WIDETAG" "COMPLEX-DOUBLE-FLOAT-FILLER-SLOT"
2357                "COMPLEX-DOUBLE-FLOAT-IMAG-SLOT" "COMPLEX-DOUBLE-FLOAT-REAL-SLOT"
2358                "COMPLEX-DOUBLE-FLOAT-SIZE" "COMPLEX-DOUBLE-FLOAT-WIDETAG"
2359                "COMPLEX-DOUBLE-REG-SC-NUMBER" "COMPLEX-DOUBLE-STACK-SC-NUMBER"
2360                "COMPLEX-IMAG-SLOT" "COMPLEX-REAL-SLOT"
2361                #!+long-float "COMPLEX-LONG-FLOAT-IMAG-SLOT"
2362                #!+long-float "COMPLEX-LONG-FLOAT-REAL-SLOT"
2363                #!+long-float "COMPLEX-LONG-FLOAT-SIZE"
2364                #!+long-float "COMPLEX-LONG-FLOAT-WIDETAG"
2365                #!+long-float "COMPLEX-LONG-REG-SC-NUMBER"
2366                #!+long-float "COMPLEX-LONG-STACK-SC-NUMBER"
2367                "COMPLEX-SINGLE-FLOAT-IMAG-SLOT" "COMPLEX-SINGLE-FLOAT-REAL-SLOT"
2368                "COMPLEX-SINGLE-FLOAT-SIZE" "COMPLEX-SINGLE-FLOAT-WIDETAG"
2369                "COMPLEX-SINGLE-REG-SC-NUMBER" "COMPLEX-SINGLE-STACK-SC-NUMBER"
2370                "COMPLEX-SIZE" "COMPLEX-BASE-STRING-WIDETAG"
2371                #!+sb-unicode "COMPLEX-CHARACTER-STRING-WIDETAG"
2372                "COMPLEX-WIDETAG"
2373                "COMPLEX-VECTOR-NIL-WIDETAG"
2374                "COMPLEX-VECTOR-WIDETAG" "CONS-CAR-SLOT" "CONS-CDR-SLOT"
2375                "CONS-SIZE" "CONSTANT-SC-NUMBER"
2376                "CONTEXT-FLOATING-POINT-MODES" "CONTEXT-FLOAT-REGISTER"
2377                "CONTEXT-PC" "CONTEXT-REGISTER"
2378                "CONTROL-STACK-SC-NUMBER" "COUNT-NO-OPS"
2379                "*CURRENT-CATCH-BLOCK*"
2380                "CURRENT-FLOAT-TRAP" "DEFINE-FOR-EACH-PRIMITIVE-OBJECT"
2381                "DESCRIPTOR-REG-SC-NUMBER" "DESCRIPTOR-VS-NON-DESCRIPTOR-STORAGE"
2382                "DOUBLE-FLOAT-EXPONENT-BYTE" "DOUBLE-FLOAT-BIAS"
2383                "DOUBLE-FLOAT-DIGITS" "DOUBLE-FLOAT-EXPONENT-BYTE"
2384                "DOUBLE-FLOAT-FILLER-SLOT" "DOUBLE-FLOAT-HIDDEN-BIT"
2385                "DOUBLE-FLOAT-NORMAL-EXPONENT-MAX"
2386                "DOUBLE-FLOAT-NORMAL-EXPONENT-MIN" "DOUBLE-FLOAT-SIGNIFICAND-BYTE"
2387                "DOUBLE-FLOAT-SIZE" "DOUBLE-FLOAT-TRAPPING-NAN-BIT"
2388                "DOUBLE-FLOAT-WIDETAG" "DOUBLE-FLOAT-VALUE-SLOT"
2389                "DOUBLE-INT-CARG-REG-SC-NUMBER" "DOUBLE-REG-SC-NUMBER"
2390                "DOUBLE-STACK-SC-NUMBER"
2391                "ERROR-TRAP" "EVEN-FIXNUM-LOWTAG"
2392                "EXPORTED-STATIC-SYMBOLS"
2393                "FDEFN-FUN-SLOT" "FDEFN-NAME-SLOT" "FDEFN-RAW-ADDR-SLOT"
2394                "FDEFN-SIZE" "FDEFN-WIDETAG" "FIXNUMIZE"
2395                "FIXNUM-TAG-MASK"
2396                "FIXUP-CODE-OBJECT" "FLOAT-DENORMAL-TRAP-BIT"
2397                "FLOAT-DIVIDE-BY-ZERO-TRAP-BIT"
2398                "FLOAT-IMPRECISE-TRAP-BIT" "FLOAT-INVALID-TRAP-BIT"
2399                "FLOAT-OVERFLOW-TRAP-BIT" "FLOAT-SIGN-SHIFT"
2400                "FLOAT-UNDERFLOW-TRAP-BIT" "FLOATING-POINT-MODES"
2401                "FORWARDING-POINTER-TYPE"
2402                "FP-CONSTANT-SC-NUMBER"
2403                "FP-DOUBLE-ZERO-SC-NUMBER" "FP-SINGLE-ZERO-SC-NUMBER"
2404                "FUNCALLABLE-INSTANCE-TRAMPOLINE-SLOT"
2405                "FUNCALLABLE-INSTANCE-HEADER-WIDETAG"
2406                "FUNCALLABLE-INSTANCE-INFO-OFFSET"
2407                "SIMPLE-FUN-ARGLIST-SLOT" "SIMPLE-FUN-CODE-OFFSET"
2408                "FUN-END-BREAKPOINT-TRAP"
2409                "SIMPLE-FUN-HEADER-CODE-OFFSET"
2410                "SIMPLE-FUN-HEADER-NEXT-SLOT"
2411                "SIMPLE-FUN-HEADER-SELF-SLOT"
2412                "SIMPLE-FUN-HEADER-WIDETAG"
2413                "SIMPLE-FUN-HEADER-TYPE-SLOT"
2414                "SIMPLE-FUN-NAME-SLOT"
2415                "SIMPLE-FUN-NEXT-SLOT"
2416                "FUN-POINTER-LOWTAG"
2417                "SIMPLE-FUN-SELF-SLOT"
2418                "SIMPLE-FUN-TYPE-SLOT"
2419                "GENCGC-PAGE-SIZE"
2420                #!+ppc "PSEUDO-ATOMIC-INTERRUPTED-FLAG"
2421                #!+ppc "PSEUDO-ATOMIC-FLAG"
2422                "GENESIS" "HALT-TRAP" "IGNORE-ME-SC-NUMBER"
2423                "IMMEDIATE-CHARACTER-SC-NUMBER" "IMMEDIATE-SAP-SC-NUMBER"
2424                "IMMEDIATE-SC-NUMBER"
2425                "INSTANCE-HEADER-WIDETAG" "INSTANCE-POINTER-LOWTAG"
2426                "INSTANCE-SLOTS-OFFSET" "INSTANCE-USAGE"
2427                "INTERIOR-REG-SC-NUMBER" "INTERNAL-ERROR-ARGS"
2428                "INTERRUPTED-FLAG" "LIST-ALLOCATED-OBJECTS" "LIST-POINTER-LOWTAG"
2429                ;; FIXME: Possibly these other parameters (see
2430                ;; compiler/{x86,sparc}/parms.lisp) should be defined
2431                ;; conditionally on #!+LONG-FLOAT)
2432                "LONG-FLOAT-BIAS" "LONG-FLOAT-DIGITS" "LONG-FLOAT-EXPONENT-BYTE"
2433                "LONG-FLOAT-HIDDEN-BIT" "LONG-FLOAT-NORMAL-EXPONENT-MAX"
2434                "LONG-FLOAT-NORMAL-EXPONENT-MIN" "LONG-FLOAT-SIGNIFICAND-BYTE"
2435                #!+long-float "LONG-FLOAT-SIZE"
2436                "LONG-FLOAT-TRAPPING-NAN-BIT"
2437                #!+long-float "LONG-FLOAT-WIDETAG"
2438                #!+long-float "LONG-FLOAT-VALUE-SLOT"
2439                #!+long-float "LONG-REG-SC-NUMBER"
2440                #!+long-float "LONG-STACK-SC-NUMBER"
2441                "LOWTAG-LIMIT" "LOWTAG-MASK"
2442                "LRA-SAVE-OFFSET"
2443                #!+(and sb-thread sb-lutex) "LUTEX-WIDETAG"
2444                "MEMORY-USAGE" "MOST-POSITIVE-COST"
2445                "N-LOWTAG-BITS"
2446                "N-FIXNUM-TAG-BITS"
2447                "N-POSITIVE-FIXNUM-BITS"
2448                "NEGATIVE-IMMEDIATE-SC-NUMBER"
2449                "NFP-SAVE-OFFSET"
2450                "NON-DESCRIPTOR-REG-SC-NUMBER"
2451                "NULL-SC-NUMBER"
2452                "OBJECT-NOT-LIST-TRAP" "OBJECT-NOT-INSTANCE-TRAP"
2453                "OCFP-SAVE-OFFSET"
2454                "ODD-FIXNUM-LOWTAG"
2455                "OFFSET-STATIC-SYMBOL"
2456                "OTHER-IMMEDIATE-0-LOWTAG"
2457                "OTHER-IMMEDIATE-1-LOWTAG"
2458                ;; FIXME: 32/64-bit issues
2459                "OTHER-IMMEDIATE-2-LOWTAG"
2460                "OTHER-IMMEDIATE-3-LOWTAG"
2461                "OTHER-POINTER-LOWTAG"
2462                "PAD-DATA-BLOCK" "PENDING-INTERRUPT-TRAP"
2463                "PRIMITIVE-OBJECT" "PRIMITIVE-OBJECT-WIDETAG"
2464                "PRIMITIVE-OBJECT-LOWTAG" "PRIMITIVE-OBJECT-NAME"
2465                "PRIMITIVE-OBJECT-OPTIONS" "PRIMITIVE-OBJECT-P"
2466                "PRIMITIVE-OBJECT-SIZE" "PRIMITIVE-OBJECT-SLOTS"
2467                "PRIMITIVE-OBJECT-VARIABLE-LENGTH-P" "PRINT-ALLOCATED-OBJECTS"
2468                "RANDOM-IMMEDIATE-SC-NUMBER" "RATIO-DENOMINATOR-SLOT"
2469                "RATIO-NUMERATOR-SLOT" "RATIO-SIZE" "RATIO-WIDETAG"
2470                "*READ-ONLY-SPACE-FREE-POINTER*"
2471                "REGISTER-SAVE-PENALTY" "RETURN-PC-HEADER-WIDETAG"
2472                "RETURN-PC-RETURN-POINT-OFFSET" "RETURN-PC-SAVE-OFFSET"
2473                "SAETP-CTYPE" "SAETP-INITIAL-ELEMENT-DEFAULT"
2474                "SAETP-N-BITS" "SAETP-TYPECODE" "SAETP-PRIMITIVE-TYPE-NAME"
2475                "SAETP-N-PAD-ELEMENTS" "SAETP-SPECIFIER"
2476                "SAETP-COMPLEX-TYPECODE" "SAETP-IMPORTANCE"
2477                "*SPECIALIZED-ARRAY-ELEMENT-TYPE-PROPERTIES*"
2478                "SANCTIFY-FOR-EXECUTION"
2479                "SAP-POINTER-SLOT" "SAP-REG-SC-NUMBER" "SAP-SIZE"
2480                "SAP-STACK-SC-NUMBER" "SAP-WIDETAG"
2481                "SIGFPE-HANDLER" "SIGNED-REG-SC-NUMBER" "SIGNED-STACK-SC-NUMBER"
2482                "SIGNED-WORD"
2483                "SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT-WIDETAG"
2484                #!+long-float "SIMPLE-ARRAY-COMPLEX-LONG-FLOAT-WIDETAG"
2485                "SIMPLE-ARRAY-COMPLEX-SINGLE-FLOAT-WIDETAG"
2486                "SIMPLE-ARRAY-DOUBLE-FLOAT-WIDETAG"
2487                #!+long-float "SIMPLE-ARRAY-LONG-FLOAT-WIDETAG"
2488                "SIMPLE-ARRAY-NIL-WIDETAG"
2489                "SIMPLE-ARRAY-SINGLE-FLOAT-WIDETAG"
2490                "SIMPLE-ARRAY-WIDETAG"
2491                "SIMPLE-ARRAY-UNSIGNED-BYTE-15-WIDETAG"
2492                "SIMPLE-ARRAY-UNSIGNED-BYTE-16-WIDETAG"
2493                "SIMPLE-ARRAY-UNSIGNED-BYTE-2-WIDETAG"
2494                ;; FIXME: 32/64-bit issues
2495                "SIMPLE-ARRAY-UNSIGNED-BYTE-29-WIDETAG"
2496                "SIMPLE-ARRAY-UNSIGNED-BYTE-31-WIDETAG"
2497                "SIMPLE-ARRAY-UNSIGNED-BYTE-32-WIDETAG"
2498                ;; FIXME: 32/64-bit issues
2499                "SIMPLE-ARRAY-UNSIGNED-BYTE-60-WIDETAG"
2500                "SIMPLE-ARRAY-UNSIGNED-BYTE-63-WIDETAG"
2501                "SIMPLE-ARRAY-UNSIGNED-BYTE-64-WIDETAG"
2502                "SIMPLE-ARRAY-UNSIGNED-BYTE-4-WIDETAG"
2503                "SIMPLE-ARRAY-UNSIGNED-BYTE-7-WIDETAG"
2504                "SIMPLE-ARRAY-UNSIGNED-BYTE-8-WIDETAG"
2505                "SIMPLE-ARRAY-SIGNED-BYTE-16-WIDETAG"
2506                ;; FIXME: 32/64-bit issues
2507                "SIMPLE-ARRAY-SIGNED-BYTE-30-WIDETAG"
2508                "SIMPLE-ARRAY-SIGNED-BYTE-32-WIDETAG"
2509                ;; FIXME: 32/64-bit issues
2510                "SIMPLE-ARRAY-SIGNED-BYTE-61-WIDETAG"
2511                "SIMPLE-ARRAY-SIGNED-BYTE-64-WIDETAG"
2512                "SIMPLE-ARRAY-SIGNED-BYTE-8-WIDETAG"
2513                "SIMPLE-BIT-VECTOR-WIDETAG"
2514                "SIMPLE-BASE-STRING-WIDETAG"
2515                #!+sb-unicode "SIMPLE-CHARACTER-STRING-WIDETAG"
2516                "SIMPLE-VECTOR-WIDETAG" "SINGLE-FLOAT-BIAS"
2517                "SINGLE-FLOAT-DIGITS" "SINGLE-FLOAT-EXPONENT-BYTE"
2518                "SINGLE-FLOAT-HIDDEN-BIT" "SINGLE-FLOAT-NORMAL-EXPONENT-MAX"
2519                "SINGLE-FLOAT-NORMAL-EXPONENT-MIN" "SINGLE-FLOAT-SIGNIFICAND-BYTE"
2520                "SINGLE-FLOAT-SIZE" "SINGLE-FLOAT-TRAPPING-NAN-BIT"
2521                "SINGLE-FLOAT-WIDETAG" "SINGLE-FLOAT-VALUE-SLOT"
2522                "SINGLE-INT-CARG-REG-SC-NUMBER"
2523                "SINGLE-REG-SC-NUMBER" "SINGLE-STACK-SC-NUMBER"
2524                "SINGLE-STEP-AROUND-TRAP"
2525                "SINGLE-STEP-BEFORE-TRAP"
2526                "SINGLE-VALUE-RETURN-BYTE-OFFSET" "SLOT-DOCS"
2527                "SLOT-LENGTH" "SLOT-NAME" "SLOT-OFFSET" "SLOT-OPTIONS"
2528                "SLOT-REST-P" "*STATIC-FUNS*" "STATIC-FUN-OFFSET"
2529                "STATIC-SYMBOL-OFFSET" "STATIC-SYMBOL-P"
2530                "*STATIC-SPACE-FREE-POINTER*" "*STATIC-SYMBOLS*"
2531                "STRUCTURE-USAGE"
2532                "SYMBOL-HASH-SLOT" "SYMBOL-HEADER-WIDETAG" "SYMBOL-NAME-SLOT"
2533                "SYMBOL-PACKAGE-SLOT" "SYMBOL-PLIST-SLOT"
2534                "SYMBOL-SIZE" "SYMBOL-UNUSED-SLOT" "SYMBOL-VALUE-SLOT"
2535                "*BINDING-STACK-START*"
2536                "*CONTROL-STACK-START*" "*CONTROL-STACK-END*"
2537                "CONTROL-STACK-POINTER-VALID-P"
2538                "DYNAMIC-SPACE-START" "DYNAMIC-SPACE-END"
2539                #!+c-stack-is-control-stack "ALTERNATE-SIGNAL-STACK-START"
2540                #!-gencgc "DYNAMIC-0-SPACE-START"
2541                #!-gencgc "DYNAMIC-0-SPACE-END"
2542                #!-gencgc "DYNAMIC-1-SPACE-START"
2543                #!-gencgc "DYNAMIC-1-SPACE-END"
2544                "READ-ONLY-SPACE-START" "READ-ONLY-SPACE-END"
2545                "TARGET-BYTE-ORDER" "TARGET-HEAP-ADDRESS-SPACE"
2546                "STATIC-SPACE-START" "STATIC-SPACE-END"
2547                #!+linkage-table "LINKAGE-TABLE-SPACE-START"
2548                #!+linkage-table "LINKAGE-TABLE-SPACE-END"
2549                #!+linkage-table "LINKAGE-TABLE-ENTRY-SIZE"
2550                "TLS-SIZE"
2551                "TRACE-TABLE-CALL-SITE"
2552                "TRACE-TABLE-FUN-EPILOGUE" "TRACE-TABLE-FUN-PROLOGUE"
2553                "TRACE-TABLE-NORMAL" "N-WIDETAG-BITS" "WIDETAG-MASK"
2554                "UNBOUND-MARKER-WIDETAG"
2555                "NO-TLS-VALUE-MARKER-WIDETAG"
2556                "UNSIGNED-IMMEDIATE-SC-NUMBER"
2557                "UNSIGNED-REG-SC-NUMBER" "UNSIGNED-STACK-SC-NUMBER"
2558                "UNWIND-BLOCK-CURRENT-CODE-SLOT" "UNWIND-BLOCK-CURRENT-CONT-SLOT"
2559                "UNWIND-BLOCK-CURRENT-UWP-SLOT" "UNWIND-BLOCK-ENTRY-PC-SLOT"
2560                "UNWIND-BLOCK-SIZE" "VALUE-CELL-HEADER-WIDETAG" "VALUE-CELL-SIZE"
2561                "VALUE-CELL-VALUE-SLOT" "VECTOR-DATA-OFFSET" "VECTOR-LENGTH-SLOT"
2562                "VECTOR-MUST-REHASH-SUBTYPE" "VECTOR-NORMAL-SUBTYPE"
2563                "VECTOR-VALID-HASHING-SUBTYPE"
2564                "WEAK-POINTER-BROKEN-SLOT" "WEAK-POINTER-NEXT-SLOT"
2565                "WEAK-POINTER-SIZE" "WEAK-POINTER-WIDETAG"
2566                "WEAK-POINTER-VALUE-SLOT"
2567                "WORD" "N-WORD-BITS" "N-WORD-BYTES" "N-MACHINE-WORD-BITS"
2568                "WORD-REG-SC-NUMBER" "WORD-SHIFT"
2569                #!+win32 "CONTEXT-RESTORE-TRAP"
2570                "ZERO-SC-NUMBER"))
2571
2572    #s(sb-cold:package-data
2573       :name "SB!WALKER"
2574       :doc "internal: a code walker used by PCL"
2575       :use ("CL" "SB!INT" "SB!EXT")
2576       :export ("DEFINE-WALKER-TEMPLATE"
2577                "WALK-FORM"
2578                "*WALK-FORM-EXPAND-MACROS-P*"
2579                "VAR-LEXICAL-P" "VAR-SPECIAL-P"
2580                "VAR-GLOBALLY-SPECIAL-P"
2581                "*VAR-DECLARATIONS*" "VAR-DECLARATION"
2582
2583                ;; These were exported from the original PCL version of this
2584                ;; package, but aren't used in SBCL.
2585                ;;"NESTED-WALK-FORM" "MACROEXPAND-ALL"
2586                ))
2587
2588    #!+sb-eval
2589    #s(sb-cold:package-data
2590       :name "SB!EVAL"
2591       :doc "internal: the evaluator implementation used to execute code without compiling it."
2592       :use ("CL" "SB!KERNEL" "SB!EXT")
2593       :reexport ("*EVAL-CALLS*")
2594       :export ("INTERPRETED-FUNCTION"
2595                "INTERPRETED-FUNCTION-P"
2596                "INTERPRETED-FUNCTION-NAME"
2597                "INTERPRETED-FUNCTION-LAMBDA-LIST"
2598                "INTERPRETED-FUNCTION-DOCUMENTATION"
2599                "INTERPRETED-FUNCTION-BODY"
2600                "INTERPRETED-FUNCTION-SOURCE-LOCATION"
2601                "EVAL-IN-ENVIRONMENT"
2602                "MAKE-NULL-ENVIRONMENT"
2603                "EVAL-IN-NATIVE-ENVIRONMENT"
2604                "PREPARE-FOR-COMPILE"
2605                "COUNT-EVAL-CALLS"
2606                "*EVAL-LEVEL*"))
2607
2608    #!+win32
2609    #s(sb-cold:package-data
2610       :name "SB!WIN32"
2611       :doc "private: a wrapper layer for Win32 functions needed by
2612 SBCL itself"
2613       :use ("CL" "SB!ALIEN" "SB!EXT" "SB!INT" "SB!SYS")
2614       :export ("BOOL"
2615                "DWORD" "FD-CLEAR-INPUT" "FD-LISTEN"
2616                "FLUSH-CONSOLE-INPUT-BUFFER" "FORMAT-MESSAGE"
2617                "GET-LAST-ERROR" "GET-OSFHANDLE" "HANDLE"
2618                "HANDLE-CLEAR-INPUT" "HANDLE-LISTEN" "INT-PTR"
2619                "INVALID-HANDLE" "MILLISLEEP" "PEEK-CONSOLE-INPUT"
2620                "PEEK-NAMED-PIPE" "READ-FILE" "WRITE-FILE"
2621                "WITH-PROCESS-TIMES" "GET-VERSION-EX")))