summaryrefslogtreecommitdiff
path: root/src/process
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2015-06-11 05:01:04 +0000
committerRich Felker <dalias@aerifal.cx>2015-06-11 05:01:04 +0000
commitec634aad91f57479ef17525e33ed446c780a61f4 (patch)
treeef6756b37ed41b40d7e6152a3426c7c5a3590b49 /src/process
parentc30cbcb0a646b1f13a22c645616dce624465b883 (diff)
downloadmusl-ec634aad91f57479ef17525e33ed446c780a61f4.tar.gz
add sh asm for vfork
Diffstat (limited to 'src/process')
-rw-r--r--src/process/sh/vfork.s23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/process/sh/vfork.s b/src/process/sh/vfork.s
new file mode 100644
index 00000000..30e17317
--- /dev/null
+++ b/src/process/sh/vfork.s
@@ -0,0 +1,23 @@
+.global __vfork
+.weak vfork
+.type __vfork,@function
+.type vfork,@function
+__vfork:
+vfork:
+ mov #95, r3
+ add r3, r3
+
+ trapa #16
+ or r0, r0
+ or r0, r0
+ or r0, r0
+ or r0, r0
+ or r0, r0
+
+ mov r0, r4
+ mov.l 1f, r0
+2: braf r0
+ nop
+ .align 2
+ .hidden __syscall_ret
+1: .long __syscall_ret@PLT-(2b+4-.)