X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fforeign.lisp;h=4bf5d7ca69de6ba8c18ab2365973bf0916a672d2;hb=28d9bb7a509695caaf78d647b6aa1b0f02c0e83a;hp=f854494ef44333c0d97f030ab4a438d1f2ffe6c6;hpb=6139c89c89f45c03509e4f3156293ff656716a8c;p=sbcl.git diff --git a/src/code/foreign.lisp b/src/code/foreign.lisp index f854494..4bf5d7c 100644 --- a/src/code/foreign.lisp +++ b/src/code/foreign.lisp @@ -10,7 +10,7 @@ ;;;; provided with absolutely no warranty. See the COPYING and CREDITS ;;;; files for more information. -(in-package "SB-SYS") ; (SB-SYS, not SB!SYS, since we're built in warm load.) +(in-package "SB-ALIEN") ; (SB-ALIEN, not SB!ALIEN, since we're in warm load.) (defun pick-temporary-file-name (&optional ;; KLUDGE: There are various security @@ -54,7 +54,7 @@ ;;; placeholder implementation is overwritten by a subsequent real ;;; implementation.) ;;; -;;; You may want to use sb-sys:foreign-symbol-address instead of +;;; You may want to use SB-SYS:FOREIGN-SYMBOL-ADDRESS instead of ;;; calling this directly; see code/target-load.lisp. (defun get-dynamic-foreign-symbol-address (symbol) (declare (type simple-string symbol) (ignore symbol)) @@ -63,6 +63,14 @@ ;;; dlsym()-based implementation of GET-DYNAMIC-FOREIGN-SYMBOL-ADDRESS ;;; and functions (e.g. LOAD-FOREIGN) which affect it. This should ;;; work on any ELF system with dlopen(3) and dlsym(3) +#-(or linux FreeBSD) +(macrolet ((define-unsupported-fun (fun-name) + `(defun ,fun-name (&rest rest) + "unsupported on this system" + (declare (ignore rest)) + (error 'unsupported-operator :name ',fun-name)))) + (define-unsupported-fun load-1-foreign) + (define-unsupported-fun load-foreign)) #+(or linux FreeBSD) (progn