[RFC v3 06/17] clone.2: Use syscall(SYS_...); for system calls without a wrapper

From: Alejandro Colomar
Date: Sat Mar 13 2021 - 14:28:19 EST


Signed-off-by: Alejandro Colomar <alx.manpages@xxxxxxxxx>
---
man2/clone.2 | 16 +++++-----------
1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/man2/clone.2 b/man2/clone.2
index 11eb6c622..2f5ecac42 100644
--- a/man2/clone.2
+++ b/man2/clone.2
@@ -56,13 +56,12 @@ clone, __clone2, clone3 \- create a child process
.PP
/* For the prototype of the raw clone() system call, see NOTES */
.PP
-.BI "long clone3(struct clone_args *" cl_args ", size_t " size );
-.fi
+.BR "#include <linux/sched.h>" " /* Definition of " "struct clone_args" " */"
+.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
+.B #include <unistd.h>
.PP
-.IR Note :
-There is no glibc wrapper for
-.BR clone3 ();
-see NOTES.
+.BI "long syscall(SYS_clone3, struct clone_args *" cl_args ", size_t " size );
+.fi
.SH DESCRIPTION
These system calls
create a new ("child") process, in a manner similar to
@@ -1541,11 +1540,6 @@ One use of these systems calls
is to implement threads: multiple flows of control in a program that
run concurrently in a shared address space.
.PP
-Glibc does not provide a wrapper for
-.BR clone3 ();
-call it using
-.BR syscall (2).
-.PP
Note that the glibc
.BR clone ()
wrapper function makes some changes
--
2.30.2