#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
;; #!-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)
+ #!-(or win32 darwin freebsd)
'("ptsname"
"grantpt"
"unlockpt")