Rechercher une page de manuel
arch_prctl
Langue: fr
Version: 2 février 2003 (mandriva - 01/05/08)
Section: 2 (Appels système)
NOM
arch_prctl - Fixe l'état spécifique à l'architectureSYNOPSIS
#include <asm/prctl.h> #include <sys/prctl.h>int arch_prctl(int code, unsigned long adr)
DESCRIPTION
La fonction arch_prctl() fixe l'état spécifique à l'architecture pour le thread ou le processus. code sélectionne une sous-fonction et lui passe l'argument addr.Les sous-fonctions pour les architectures x86-64 sont :
- ARCH_SET_FS
- Remplit la base 64-bits pour le registre FS avec adr.
- ARCH_GET_FS
- Renvoie la base 64-bits pour le registre FS du thread en cours dans la variable unsigned long pointée par le paramètre adr.
- 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 le paramètre adr.
VALEUR RENVOYÉE
S'il réussit, arch_prctl() renvoie 0 ; en cas d'erreur, -1 est renvoyée et errno est écrite pour indiquer l'erreur.ERREURS
- EFAULT
- adr 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
- adr 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 conçu pour être portable.NOTES
arch_prctl() n'est seulement supporté sur Linux/x86-64 pour les programmes 64-bits.La base 64-bits change lorsqu'un nouveau selecteur de segment 32-bits est chargé.
ARCH_SET_GS est inactif dans certains noyaux.
Les changements de contextes pour les bases 64 bits sont assez coûteux. Il peut être plus rapide de fixer une base 32 bits avec un sélecteur de segment en fixant une LDT avec modify_ldt(2) ou en utilisant l'appel système set_thread_area(2) des noyaux 2.5. arch_prctl() n'est utile que si vous désirez fixer des bases plus grandes que 4Go. 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.3.5. Vous devez le déclarer vous-même. Ceci sera 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
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 18 juillet 2003 et révisée le 28 novembre 2007.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 arch_prctl ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre