message
[sbcl.git] / src / compiler / generic / core.lisp
index 7e03a24..890263e 100644 (file)
                         (error "undefined assembler routine: ~S" name)))
                    (:foreign
                     (aver (stringp name))
-                    (or (foreign-symbol-address-as-integer name)
-                        (error "unknown foreign symbol: ~S" name)))
-                   #!+x86
+                    ;; FOREIGN-SYMBOL-ADDRESS-AS-INTEGER signals an error
+                    ;; if the symbol isn't found.
+                    (foreign-symbol-address-as-integer name))
+                   #!+linkage-table
+                   (:foreign-dataref
+                    (aver (stringp name))
+                    (foreign-symbol-address-as-integer name t))
+                   #!+(or x86 x86-64)
                    (:code-object
                     (aver (null name))
                     (values (get-lisp-obj-address code) t)))))