[PATCH] IA64 extra clone2 flags

Jakub Jelinek jakub@redhat.com
Mon Mar 3 21:17:00 GMT 2003


On Mon, Mar 03, 2003 at 11:56:11AM +1100, Ian Wienand wrote:
> 2003-03-03  Ian Wienand  <ianw@gelato.unsw.edu.au>
>                                                                                                               
>        * sysdeps/unix/sysv/linux/ia64/clone2.S: update to take extra clone flags
>        * include/sched.h: update clone2 prototype
> 
> --- sysdeps/unix/sysv/linux/ia64/clone2.S       2001-07-06 14:56:17.000000000 +1000
> +++ /home/ianw/libc/sysdeps/unix/sysv/linux/ia64/clone2.S       2003-03-03 11:31:27.000000000 +1100
> @@ -21,11 +21,12 @@
>  #include <asm/errno.h>
>   
>   
> -/* int  __clone2(int (*fn) (void *arg), void *child_stack_base,        
> -/*              size_t child_stack_size, int flags, void *arg) */
> +/* int  __clone2(int (*fn) (void *arg), void *child_stack_base,
> +       	 size_t child_stack_size, int flags, void *arg,
> +                pid_t *child_tid, pid_t *parent_tid, 
> +		 struct user_desc *tls) */

This argument certainly is not struct user_desc *, it is void *,
actual thread pointer value.

> --- include/sched.h     2002-08-15 22:52:24.000000000 +1000
> +++ /home/ianw/libc/include/sched.h     2003-02-20 14:55:26.000000000 +1100
> @@ -17,6 +17,11 @@
>  /* These are Linux specific.  */
>  extern int __clone (int (*__fn) (void *__arg), void *__child_stack,
>                     int __flags, void *__arg, ...);
> -extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
> -                    size_t __child_stack_size, int __flags, void *__arg);
> +
> +struct user_desc;
> +extern int  __clone2(int (*__fn) (void *__arg), void *__child_stack_base,
> +size_t __child_stack_size, int __flags, void *__arg, __pid_t *__child_tid,
> +__pid_t *__parent_tid, struct user_desc *__tls);

Ditto. Shouldn't the __clone2 prototype be using ... as well instead?

	Jakub



More information about the Libc-alpha mailing list