apple
diff --git a/src/libsec/386/md5block.spp b/src/libsec/386/md5block.spp
index b218683..feebf61 100644
--- a/src/libsec/386/md5block.spp
+++ b/src/libsec/386/md5block.spp
@@ -116,8 +116,13 @@
 	.text
 
 	.p2align 2,0x90
+#ifdef __Darwin__
+	.globl __md5block
+	__md5block:
+#else
 	.globl _md5block
 	_md5block:
+#endif
 
 	/* Prelude */
 	pushl %ebp
diff --git a/src/libsec/386/mkfile b/src/libsec/386/mkfile
index 54f0ca7..6f97060 100644
--- a/src/libsec/386/mkfile
+++ b/src/libsec/386/mkfile
@@ -18,7 +18,7 @@
 %.s: %.spp
 	if [ `uname` = OpenBSD ] || [ `uname` = Darwin ]
 	then
-		gcc -xc -E $stem.spp >$stem.s
+		gcc -xc -D__`uname`__ -E $stem.spp >$stem.s
 	else
 		cpp $stem.spp >$stem.s
 	fi
diff --git a/src/libsec/386/sha1block.spp b/src/libsec/386/sha1block.spp
index 2a7eabd..d568e4f 100644
--- a/src/libsec/386/sha1block.spp
+++ b/src/libsec/386/sha1block.spp
@@ -1,8 +1,13 @@
 .text
 
 .p2align 2,0x90
+#ifdef __Darwin__
+.globl __sha1block
+__sha1block:
+#else
 .globl _sha1block
 _sha1block:
+#endif
 
 /* x = (wp[off-f] ^ wp[off-8] ^ wp[off-14] ^ wp[off-16]) <<< 1;
  * wp[off] = x;