diff mbox series

x86_64/clone.S: Upate comments

Message ID 20210220160406.318856-1-hjl.tools@gmail.com
State Committed
Commit ebbb8c9f64c3486603ef4ccee4dd2a5574e41039
Headers show
Series x86_64/clone.S: Upate comments | expand

Commit Message

H.J. Lu Feb. 20, 2021, 4:04 p.m. UTC
---
 sysdeps/unix/sysv/linux/x86_64/clone.S | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

Florian Weimer Feb. 22, 2021, 8:36 a.m. UTC | #1
* H. J. Lu via Libc-alpha:

>     The parameters are passed in register and on the stack from userland:
>     rdi: fn
>     rsi: child_stack
>     rdx:	flags
>     rcx: arg
> +    r8:	TID field in parent
> +    r9: thread pointer
> +%rsp+8:	TID field in child

I don't get the pattern of the column alignment here, but the patch is
an improvement, so please push it.

Thanks,
Florian
diff mbox series

Patch

diff --git a/sysdeps/unix/sysv/linux/x86_64/clone.S b/sysdeps/unix/sysv/linux/x86_64/clone.S
index 51638d897b..31ac12da0c 100644
--- a/sysdeps/unix/sysv/linux/x86_64/clone.S
+++ b/sysdeps/unix/sysv/linux/x86_64/clone.S
@@ -24,18 +24,20 @@ 
 #include <asm-syntax.h>
 
 /* The userland implementation is:
-   int clone (int (*fn)(void *arg), void *child_stack, int flags, void *arg),
+   int clone (int (*fn)(void *arg), void *child_stack, int flags,
+	      void *arg, pid_t *parent_tid, void *tls, pid_t *child_tid);
    the kernel entry is:
-   int clone (long flags, void *child_stack).
+   int clone (long flags, void *child_stack, pid_t *parent_tid,
+	      pid_t *child_tid, void *tls);
 
    The parameters are passed in register and on the stack from userland:
    rdi: fn
    rsi: child_stack
    rdx:	flags
    rcx: arg
-   r8d:	TID field in parent
-   r9d: thread pointer
-%esp+8:	TID field in child
+    r8:	TID field in parent
+    r9: thread pointer
+%rsp+8:	TID field in child
 
    The kernel expects:
    rax: system call number
@@ -60,7 +62,7 @@  ENTRY (__clone)
 	movq	%rcx,8(%rsi)
 
 	/* Save the function pointer.  It will be popped off in the
-	   child in the ebx frobbing below.  */
+	   child.  */
 	movq	%rdi,0(%rsi)
 
 	/* Do the system call.  */