X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-load.lisp;h=87403bacf01aa019e0bc4c4a21bb07d10c0e52fc;hb=771b864c8f32af7734bc0550aeaf1539fc4df194;hp=c16eaba288e51a664fc9589c4c6524268b49777f;hpb=4bc6b918bb99e8dcd17bbe6479a06e52b2d04a6c;p=sbcl.git diff --git a/src/code/target-load.lisp b/src/code/target-load.lisp index c16eaba..87403ba 100644 --- a/src/code/target-load.lisp +++ b/src/code/target-load.lisp @@ -126,7 +126,7 @@ (> (file-write-date src-tn) (file-write-date obj-tn))) (restart-case (error "The object file ~A is~@ - older than the presumed source:~% ~A." + older than the presumed source:~% ~A." (namestring obj-tn) (namestring src-tn)) ;; FIXME: In CMU CL one of these was a CONTINUE case. @@ -283,33 +283,10 @@ ;;;; linkage fixups -;;; how we learn about assembler routines and foreign symbols at startup +;;; how we learn about assembler routines at startup (defvar *!initial-assembler-routines*) -(defvar *!initial-foreign-symbols*) + (defun !loader-cold-init () + (/show0 "/!loader-cold-init") (dolist (routine *!initial-assembler-routines*) - (setf (gethash (car routine) *assembler-routines*) (cdr routine))) - (dolist (symbol *!initial-foreign-symbols*) - (setf (gethash (car symbol) *static-foreign-symbols*) (cdr symbol)))) - -(declaim (ftype (function (string) (unsigned-byte #.sb!vm:n-machine-word-bits)) - foreign-symbol-address-as-integer)) - - -;;; SB!SYS:GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS is in foreign.lisp, on -;;; platforms that have dynamic loading -(defun foreign-symbol-address-as-integer-or-nil (foreign-symbol) - (or (find-foreign-symbol-in-table foreign-symbol *static-foreign-symbols*) - (sb!sys:get-dynamic-foreign-symbol-address foreign-symbol))) - -(defun foreign-symbol-address-as-integer (foreign-symbol) - (or (foreign-symbol-address-as-integer-or-nil foreign-symbol) - (error "unknown foreign symbol: ~S" foreign-symbol))) - -(defun foreign-symbol-address (symbol) - (int-sap (foreign-symbol-address-as-integer - (sb!vm:extern-alien-name symbol)))) - -;;; Overridden in foreign.lisp once we're running on target -(defun foreign-symbol-in-address (sap) - (declare (ignore sap))) + (setf (gethash (car routine) *assembler-routines*) (cdr routine))))