X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fldso-stubs.lisp;h=8fa13b026ef5f191b8068855c18510e7d2d04d2f;hb=1f03c7f326823245708a84af86b31ac72bdb1742;hp=45d24256093750ccc302e72b41e6b8deabb9b8c3;hpb=c2ac5ba3964165ee2d21ccd4c6bf8bdc48e1a165;p=sbcl.git diff --git a/tools-for-build/ldso-stubs.lisp b/tools-for-build/ldso-stubs.lisp index 45d2425..8fa13b0 100644 --- a/tools-for-build/ldso-stubs.lisp +++ b/tools-for-build/ldso-stubs.lisp @@ -22,16 +22,16 @@ ;;;; files for more information. #!-sparc -(defun ldso-stubify (fct str) - (format str "LDSO_STUBIFY(~A)~%" fct)) +(defun ldso-stubify (fct stream) + (format stream "LDSO_STUBIFY(~A)~%" fct)) ;;; This is an attempt to follow DB's hint of sbcl-devel ;;; 2001-09-18. -- CSR ;;; ;;; And an attempt to work around the Sun toolchain... --ns #!+sparc -(defun ldso-stubify (fct str) - (apply #'format str " +(defun ldso-stubify (fct stream) + (apply #'format stream " .globl ldso_stub__~A ; \\ FUNCDEF(ldso_stub__~A) ; \\ ldso_stub__~A: ; \\ @@ -42,6 +42,18 @@ ldso_stub__~A: ; \\ .size ldso_stub__~A,.L~Ae1-ldso_stub__~A ;~%" (make-list 9 :initial-element fct))) +#!+hppa +(defun ldso-stubify (fct stream) + (let ((stub (format nil "ldso_stub__~a" fct))) + (apply #'format stream (list +" .export ~A +~A: + .proc + .callinfo + b,n ~a + .procend + .import ~a,code~%" stub stub fct fct)))) + (defvar *preludes* '(" /* This is an automatically generated file, please do not hand-edit it. * See the program tools-for-build/ldso-stubs.lisp. */ @@ -85,6 +97,10 @@ ldso_stub__ ## fct: ; \\ .L ## fct ## e1: ; \\ .size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ;" +#!+hppa " + .level 2.0 + .text" + #!+(and (not darwin) ppc) " #define LDSO_STUBIFY(fct) \\ .globl ldso_stub__ ## fct ; \\ @@ -271,7 +287,7 @@ ldso_stub__ ## fct: ; \\ "tcsetattr" "truncate" "ttyname" - "tzname" + #!-hpux "tzname" "unlink" "utimes" "wait3" @@ -310,6 +326,8 @@ ldso_stub__ ## fct: ; \\ "dlerror" "dlopen" "dlsym") + #!+bsd + '("sysctl") #!+os-provides-dladdr '("dladdr") #!-sunos ;; !defined(SVR4)