vfork.S 569 B

1234567891011121314151617181920212223242526272829303132
  1. /*
  2. * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
  3. *
  4. * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
  5. */
  6. #include <features.h>
  7. #include <sys/syscall.h>
  8. #ifndef __NR_vfork
  9. /* No vfork so use fork instead */
  10. strong_alias(fork,__libc_fork)
  11. hidden_strong_alias(__libc_fork,__vfork)
  12. #else
  13. .text
  14. .global __vfork
  15. .hidden __vfork
  16. .type __vfork,@function
  17. .type __syscall_error,@function
  18. __vfork:
  19. li 0, __NR_vfork
  20. sc
  21. bnslr+
  22. b __syscall_error
  23. .size __vfork,.-__vfork
  24. #endif
  25. weak_alias(__vfork,vfork)
  26. libc_hidden_def(vfork)