Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       arch_prctl - Définir l'état spécifique à l'architecture

SYNOPSIS

       #include <asm/prctl.h>
       #include <sys/prctl.h>

       int arch_prctl(int code, unsigned long addr);
       int arch_prctl(int code, unsigned long *addr);

DESCRIPTION

       La  fonction  arch_prctl()  défini l'état spécifique à l'architecture pour le thread ou le
       processus. code sélectionne une sous‐fonction et lui  passe  l'argument  addr ;  addr  est
       interprété  comme  un  unsigned  long  pour  les  opérations « set », ou comme un unsigned
       long *, pour les opérations « get ».

       Les sous‐fonctions pour l'architecture x86-64 sont :

       ARCH_SET_FS
              Remplit la base 64 bits pour le registre FS avec addr.

       ARCH_GET_FS
              Renvoie la base 64 bits pour le registre FS du thread en  cours  dans  la  variable
              unsigned long pointée par addr.

       ARCH_SET_GS
              Remplit la base 64 bits pour le registre GS avec addr.

       ARCH_GET_GS
              Renvoie  la  base  64 bits  pour le registre GS du thread en cours dans la variable
              unsigned long pointée par addr.

VALEUR RENVOYÉE

       S'il réussit, arch_prctl() renvoie zéro. En cas d'erreur, il renvoie -1 et  remplit  errno
       avec la valeur d'erreur.

ERREURS

       EFAULT addr pointe vers une adresse non affectée ou est en dehors de l'espace d'adressage.

       EINVAL code n'est pas une sous‐commande valide.

       EPERM  addr pointe en dehors de l'espace d'adressage du processus.

CONFORMITÉ

       arch_prctl() est une extension Linux/x86-64 et ne doit pas être employée dans un programme
       portable.

NOTES

       arch_prctl() n'est supporté sur Linux/x86-64 que pour les programmes 64 bits.

       La base 64 bits change lorsqu'un nouveau sélecteur de segment 32 bits est chargé.

       ARCH_SET_GS est inactif dans certains noyaux.

       Les changements de contexte pour les bases 64 bits sont assez coûteux. Il peut  être  plus
       rapide  de  définir  une  base 32 bits avec un sélecteur de segment en définissant une LDT
       avec modify_ldt(2) ou en utilisant l'appel système set_thread_area(2) des  noyaux  2.5  et
       suivants.  arch_prctl() n'est utile que si vous désirez définir des bases plus grandes que
       4 Go. La mémoire dans les premiers 2 Go d'adressage peut être allouée en utilisant mmap(2)
       avec l'attribut MAP_32BIT.

       Il  n'y  a  pas  de  prototype pour arch_prctl() dans la glibc 2.7. Vous devez le déclarer
       vous‐même. Ceci sera peut‐être corrigé dans les futures versions de la glibc.

       FS peut être déjà utilisé par la bibliothèque de multi‐threading.

VOIR AUSSI

       mmap(2), modify_ldt(2), prctl(2), set_thread_area(2)

       Manuel du programmeur AMD X86-64

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».