noble (3) getauxval.3.gz

Provided by: manpages-fr-dev_4.21.0-2_all bug

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.

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 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  ⟨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⟩.