dwww Home | Manual pages | Find package

getauxval(3)               Library Functions Manual               getauxval(3)

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 Po-
              werPC,  cette chaîne identifie la plateforme réelle et elle peut
              être différente de AT_PLATFORM. Sur MIPS, elle identifie le  ni-
              veau 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 seule-
              ment).  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 fi-
              chier 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  capaci-
              té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'asso-
              ciativité  du  cache  dans les 16 bits suivants. L'associativité
              est telle que si N est la valeur sur 16 bits, le cache est asso-
              ciatif 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_CA-
              CHEGEOMETRY.

       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_CA-
              CHEGEOMETRY.

       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 va-
              leurs 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 at-
              tribué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-li-
              nux.so(8)) et la glibc modifie d'autres facettes de son  compor-
              tement (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 sys-
              tè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.

VERSIONS
       La fonction getauxval() est disponible depuis la glibc 2.16.

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌─────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────────────────────┼──────────────────────┼─────────┤
       │getauxval()                          │ Sécurité des threads │ MT-Safe │
       └─────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS
       Cette fonction est une extension non normalisée de la glibc.

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  sou-
       vent  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  pro-
       gramme :

           $ 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  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.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.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.org>,  David  Prévot  <david@tilapin.org>  et  Lucien  Gentis <lu-
       cien.gentis@waika9.com>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la        GNU        General       Public       License       version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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.03   7 janvier 2023                    getauxval(3)

Generated by dwww version 1.15 on Sat Jun 29 01:49:23 CEST 2024.