vfork.S 437 B

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