X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tools-for-build%2Fldso-stubs.lisp;h=5e1abdb503831d25974ea493859036fd54735529;hb=127fd3d2fb843c6bb7ad0763e143d81877e760e8;hp=a361f68ae5dc40f7fd4fdf8945d6657a12416871;hpb=b86a07ed47864d2ab3ab83e3227f9df7f63917a8;p=sbcl.git diff --git a/tools-for-build/ldso-stubs.lisp b/tools-for-build/ldso-stubs.lisp index a361f68..5e1abdb 100644 --- a/tools-for-build/ldso-stubs.lisp +++ b/tools-for-build/ldso-stubs.lisp @@ -57,7 +57,7 @@ ldso_stub__~A: ; \\ #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 ; \\ @@ -85,7 +85,7 @@ ldso_stub__ ## fct: ; \\ .L ## fct ## e1: ; \\ .size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ;" -#!+(and linux ppc) " +#!+(and (not darwin) ppc) " #define LDSO_STUBIFY(fct) \\ .globl ldso_stub__ ## fct ; \\ .type ldso_stub__ ## fct,@function ; \\ @@ -117,8 +117,8 @@ ldso_stub__ ## fct ## $lazy_ptr: @\\ #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: ; \\ @@ -130,6 +130,15 @@ L ## fct ## $stub: ; \\ 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 @@ -289,7 +298,7 @@ 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. - #!-(or win32 darwin freebsd) + #!-(or win32 darwin freebsd netbsd) '("ptsname" "grantpt" "unlockpt")