.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2012 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" See also https://lwn.net/Articles/519085/ .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getauxval 3 "2 mai 2024" "Pages du manuel de Linux 6.9.1" .SH NOM getauxval \- Récupérer une valeur du vecteur auxiliaire .SH BIBLIOTHÈQUE Bibliothèque C standard (\fIlibc\fP, \fI\-lc\fP) .SH SYNOPSIS .nf \fB#include \fP .P \fBunsigned long getauxval(unsigned long \fP\fItype\fP\fB);\fP .fi .SH DESCRIPTION La fonction \fBgetauxval\fP() 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é. .P 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 \fItype\fP, \fBgetauxval\fP() renvoie la valeur correspondante. .P Les valeurs renvoyées pour tous les \fItype\fPs sont données dans la liste suivante. Les différentes valeurs de \fItype\fP ne sont pas toutes présentes sur toutes les architectures. .TP \fBAT_BASE\fP L'adresse de base de l'interpréteur du programme (l'éditeur de liens dynamiques en général). .TP \fBAT_BASE_PLATFORM\fP .\" commit e585b768da111f2c2d413de6214e83bbdfee8f22 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 \fBAT_PLATFORM\fP. Sur MIPS, elle identifie le niveau ISA (depuis Linux 5.7). .TP \fBAT_CLKTCK\fP La fréquence utilisée par \fBtimes\fP(2) pour compter. Cette valeur peut aussi être obtenue avec \fIsysconf(_SC_CLK_TCK)\fP. .TP \fBAT_DCACHEBSIZE\fP La taille du bloc de cache de données. .TP \fBAT_EGID\fP Le GID effectif du thread. .TP \fBAT_ENTRY\fP L'adresse d'entrée de l'exécutable. .TP \fBAT_EUID\fP L'UID effectif du thread. .TP \fBAT_EXECFD\fP Le descripteur de fichier du programme. .TP \fBAT_EXECFN\fP Un pointeur vers une chaîne contenant le nom de chemin utilisé pour exécuter le programme. .TP \fBAT_FLAGS\fP Drapeaux (inutilisé). .TP \fBAT_FPUCW\fP 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. .TP \fBAT_GID\fP Le GID réel du thread. .TP \fBAT_HWCAP\fP 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 \fIarch/x86/include/asm/cpufeature.h\fP 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 \fI/proc/cpuinfo\fP. .TP \fBAT_HWCAP2\fP (depuis la glibc 2.18) Autres indications dépendant de la machine à propos des capacités du processeur. .TP \fBAT_ICACHEBSIZE\fP .\" .TP .\" .BR AT_IGNORE .\" .TP .\" .BR AT_IGNOREPPC .\" .TP .\" .BR AT_NOTELF La taille du bloc de cache d'instructions. .TP .\" Kernel commit 98a5f361b8625c6f4841d6ba013bbf0e80d08147 \fBAT_L1D_CACHEGEOMETRY\fP 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. .TP \fBAT_L1D_CACHESIZE\fP La taille du cache de données L1. .TP \fBAT_L1I_CACHEGEOMETRY\fP La géométrie du cache d'instructions L1 codée de la même manière que \fBAT_L1D_CACHEGEOMETRY\fP. .TP \fBAT_L1I_CACHESIZE\fP La taille du cache d'instructions L1. .TP \fBAT_L2_CACHEGEOMETRY\fP La géométrie du cache L2 codée de la même manière que \fBAT_L1D_CACHEGEOMETRY\fP. .TP \fBAT_L2_CACHESIZE\fP La taille du cache L2. .TP \fBAT_L3_CACHEGEOMETRY\fP La géométrie du cache L3 codée de la même manière que \fBAT_L1D_CACHEGEOMETRY\fP. .TP \fBAT_L3_CACHESIZE\fP La taille du cache L3. .TP \fBAT_PAGESZ\fP La taille de page du système (la même valeur que celle renvoyée par \fIsysconf(_SC_PAGESIZE)\fP). .TP \fBAT_PHDR\fP L'adresse des en\-têtes du programme de l'exécutable. .TP \fBAT_PHENT\fP La taille de l'entrée des en\-têtes du programme. .TP \fBAT_PHNUM\fP Le nombre d'en\-têtes du programme. .TP \fBAT_PLATFORM\fP 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 \fIrpath\fP. .TP \fBAT_RANDOM\fP L'adresse de seize octets contenant une valeur aléatoire. .TP \fBAT_SECURE\fP 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 \fBcapabilities\fP(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 \fBld\-linux.so\fP(8)) et la glibc modifie d'autres facettes de son comportement (consultez aussi \fBsecure_getenv\fP(3)). .TP \fBAT_SYSINFO\fP 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). .TP \fBAT_SYSINFO_EHDR\fP 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. .TP \fBAT_UCACHEBSIZE\fP La taille du bloc de cache unifié. .TP \fBAT_UID\fP L'UID réel du thread. .SH "VALEUR RENVOYÉE" Si elle réussit, \fBgetauxval\fP() renvoie la valeur correspondant au \fItype\fP. Si \fItype\fP n'est pas trouvé, la valeur renvoyée est \fB0\fP. .SH ERREURS .TP \fBENOENT\fP (depuis la glibc 2.19) .\" commit b9ab448f980e296eac21ac65f53783967cc6037b Aucune entrée correspondant au \fItype\fP n'a pu être trouvée dans le vecteur auxiliaire. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interface Attribut Valeur T{ .na .nh \fBgetauxval\fP() T} Sécurité des threads MT\-Safe .TE .SH STANDARDS GNU. .SH HISTORIQUE glibc 2.16. .SH NOTES Le principal utilisateur des renseignements du vecteur auxiliaire est l'éditeur de liens dynamiques \fBld\-linux.so\fP(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. .P 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 \fBLD_SHOW_AUXV\fP lors de l'exécution d'un programme : .P .in +4n .EX $ LD_SHOW_AUXV=1 sleep 1 .EE .in .P Le vecteur auxiliaire de n'importe quel processus peut (en fonction des droits du fichier) être obtenu dans \fI/proc/\fPpid\fI/auxv\fP. Consultez \fBproc\fP(5) pour obtenir de plus amples renseignements. .SH BOGUES Avant l'ajout du code d'erreur \fBENOENT\fP à partir de la glibc 2.19, il n'existait aucun moyen de distinguer sans ambiguïté le cas où \fItype\fP n'avait pas pu être trouvé du cas où la valeur correspondant à \fItype\fP était égale à zéro. .SH "VOIR AUSSI" \fBexecve\fP(2), \fBsecure_getenv\fP(3), \fBvdso\fP(7), \fBld\-linux.so\fP(8) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot et Lucien Gentis . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .