/* * Copyright (C) 2000-2006 Erik Andersen * * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */ #include #ifndef __NR_vfork #define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */ #endif .text .align 2 .globl __vfork .hidden __vfork .type __vfork,@function __vfork: /* Pop the return PC value into A0. */ movel %sp@+, %a0 /* Stuff the syscall number in D0 and trap into the kernel. */ movel #SYS_ify (vfork), %d0 trap #0 tstl %d0 jmi .Lerror /* Branch forward if it failed. */ /* Jump to the return PC. */ jmp %a0@ .Lerror: /* Push back the return PC. */ movel %a0,%sp@- .size __vfork,.-__vfork weak_alias(__vfork,vfork) libc_hidden_def(vfork)