vfork.S 477 B

12345678910111213141516171819202122232425262728293031323334
  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. hidden_strong_alias(__fork,__vfork)
  10. weak_alias(vfork,__libc_fork)
  11. #else
  12. .text
  13. .global __vfork
  14. .hidden __vfork
  15. .type __vfork,%function
  16. .align 1<<4
  17. __vfork:
  18. popl %ecx
  19. movl $__NR_vfork,%eax
  20. int $0x80
  21. pushl %ecx
  22. cmpl $-4095,%eax
  23. jae __syscall_error
  24. ret
  25. .size __vfork,.-__vfork
  26. #endif
  27. strong_alias(__vfork,vfork)