aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2021-05-10 19:55:32 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2021-05-11 17:28:45 +1200
commit57d2facb7875b02b0b4d0bd1b5104ba14e1d378c (patch)
treeb8111977f71a048a0515975e9b3905af7593fcc2
parent0eefb56c953cfd23aea4a51da27f10f22c093461 (diff)
downloadman-pages-57d2facb7875b02b0b4d0bd1b5104ba14e1d378c.tar.gz
modify_ldt.2: Use syscall(SYS_...); for system calls without a wrapper
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man2/modify_ldt.215
1 files changed, 10 insertions, 5 deletions
diff --git a/man2/modify_ldt.2 b/man2/modify_ldt.2
index 8ce9ed2526..b67a676906 100644
--- a/man2/modify_ldt.2
+++ b/man2/modify_ldt.2
@@ -27,11 +27,19 @@
modify_ldt \- get or set a per-process LDT entry
.SH SYNOPSIS
.nf
-.BI "int modify_ldt(int " func ", void *" ptr ", unsigned long " bytecount );
+.BR "#include <asm/ldt.h>" " /* Definition of " "struct user_desc" " */"
+.BR "#include <sys/syscall.h>" " /* Definition of " SYS_* " constants */"
+.B #include <unistd.h>
+.PP
+.BI "int syscall(SYS_modify_ldt, int " func ", void *" ptr ,
+.BI " unsigned long " bytecount );
.fi
.PP
.IR Note :
-There is no glibc wrapper for this system call; see NOTES.
+glibc provides no wrapper for
+.BR modify_ldt (),
+necessitating the use of
+.BR syscall (2).
.SH DESCRIPTION
.BR modify_ldt ()
reads or writes the local descriptor table (LDT) for a process.
@@ -168,9 +176,6 @@ is neither 0, 1, 2, nor 0x11.
This call is Linux-specific and should not be used in programs intended
to be portable.
.SH NOTES
-Glibc does not provide a wrapper for this system call; call it using
-.BR syscall (2).
-.PP
.BR modify_ldt ()
should not be used for thread-local storage, as it slows down context
switches and only supports a limited number of threads.