Remove support code for old clone_with_pids interface and update
comments accordingly.

Signed-off-by: Nathan Lynch <[email protected]>
---
 clone_x86_32.c |   64 +------------------------------------------------------
 1 files changed, 2 insertions(+), 62 deletions(-)

diff --git a/clone_x86_32.c b/clone_x86_32.c
index 61b593c..6f1d891 100644
--- a/clone_x86_32.c
+++ b/clone_x86_32.c
@@ -1,5 +1,5 @@
 /*
- *  clone_x86_32.c: support for clone_with_pid() on x86_32
+ *  clone_x86_32.c: support for eclone() on x86_32
  *
  *  Copyright (C) Oren Laadan <[email protected]>
  *
@@ -17,70 +17,10 @@
 #include <asm/unistd.h>
 
 /*
- * libc doesn't support clone_with_pid() yet...
+ * libc doesn't support eclone() yet...
  * below is arch-dependent code to use the syscall
  */
 #include <linux/checkpoint.h>
-#if defined(__NR_clone_with_pids)
-
-/* this really belongs to some kernel header ! */
-struct pid_set {
-       int num_pids;
-       pid_t *pids;
-};
-
-/* (see: http://lkml.indiana.edu/hypermail/linux/kernel/9604.3/0204.html) */
-int clone_with_pids(int (*fn)(void *), void *child_stack, int flags,
-                   struct pid_set *target_pids, void *arg)
-{
-       long retval;
-       void **newstack;
-
-       /*
-        * Set up the stack for child:
-        *  - the (void *) arg will be the argument for the child function
-        *  - the fn pointer will be loaded into ebx after the clone
-        */
-       newstack = (void **) child_stack;
-       *--newstack = arg;
-       *--newstack = fn;
-
-       __asm__  __volatile__(
-                "movl %0, %%ebx\n\t"           /* flags -> 1st (ebx) */
-                "movl %1, %%ecx\n\t"           /* newstack -> 2nd (ecx)*/
-                "xorl %%edi, %%edi\n\t"        /* 0 -> 3rd (edi) */
-                "xorl %%edx, %%edx\n\t"        /* 0 -> 4th (edx) */
-                "pushl %%ebp\n\t"              /* save value of ebp */
-                "movl %2, %%ebp\n\t"           /* flags -> 6th (ebp) */
-               :
-               :"b" (flags),
-                "c" (newstack),
-                "r" (target_pids)
-               );
-
-       __asm__ __volatile__(
-                "int $0x80\n\t"        /* Linux/i386 system call */
-                "testl %0,%0\n\t"      /* check return value */
-                "jne 1f\n\t"           /* jump if parent */
-                "popl %%ebx\n\t"       /* get subthread function */
-                "call *%%ebx\n\t"      /* start subthread function */
-                "movl %2,%0\n\t"
-                "int $0x80\n"          /* exit system call: exit subthread */
-                "1:\n\t"
-                "popl %%ebp\t"         /* restore parent's ebp */
-               :"=a" (retval)
-               :"0" (__NR_clone_with_pids), "i" (__NR_exit)
-               :"ebx", "ecx"
-               );
-
-       if (retval < 0) {
-               errno = -retval;
-               retval = -1;
-       }
-       return retval;
-}
-
-#endif
 
 #include "eclone.h"
 
-- 
1.6.2.5

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to