Man page - getauxval(3)

Packages contains this manual

Available languages:

en fr ja ru

Manual

getauxval

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
NOTES
BOGUES
VOIR AUSSI
TRADUCTION

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 type s 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).

Image grohtml-3873180-1.png

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 .