summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/powerpc/vfork.S
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-08-18 23:43:36 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-08-18 23:43:36 +0000
commit1a8265e2cf9482397a03011318419c5c724cac6a (patch)
treefaf99c2d8ced2e735098823c3d1fee0f7d9f31e9 /libc/sysdeps/linux/powerpc/vfork.S
parent0f54711c88b2fdf2cab562adb77d4f82e4c4c1e3 (diff)
downloaduClibc-alpine-1a8265e2cf9482397a03011318419c5c724cac6a.tar.bz2
uClibc-alpine-1a8265e2cf9482397a03011318419c5c724cac6a.tar.xz
Sync with trunk.
Diffstat (limited to 'libc/sysdeps/linux/powerpc/vfork.S')
-rw-r--r--libc/sysdeps/linux/powerpc/vfork.S23
1 files changed, 23 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/powerpc/vfork.S b/libc/sysdeps/linux/powerpc/vfork.S
new file mode 100644
index 000000000..67d8aaeac
--- /dev/null
+++ b/libc/sysdeps/linux/powerpc/vfork.S
@@ -0,0 +1,23 @@
+#include <sys/syscall.h>
+
+#ifndef __NR_vfork
+
+/* No vfork so use fork instead */
+.weak vfork ; vfork = __libc_fork
+
+#else
+
+.text
+.global __vfork
+.type __vfork,@function
+.type __syscall_error,@function
+
+__vfork:
+ li 0, __NR_vfork
+ sc
+ bnslr+
+ b __syscall_error
+.size __vfork,.-__vfork
+
+.weak vfork ; vfork = __vfork
+#endif