The fifth new page is arch_prctl.2.
Comments welcome.
Andries
[email protected]
-----------------------------------
NAME
arch_prctl - Set architecture specific thread state.
SYNOPSIS
#include <asm/prctl.h>
#include <sys/prctl.h>
int arch_prctl(int code, unsigned long addr)
DESCRIPTION
The arch_prctl function sets architecture specific process
or thread state. code selects a subfunction and passes
argument addr to it.
Sub functions for x86-64 are:
ARCH_SET_FS
Set the 64bit base for the FS register to addr.
ARCH_GET_FS
Return the 64bit base value for the FS register of
the current thread in the unsigned long pointed to
by the address parameter
ARCH_SET_GS
Set the 64bit base for the FS register to addr.
ARCH_GET_GS
Return the 64bit base value for the GS register of
the current thread in the unsigned long pointed to
by the address parameter.
NOTES
arch_prctl is only supported on Linux/x86-64 for 64bit
programs currently.
The 64bit base changes when a new 32bit segment selector
is loaded.
ARCH_SET_GS is disabled in some kernels.
Context switches for 64bit segment bases are rather expen?
sive. It may be a faster alternative to set a 32bit base
using a segment selector by setting up an LDT with mod?
ify_ldt(2) or using the set_thread_area(2) system call in
a 2.5 kernel. arch_prctl is only needed when you want to
set bases that are larger than 4GB. Memory in the first
2GB of address space can be allocated by using mmap(2)
with the MAP_32BIT flag.
No prototype for arch_prctl in glibc 2.2. You have to
declare it yourself for now. This will be fixed in future
glibc versions.
FS may be already used by the threading library.
ERRORS
EINVAL code is not a valid subcommand.
EPERM addr is outside the process address space.
EFAULT addr points to an unmapped address or is outside
the process address space.
AUTHOR
Man page written by Andi Kleen.
CONFORMANCE
arch_prctl is a Linux/x86-64 extension and should not be
used in programs intended to be portable.
SEE ALSO
mmap(2), modify_ldt(2), prctl(2), set_thread_area(2)
AMD X86-64 Programmer's manual
Linux 2.4.20 2003-02-02 ARCH_PRCTL(2)
[email protected] wrote:
> ARCH_SET_FS
> Set the 64bit base for the FS register to addr.
...
> ARCH_SET_GS
> Set the 64bit base for the FS register to addr.
^^
I think that should be GS.
-- Jamie
> I think that should be GS.
Thanks!
man-pages-1.55 is out already - this is the first correction for 1.56.
Andries
[Primary-site: ftp://ftp.win.tue.nl/pub/linux-local/manpages]