X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fload.lisp;h=e0ea324f294e3e06370a5e85cb23d11da7291a1c;hb=fbe6e22af842835f7c70309f4d48064ca3984ad0;hp=de45d7501096d56aa1a8971b8afe161f66d32c77;hpb=aa2dc9529460ea0d9c99998dc87283fc1a43e808;p=sbcl.git diff --git a/src/code/load.lisp b/src/code/load.lisp index de45d75..e0ea324 100644 --- a/src/code/load.lisp +++ b/src/code/load.lisp @@ -358,6 +358,20 @@ (fill *fop-stack* nil :end *fop-stack-pointer-on-entry*) (fill *current-fop-table* nil))) t) + +;;; This is used in in target-load and also genesis, using +;;; *COLD-FOREIGN-SYMBOL-TABLE*. All the speculative prefix-adding +;;; code for foreign symbol lookup should be here. +(defun find-foreign-symbol-in-table (name table) + (let ((prefixes + #!+(or linux freebsd) #("" "ldso_stub__") + #!+openbsd #("" "_"))) + (some (lambda (prefix) + (gethash (concatenate 'string prefix name) + table + nil)) + prefixes))) + ;;;; stuff for debugging/tuning by collecting statistics on FOPs (?)