X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fthread%2Fclone.c;h=be80c8ea4800d58f50526b842d864bb2e2e0804e;hb=e95538fa07d2b460b25ee6c2fef05f820888776d;hp=971bfeed3b29d62a28bf05607dbfe03bb71a3a38;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/thread/clone.c b/src/thread/clone.c index 971bfeed..be80c8ea 100644 --- a/src/thread/clone.c +++ b/src/thread/clone.c @@ -1,26 +1,7 @@ -#if 0 +#include +#include "pthread_impl.h" -int clone(int (*start)(void *), void *stack, int flags, void *arg, - pid_t *ptid, struct user_desc *tls, pid_t *ctid) +int __clone(int (*func)(void *), void *stack, int flags, void *arg, ...) { - int ret; - __asm__( - "andl $-16,%%ecx \n\t" - "xchgl %%ebx,%2 \n\t" - "movl %%ebx,(%%ecx) \n\t" - "int $0x80 \n\t" - "testl %%eax,%%eax \n\t" - "jnz 1f \n\t" - "xorl %%ebp,%%ebp \n\t" - "call *%%ebx \n\t" - "\n1: \n\t" - "xchgl %%ebx,%2 \n\t" - : "=a" (ret) - : "a" (__NR_clone), "m" (flags), "c"(stack), "d"(ptid), - "S" (tls), "D" (ctid) - : "memory" - ); - return __syscall_ret(ret); + return -ENOSYS; } - -#endif