projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.28.8: micro-optimize OUCH-READ-BUFFER
[sbcl.git]
/
tools-for-build
/
ldso-stubs.lisp
diff --git
a/tools-for-build/ldso-stubs.lisp
b/tools-for-build/ldso-stubs.lisp
index
a361f68
..
09b4574
100644
(file)
--- a/
tools-for-build/ldso-stubs.lisp
+++ b/
tools-for-build/ldso-stubs.lisp
@@
-22,16
+22,16
@@
;;;; files for more information.
#!-sparc
;;;; 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
;;; 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: ; \\
.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)))
.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. */
(defvar *preludes* '("
/* This is an automatically generated file, please do not hand-edit it.
* See the program tools-for-build/ldso-stubs.lisp. */
@@
-57,7
+69,7
@@
ldso_stub__~A: ; \\
#endif
.text"
#endif
.text"
-#!+(or (and x86 (not darwin)) x86-64) "
+#!+(and (or x86 x86-64) (not darwin)) "
#define LDSO_STUBIFY(fct) \\
.align 16 ; \\
.globl ldso_stub__ ## fct ; \\
#define LDSO_STUBIFY(fct) \\
.align 16 ; \\
.globl ldso_stub__ ## fct ; \\
@@
-85,7
+97,11
@@
ldso_stub__ ## fct: ; \\
.L ## fct ## e1: ; \\
.size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ;"
.L ## fct ## e1: ; \\
.size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ;"
-#!+(and linux ppc) "
+#!+hppa "
+ .level 2.0
+ .text"
+
+#!+(and (not darwin) ppc) "
#define LDSO_STUBIFY(fct) \\
.globl ldso_stub__ ## fct ; \\
.type ldso_stub__ ## fct,@function ; \\
#define LDSO_STUBIFY(fct) \\
.globl ldso_stub__ ## fct ; \\
.type ldso_stub__ ## fct,@function ; \\
@@
-97,8
+113,8
@@
ldso_stub__ ## fct: ; \\
#!+(and darwin ppc) "
#define LDSO_STUBIFY(fct) @\\
.text @\\
#!+(and darwin ppc) "
#define LDSO_STUBIFY(fct) @\\
.text @\\
-.globl ldso_stub___ ## fct @\\
-ldso_stub___ ## fct: @\\
+.globl _ldso_stub___ ## fct @\\
+_ldso_stub___ ## fct: @\\
b ldso_stub__ ## fct ## stub @\\
.symbol_stub ldso_stub__ ## fct ## stub: @\\
.indirect_symbol _ ## fct @\\
b ldso_stub__ ## fct ## stub @\\
.symbol_stub ldso_stub__ ## fct ## stub: @\\
.indirect_symbol _ ## fct @\\
@@
-117,8
+133,8
@@
ldso_stub__ ## fct ## $lazy_ptr: @\\
#define LDSO_STUBIFY(fct) \\
.text ; \\
.align 4 ; \\
#define LDSO_STUBIFY(fct) \\
.text ; \\
.align 4 ; \\
-.globl ldso_stub___ ## fct ; \\
-ldso_stub___ ## fct: ; \\
+.globl _ldso_stub___ ## fct ; \\
+_ldso_stub___ ## fct: ; \\
jmp L ## fct ## $stub ; \\
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5 ; \\
L ## fct ## $stub: ; \\
jmp L ## fct ## $stub ; \\
.section __IMPORT,__jump_table,symbol_stubs,self_modifying_code+pure_instructions,5 ; \\
L ## fct ## $stub: ; \\
@@
-130,6
+146,15
@@
L ## fct ## $stub: ; \\
hlt ; \\
.subsections_via_symbols ; "
hlt ; \\
.subsections_via_symbols ; "
+;;; darwin x86-64
+#!+(and darwin x86-64) "
+#define LDSO_STUBIFY(fct) \\
+ .align 4 ; \\
+.globl _ldso_stub___ ## fct ; \\
+_ldso_stub___ ## fct: ; \\
+ jmp _ ## fct ; \\
+.L ## fct ## e1: ; "
+
;;; KLUDGE: set up the vital fifth argument, passed on the
;;; stack. Do this unconditionally, even if the stub is for a
;;; function with few arguments: it can't hurt. We only do this for
;;; KLUDGE: set up the vital fifth argument, passed on the
;;; stack. Do this unconditionally, even if the stub is for a
;;; function with few arguments: it can't hurt. We only do this for
@@
-237,6
+262,7
@@
ldso_stub__ ## fct: ; \\
"read"
"readdir"
"readlink"
"read"
"readdir"
"readlink"
+ "realpath"
"recv"
"rename"
"rmdir"
"recv"
"rename"
"rmdir"
@@
-261,7
+287,7
@@
ldso_stub__ ## fct: ; \\
"tcsetattr"
"truncate"
"ttyname"
"tcsetattr"
"truncate"
"ttyname"
- "tzname"
+ #!-hpux "tzname"
"unlink"
"utimes"
"wait3"
"unlink"
"utimes"
"wait3"
@@
-289,10
+315,12
@@
ldso_stub__ ## fct: ; \\
;; #!-linkage-table, as we only need these stubs if
;; we don't have linkage-table. Done this way now to
;; cut down on the number of ports affected.
;; #!-linkage-table, as we only need these stubs if
;; we don't have linkage-table. Done this way now to
;; cut down on the number of ports affected.
- #!-(or win32 darwin freebsd)
+ #!-(or win32 darwin freebsd netbsd openbsd)
'("ptsname"
"grantpt"
"unlockpt")
'("ptsname"
"grantpt"
"unlockpt")
+ #!+openbsd
+ '("openpty")
#!-darwin
'("dlclose"
"dlerror"
#!-darwin
'("dlclose"
"dlerror"