Provided by: manpages-fr-dev_4.27.0-1_all 

NOM
getauxval - Récupérer une valeur du vecteur auxiliaire
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <sys/auxv.h>
unsigned long getauxval(unsigned long type);
DESCRIPTION
La fonction getauxval() récupère des valeurs du vecteur auxiliaire, un mécanisme que le chargeur de
binaires ELF du noyau utilise pour passer certains renseignements à l'espace utilisateur quand un
programme est exécuté.
Toutes les entrées du vecteur auxiliaire sont des paires de valeurs : un type qui identifie ce que
l'entrée représente et une valeur pour ce type. En fonction de l'argument type, getauxval() renvoie la
valeur correspondante.
Les valeurs renvoyées pour tous les types sont données dans la liste suivante. Les différentes valeurs de
type ne sont pas toutes présentes sur toutes les architectures.
AT_BASE
L'adresse de base de l'interpréteur du programme (l'éditeur de liens dynamiques en général).
AT_BASE_PLATFORM
Un pointeur vers une chaîne (PowerPC et MIPS seulement). Sur PowerPC, cette chaîne identifie la
plateforme réelle et elle peut être différente de AT_PLATFORM. Sur MIPS, elle identifie le niveau
ISA (depuis Linux 5.7).
AT_CLKTCK
La fréquence utilisée par times(2) pour compter. Cette valeur peut aussi être obtenue avec
sysconf(_SC_CLK_TCK).
AT_DCACHEBSIZE
La taille du bloc de cache de données.
AT_EGID
Le GID effectif du thread.
AT_ENTRY
L'adresse d'entrée de l'exécutable.
AT_EUID
L'UID effectif du thread.
AT_EXECFD
Le descripteur de fichier du programme.
AT_EXECFN
Un pointeur vers une chaîne contenant le nom de chemin utilisé pour exécuter le programme.
AT_FLAGS
Drapeaux (inutilisé).
AT_FPUCW
Le mot de contrôle de FPU utilisé (architecture SuperH seulement). Cette information donne
quelques renseignements sur l'initialisation FPU réalisée par le noyau.
AT_GID Le GID réel du thread.
AT_HWCAP
Un masque de bits, dépendant de l'architecture et de l'ABI, qui précise les capacités détaillées
du processeur. Le contenu du masque de bits dépend du matériel (consultez par exemple le fichier
arch/x86/include/asm/cpufeature.h des sources du noyau pour obtenir des précisions sur
l'architecture x86 ; la valeur renvoyée est le premier mot sur 32 bits du tableau qui y est
décrit). Une version humainement lisible des mêmes renseignements est disponible dans
/proc/cpuinfo.
AT_HWCAP2 (depuis la glibc 2.18)
Autres indications dépendant de la machine à propos des capacités du processeur.
AT_ICACHEBSIZE
La taille du bloc de cache d'instructions.
AT_L1D_CACHEGEOMETRY
La géométrie du cache de données L1 codée avec la taille d'une ligne de cache en octets dans les
16 bits inférieurs et l'associativité du cache dans les 16 bits suivants. L'associativité est
telle que si N est la valeur sur 16 bits, le cache est associatif par ensembles de N blocs.
AT_L1D_CACHESIZE
La taille du cache de données L1.
AT_L1I_CACHEGEOMETRY
La géométrie du cache d'instructions L1 codée de la même manière que AT_L1D_CACHEGEOMETRY.
AT_L1I_CACHESIZE
La taille du cache d'instructions L1.
AT_L2_CACHEGEOMETRY
La géométrie du cache L2 codée de la même manière que AT_L1D_CACHEGEOMETRY.
AT_L2_CACHESIZE
La taille du cache L2.
AT_L3_CACHEGEOMETRY
La géométrie du cache L3 codée de la même manière que AT_L1D_CACHEGEOMETRY.
AT_L3_CACHESIZE
La taille du cache L3.
AT_PAGESZ
La taille de page du système (la même valeur que celle renvoyée par sysconf(_SC_PAGESIZE)).
AT_PHDR
L'adresse des en-têtes du programme de l'exécutable.
AT_PHENT
La taille de l'entrée des en-têtes du programme.
AT_PHNUM
Le nombre d'en-têtes du programme.
AT_PLATFORM
Un pointeur vers une chaîne qui identifie la plate-forme matérielle sur laquelle le programme est
exécuté. L'éditeur de liens dynamiques utilise cette chaîne dans l'interprétation des valeurs
rpath.
AT_RANDOM
L'adresse de seize octets contenant une valeur aléatoire.
AT_SECURE
Cet attribut possède une valeur non nulle si l'exécutable doit être traité de façon sécurisée. Le
plus souvent, une valeur non nulle indique que le processus exécute un binaire set-user-ID ou
set-group-ID (si bien que ses UID ou GID réels et effectifs sont différents) ou qu'il acquiert des
capacités (« capabilities ») en exécutant un fichier binaire qui possède des capacités (voir
capabilities(7)) ; sinon, une valeur non nulle pourrait être attribuée par un module de sécurité
Linux. Quand cette valeur est non nulle, l'éditeur de liens dynamiques désactive l'utilisation de
certaines variables d'environnement (consultez ld-linux.so(8)) et la glibc modifie d'autres
facettes de son comportement (consultez aussi secure_getenv(3)).
AT_SYSINFO
Le point d'entrée vers la fonction d'appel système dans le vDSO. N'est ni présent ni nécessaire
sur toutes les architectures (par exemple absent sur x86-64).
AT_SYSINFO_EHDR
L'adresse d'une page contenant le vDSO (objet partagé dynamique virtuel, « virtual dynamic shared
object ») que le noyau crée pour fournir des implémentations rapides de certains appels systèmes.
AT_UCACHEBSIZE
La taille du bloc de cache unifié.
AT_UID L'UID réel du thread.
VALEUR RENVOYÉE
Si elle réussit, getauxval() renvoie la valeur correspondant au type. Si type n'est pas trouvé, la valeur
renvoyée est 0.
ERREURS
ENOENT (depuis la glibc 2.19)
Aucune entrée correspondant au type n'a pu être trouvée dans le vecteur auxiliaire.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
┌──────────────────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
│ Interface │ Attribut │ Valeur │
├──────────────────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
│ getauxval() │ Sécurité des threads │ MT-Safe │
└──────────────────────────────────────────────────────────────────────┴──────────────────────┴─────────┘
STANDARDS
GNU.
HISTORIQUE
glibc 2.16.
NOTES
Le principal utilisateur des renseignements du vecteur auxiliaire est l'éditeur de liens dynamiques
ld-linux.so(8). Le vecteur auxiliaire est un raccourci pratique et efficace qui permet au noyau de
communiquer un certain jeu de renseignements standards dont l'éditeur de liens a souvent ou toujours
besoin. Dans certains cas, les mêmes renseignements pourraient être obtenus à l'aide d'appels système,
mais l'utilisation du vecteur auxiliaire est moins coûteuse.
Le vecteur auxiliaire réside juste au-dessus de la liste d'arguments et de l'environnement dans l'espace
d'adresse du processus. Le vecteur auxiliaire fourni à un programme peut être affiché en définissant la
variable d'environnement LD_SHOW_AUXV lors de l'exécution d'un programme :
$ LD_SHOW_AUXV=1 sleep 1
Le vecteur auxiliaire de n'importe quel processus peut (en fonction des droits du fichier) être obtenu
dans /proc/pid/auxv. Consultez proc(5) pour obtenir de plus amples renseignements.
BOGUES
Avant l'ajout du code d'erreur ENOENT à partir de la glibc 2.19, il n'existait aucun moyen de distinguer
sans ambiguïté le cas où type n'avait pas pu être trouvé du cas où la valeur correspondant à type était
égale à zéro.
VOIR AUSSI
execve(2), secure_getenv(3), vdso(7), ld-linux.so(8)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot
<david@tilapin.org> et Lucien Gentis <lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License
version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.
Pages du manuel de Linux 6.9.1 2 mai 2024 getauxval(3)