#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 ; \\
.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 ; \\
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
#!+alpha
'("ieee_get_fp_control"
"ieee_set_fp_control")
+ ;; FIXME: After 1.0 this should be made
+ ;; #!-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)
+ '("ptsname"
+ "grantpt"
+ "unlockpt")
#!-darwin
'("dlclose"
"dlerror"