+#!+linkage-table
+(defknown foreign-symbol-dataref-sap (simple-string)
+ system-area-pointer
+ (movable flushable))
+
+(defknown foreign-symbol-sap (simple-string &optional boolean)
+ system-area-pointer
+ (movable flushable))
+
+(defknown foreign-symbol-address (simple-string &optional boolean)
+ (values integer boolean)
+ (movable flushable))
+
+;;;; miscellaneous internal utilities
+
+(defknown %fun-name (function) t (flushable))
+(defknown (setf %fun-name) (t function) t ())
+
+(defknown policy-quality (policy symbol) policy-quality
+ (flushable))
+
+(defknown compiler-error (t &rest t) nil ())
+(defknown (compiler-warn compiler-style-warn) (t &rest t) (values) ())
+(defknown (compiler-notify maybe-compiler-notify) ((or string symbol) &rest t)
+ (values)
+ ())
+(defknown style-warn (t &rest t) null ())
+
+(defknown coerce-to-condition ((or condition symbol string function)
+ list type-specifier symbol)
+ condition
+ (explicit-check))
+
+(defknown sc-number-or-lose (symbol) sc-number
+ (foldable))
+
+;;;; memory barriers
+
+(defknown sb!vm:%compiler-barrier () (values) ())
+(defknown sb!vm:%memory-barrier () (values) ())
+(defknown sb!vm:%read-barrier () (values) ())
+(defknown sb!vm:%write-barrier () (values) ())
+(defknown sb!vm:%data-dependency-barrier () (values) ())
+
+#!+sb-safepoint
+;;; Note: This known function does not have an out-of-line definition;
+;;; and if such a definition were needed, it would not need to "call"
+;;; itself inline, but could be a no-op, because the compiler inserts a
+;;; use of the VOP in the function prologue anyway.
+(defknown sb!kernel::gc-safepoint () (values) ())
+
+;;;; atomic ops
+(defknown %compare-and-swap-svref (simple-vector index t t) t
+ ())
+(defknown %compare-and-swap-instance-ref (instance index t t) t
+ ())
+(defknown %compare-and-swap-symbol-value (symbol t t) t
+ (unwind))
+(defknown spin-loop-hint () (values)
+ (always-translatable))