vfork.S 411 B

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * June 3, 2003 Erik Andersen
  3. *
  4. */
  5. #include <sys/syscall.h>
  6. #ifndef __NR_vfork
  7. /* No vfork so use fork instead */
  8. .weak vfork ; vfork = __libc_fork
  9. #else
  10. .text
  11. .global __vfork
  12. .type __vfork,%function
  13. .align 1<<4
  14. __vfork:
  15. popl %ecx
  16. movl $__NR_vfork,%eax
  17. int $0x80
  18. pushl %ecx
  19. cmpl $-4095,%eax
  20. jae __syscall_error
  21. ret
  22. .size __vfork,.-__vfork
  23. .weak vfork ; vfork = __vfork
  24. #endif