summaryrefslogtreecommitdiffstats
path: root/sys/lib/libkern/arch/sh
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2019-04-25 21:47:51 +0000
committerderaadt <deraadt@openbsd.org>2019-04-25 21:47:51 +0000
commitb473154e22060a3008dfa99fb077cc8885f89747 (patch)
treec6a625ebdc102ddd74b051ea255405a545192321 /sys/lib/libkern/arch/sh
parentsync (diff)
downloadwireguard-openbsd-b473154e22060a3008dfa99fb077cc8885f89747.tar.xz
wireguard-openbsd-b473154e22060a3008dfa99fb077cc8885f89747.zip
Add movstrSI12_i4 for linking -Os/-Oz kernels. Sadly however it
fails and locks early in boot.
Diffstat (limited to 'sys/lib/libkern/arch/sh')
-rw-r--r--sys/lib/libkern/arch/sh/movstrSI12_i4.S19
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/lib/libkern/arch/sh/movstrSI12_i4.S b/sys/lib/libkern/arch/sh/movstrSI12_i4.S
new file mode 100644
index 00000000000..4d94c07e2b6
--- /dev/null
+++ b/sys/lib/libkern/arch/sh/movstrSI12_i4.S
@@ -0,0 +1,19 @@
+/* $OpenBSD: movstrSI12_i4.S,v 1.1 2019/04/25 21:47:51 deraadt Exp $ */
+
+/*
+ * Public domain
+ * Theo de Raadt
+ */
+
+#include <machine/asm.h>
+
+NENTRY(__movstrSI12_i4)
+ mov.l @r5, r0
+ mov.l @(4, r5), r1
+ mov.l @(8, r5), r2
+ mov.l r0, @r4
+ mov.l r1, @(4, r4)
+ rts
+ mov.l r2, @(8, r4)
+
+STRONG_ALIAS(__movmemSI12_i4, __movstrSI12_i4)