# French translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Christophe Blaess , 1996-2003. # Stéphan Rafin , 2002. # Thierry Vignaud , 1999, 2002. # François Micaux, 2002. # Alain Portal , 2003-2008. # Jean-Philippe Guérard , 2005-2006. # Jean-Luc Coulon (f5ibh) , 2006-2007. # Julien Cristau , 2006-2007. # Thomas Huriaux , 2006-2008. # Nicolas François , 2006-2008. # Florentin Duneau , 2006-2010. # Simon Paillard , 2006, 2013. # Denis Barbier , 2006, 2010. # David Prévot , 2010, 2012, 2013. # Grégoire Scano , 2021. msgid "" msgstr "" "Project-Id-Version: manpages-l10n 4.21.0\n" "POT-Creation-Date: 2024-03-01 16:55+0100\n" "PO-Revision-Date: 2024-03-14 01:47+0100\n" "Last-Translator: Grégoire Scano \n" "Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Lokalize 22.12.3\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "dl_iterate_phdr" msgstr "dl_iterate_phdr" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 octobre 2023" #. type: TH #: archlinux fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Pages du manuel de Linux 6.06" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NAME" msgstr "NOM" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "dl_iterate_phdr - walk through list of shared objects" msgstr "dl_iterate_phdr – Parcourir une liste d'objets partagés" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "LIBRARY" msgstr "BIBLIOTHÈQUE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "Standard C library (I, I<-lc>)" msgstr "Bibliothèque C standard (I, I<-lc>)" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SYNOPSIS" msgstr "SYNOPSIS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Elink.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* Consultez feature_test_macros(7) */\n" "B<#include Elink.hE>\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "B\n" "B< int (*>IB<)(struct dl_phdr_info *>IB<,>\n" "B< size_t >IB<, void *>IB<),>\n" "B< void *>IB<);>\n" msgstr "" "B\n" "B< int (*>IB<)(struct dl_phdr_info *>IB<,>\n" "B< size_t >IB<, void *>IB<),>\n" "B< void *>IB<);>\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "DESCRIPTION" msgstr "DESCRIPTION" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function allows an application to inquire at run " "time to find out which shared objects it has loaded, and the order in which " "they were loaded." msgstr "" "La fonction B() permet à une application de s'informer, " "lors de son exécution, des objets partagés qu'elle a chargés et de l'ordre " "dans lequel ils ont été chargés." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function walks through the list of an " "application's shared objects and calls the function I once for " "each object, until either all shared objects have been processed or " "I returns a nonzero value." msgstr "" "La fonction B() parcourt la liste des objets partagés par " "une application et appelle la fonction I sur chaque objet jusqu'à " "ce que tous les objets partagés aient été traités ou que la fonction " "I ait renvoyé une valeur non nulle." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Each call to I receives three arguments: I, which is a " "pointer to a structure containing information about the shared object; " "I, which is the size of the structure pointed to by I; and " "I, which is a copy of whatever value was passed by the calling program " "as the second argument (also named I) in the call to " "B()." msgstr "" "Chaque appel de I prend trois paramètres\\ : I qui est un " "pointeur vers une structure contenant des informations sur les objets " "partagés\\ ; I qui est la taille de la structure pointée par " "I\\ ; et I qui est une copie de toute valeur qui est passée par " "le programme appelant dans le second argument (également nommé I) lors " "de l'appel de B()." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The I argument is a structure of the following type:" msgstr "L'argument I est une structure du type suivant\\ :" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "struct dl_phdr_info {\n" " ElfW(Addr) dlpi_addr; /* Base address of object */\n" " const char *dlpi_name; /* (Null-terminated) name of\n" " object */\n" " const ElfW(Phdr) *dlpi_phdr; /* Pointer to array of\n" " ELF program headers\n" " for this object */\n" " ElfW(Half) dlpi_phnum; /* # of items in I */\n" "\\&\n" " /* The following fields were added in glibc 2.4, after the first\n" " version of this structure was available. Check the I\n" " argument passed to the dl_iterate_phdr callback to determine\n" " whether or not each later member is available. */\n" "\\&\n" " unsigned long long dlpi_adds;\n" " /* Incremented when a new object may\n" " have been added */\n" " unsigned long long dlpi_subs;\n" " /* Incremented when an object may\n" " have been removed */\n" " size_t dlpi_tls_modid;\n" " /* If there is a PT_TLS segment, its module\n" " ID as used in TLS relocations, else zero */\n" " void *dlpi_tls_data;\n" " /* The address of the calling thread\\[aq]s instance\n" " of this module\\[aq]s PT_TLS segment, if it has\n" " one and it has been allocated in the calling\n" " thread, otherwise a null pointer */\n" "};\n" msgstr "" "struct dl_phdr_info {\n" " ElfW(Addr) dlpi_addr; /* Adresse de base de l'objet */\n" " const char *dlpi_name; /* Nom de l'objet (terminé par\n" " l'octet NULL final */\n" " const ElfW(Phdr) *dlpi_phdr; /* Pointeur vers un tableau des\n" " en-têtes ELF du programme\n" " de cet objet */\n" " ElfW(Half) dlpi_phnum; /* Nombre d'éléments dans \n" " I */\n" "\\&\n" " /* Les champs suivants ont été ajoutés dans la version 2.4 de la glibc, après\n" " que la première version de cette structure a été disponible. Vérifier\n" " le paramètre I passé à l'appel dl_iterate_phdr pour déterminer\n" " si le dernier membre est ou non disponible. */\n" "\\&\n" " unsigned long long dlpi_adds;\n" " /* Incrémenté lorsqu'un nouvel objet\n" " peut avoir été ajouté. */\n" " unsigned long long dlpi_subs;\n" " /* Incrémenté lorsqu'un objet peut\n" " avoir été supprimé. */\n" " size_t dlpi_tls_modid;\n" " /* S'il y a un segment PT_TLS, son ID de module comme\n" " utilisé par les relocalisations TLS, zéro sinon. */\n" " void *dlpi_tls_data;\n" " /* L'adresse dans l'instance du thread appelant\n" " de ce segment PT_TLS du module, s'il en a un\n" " et s'il a été alloué dans le thread appelant,\n" " un pointeur NULL sinon. */\n" "};\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "(The I() macro definition turns its argument into the name of an ELF " "data type suitable for the hardware architecture. For example, on a 32-bit " "platform, I yields the data type name I. Further " "information on these types can be found in the Ielf.hE> and " "Ilink.hE> header files.)" msgstr "" "La macro I() convertit son argument en un nom de type de données ELF " "adapté à l'architecture matérielle. Par exemple, sur un système 32 bits, " "ElfW(Addr) produit le type de données nommé Elf32_Addr. Des informations " "supplémentaires sur ces types peuvent être trouvées dans les fichiers d'en-" "tête Ielf.hE> et Ilink.hE>." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I field indicates the base address of the shared object (i." "e., the difference between the virtual memory address of the shared object " "and the offset of that object in the file from which it was loaded). The " "I field is a null-terminated string giving the pathname from " "which the shared object was loaded." msgstr "" "Le champ I indique l'adresse de base de l'objet partagé (la " "différence entre l'adresse en mémoire virtuelle de l'objet partagé et le " "décalage avec cet objet dans le fichier depuis lequel il a été chargé). Le " "champ I est une chaîne de caractères terminée par un caractère " "nul indiquant le chemin à partir duquel l'objet partagé a été chargé." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "To understand the meaning of the I and I fields, we " "need to be aware that an ELF shared object consists of a number of segments, " "each of which has a corresponding program header describing the segment. " "The I field is a pointer to an array of the program headers for " "this shared object. The I field indicates the size of this " "array." msgstr "" "Pour comprendre le sens des champs I et I, il faut se " "rendre compte que les objets partagés ELF sont constitué d'un certain nombre " "de segments, chacun d'eux possédant un en-tête décrivant le segment. Le " "champ I est un pointeur vers un tableau des en-têtes du programme " "de cet objet partagé. Le champ I est la taille de ce tableau." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "These program headers are structures of the following form:" msgstr "Ces en-têtes de programme sont structurés sous la forme suivantes\\ :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "typedef struct {\n" " Elf32_Word p_type; /* Segment type */\n" " Elf32_Off p_offset; /* Segment file offset */\n" " Elf32_Addr p_vaddr; /* Segment virtual address */\n" " Elf32_Addr p_paddr; /* Segment physical address */\n" " Elf32_Word p_filesz; /* Segment size in file */\n" " Elf32_Word p_memsz; /* Segment size in memory */\n" " Elf32_Word p_flags; /* Segment flags */\n" " Elf32_Word p_align; /* Segment alignment */\n" "} Elf32_Phdr;\n" msgstr "" "typedef struct\n" " {\n" " Elf32_Word p_type; /* Type de segment */\n" " Elf32_Off p_offset; /* Décalage du fichier de segment (?) */\n" " Elf32_Addr p_vaddr; /* Adresse virtuelle du segment */\n" " Elf32_Addr p_paddr; /* Adresse physique du segment */\n" " Elf32_Word p_filesz; /* Taille du segment dans le fichier */\n" " Elf32_Word p_memsz; /* Taille du segment en mémoire */\n" " Elf32_Word p_flags; /* Drapeau du segment */\n" " Elf32_Word p_align; /* Alignement du segment */\n" "} Elf32_Phdr;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that we can calculate the location of a particular program header, " "I, in virtual memory using the formula:" msgstr "" "Notez que la position en mémoire virtuelle d'un en-tête de programme, I, " "est calculée avec la formule suivante\\ :" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "addr == info-Edlpi_addr + info-Edlpi_phdr[x].p_vaddr;\n" msgstr "addr == info-Edlpi_addr + info-Edlpi_phdr[x].p_vaddr;\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Possible values for I include the following (see Ielf.hE> " "for further details):" msgstr "" "Les valeurs possibles pour I incluent les suivantes (voir Ielf." "hE> pour plus de détails) :" #. For PT_GNU_STACK, see http://www.airs.com/blog/archives/518 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "#define PT_LOAD 1 /* Loadable program segment */\n" "#define PT_DYNAMIC 2 /* Dynamic linking information */\n" "#define PT_INTERP 3 /* Program interpreter */\n" "#define PT_NOTE 4 /* Auxiliary information */\n" "#define PT_SHLIB 5 /* Reserved */\n" "#define PT_PHDR 6 /* Entry for header table itself */\n" "#define PT_TLS 7 /* Thread-local storage segment */\n" "#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */\n" "#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */\n" "#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */\n" msgstr "" "#define PT_LOAD 1 /* Segment de programme chargeable */\n" "#define PT_DYNAMIC 2 /* Information d'édition de liens dynamiques */\n" "#define PT_INTERP 3 /* Interpréteur de programme */\n" "#define PT_NOTE 4 /* Information auxiliaire */\n" "#define PT_SHLIB 5 /* Réservé */\n" "#define PT_PHDR 6 /* Entrée pour la table d'en-tête elle même */\n" "#define PT_TLS 7 /* Segment de stockage local au thread */\n" "#define PT_GNU_EH_FRAME 0x6474e550 /* Segment GCC .eh_frame_hdr */\n" "#define PT_GNU_STACK 0x6474e551 /* Indique l'exécutabilité de la pile */\n" "#define PT_GNU_RELRO 0x6474e552 /* Lecture seule après relocalisation */\n" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "RETURN VALUE" msgstr "VALEUR RENVOYÉE" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B() function returns whatever value was returned by " "the last call to I." msgstr "" "La fonction B() renvoie n'importe quelle valeur renvoyée " "par le dernier appel à I." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "ATTRIBUTES" msgstr "ATTRIBUTS" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For an explanation of the terms used in this section, see B(7)." msgstr "" "Pour une explication des termes utilisés dans cette section, consulter " "B(7)." #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Interface" msgstr "Interface" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Attribute" msgstr "Attribut" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Value" msgstr "Valeur" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".na\n" msgstr ".na\n" #. type: tbl table #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid ".nh\n" msgstr ".nh\n" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B()" msgstr "B()" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Thread safety" msgstr "Sécurité des threads" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "VERSIONS" msgstr "VERSIONS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Various other systems provide a version of this function, although details " "of the returned I structure differ. On the BSDs and Solaris, " "the structure includes the fields I, I, I, " "and I in addition to other implementation-specific fields." msgstr "" "De nombreux autres systèmes fournissent une version de cette fonction bien " "que les détails de la structure I soient différents. Sur les " "BSD et Solaris, la structure inclut les champs I, I, " "I et I en plus d'autres champs spécifiques à chaque " "implémentation." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Future versions of the C library may add further fields to the " "I structure; in that event, the I argument provides a " "mechanism for the callback function to discover whether it is running on a " "system with added fields." msgstr "" "Les futures versions de la bibliothèque C peuvent ajouter d'autres champs à " "la structure I ; dans ce cas, l'argument I fournit un " "mécanisme pour que la fonction appelée sache si elle est exécutée sur un " "système possédant des champs supplémentaires." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "STANDARDS" msgstr "STANDARDS" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "None." msgstr "Aucune." #. type: SH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "HISTORY" msgstr "HISTORIQUE" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "glibc 2.2.4." msgstr "glibc 2.2.4." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "NOTES" msgstr "NOTES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The first object visited by I is the main program. For the main " "program, the I field will be an empty string." msgstr "" "Le premier objet visité par I est le programme principal. Pour ce " "programme, le champ I est une chaîne de caractères vide." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "EXEMPLES" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following program displays a list of pathnames of the shared objects it " "has loaded. For each shared object, the program lists some information " "(virtual address, size, flags, and type) for each of the objects ELF " "segments." msgstr "" "Le programme suivant affiche la liste des chemins des objets partagés qu'il " "a chargé. Pour chaque objet partagé, le programme liste plusieurs " "informations (adresse virtuelle, taille, drapeaux et type) pour chacun des " "segments des objets ELF." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following shell session demonstrates the output produced by the program " "on an x86-64 system. The first shared object for which output is displayed " "(where the name is an empty string) is the main program." msgstr "" "La session shell suivante montre la sortie produite sur un système x86-64. " "Le premier objet partagé pour lequel une sortie est affichée (où le nom est " "une chaîne de caractères vide) est le programme principal." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B<./a.out>\n" "Name: \"\" (9 segments)\n" " 0: [ 0x400040; memsz: 1f8] flags: 0x5; PT_PHDR\n" " 1: [ 0x400238; memsz: 1c] flags: 0x4; PT_INTERP\n" " 2: [ 0x400000; memsz: ac4] flags: 0x5; PT_LOAD\n" " 3: [ 0x600e10; memsz: 240] flags: 0x6; PT_LOAD\n" " 4: [ 0x600e28; memsz: 1d0] flags: 0x6; PT_DYNAMIC\n" " 5: [ 0x400254; memsz: 44] flags: 0x4; PT_NOTE\n" " 6: [ 0x400970; memsz: 3c] flags: 0x4; PT_GNU_EH_FRAME\n" " 7: [ (nil); memsz: 0] flags: 0x6; PT_GNU_STACK\n" " 8: [ 0x600e10; memsz: 1f0] flags: 0x4; PT_GNU_RELRO\n" "Name: \"linux-vdso.so.1\" (4 segments)\n" " 0: [0x7ffc6edd1000; memsz: e89] flags: 0x5; PT_LOAD\n" " 1: [0x7ffc6edd1360; memsz: 110] flags: 0x4; PT_DYNAMIC\n" " 2: [0x7ffc6edd17b0; memsz: 3c] flags: 0x4; PT_NOTE\n" " 3: [0x7ffc6edd17ec; memsz: 3c] flags: 0x4; PT_GNU_EH_FRAME\n" "Name: \"/lib64/libc.so.6\" (10 segments)\n" " 0: [0x7f55712ce040; memsz: 230] flags: 0x5; PT_PHDR\n" " 1: [0x7f557145b980; memsz: 1c] flags: 0x4; PT_INTERP\n" " 2: [0x7f55712ce000; memsz: 1b6a5c] flags: 0x5; PT_LOAD\n" " 3: [0x7f55716857a0; memsz: 9240] flags: 0x6; PT_LOAD\n" " 4: [0x7f5571688b80; memsz: 1f0] flags: 0x6; PT_DYNAMIC\n" " 5: [0x7f55712ce270; memsz: 44] flags: 0x4; PT_NOTE\n" " 6: [0x7f55716857a0; memsz: 78] flags: 0x4; PT_TLS\n" " 7: [0x7f557145b99c; memsz: 544c] flags: 0x4; PT_GNU_EH_FRAME\n" " 8: [0x7f55712ce000; memsz: 0] flags: 0x6; PT_GNU_STACK\n" " 9: [0x7f55716857a0; memsz: 3860] flags: 0x4; PT_GNU_RELRO\n" "Name: \"/lib64/ld-linux-x86-64.so.2\" (7 segments)\n" " 0: [0x7f557168f000; memsz: 20828] flags: 0x5; PT_LOAD\n" " 1: [0x7f55718afba0; memsz: 15a8] flags: 0x6; PT_LOAD\n" " 2: [0x7f55718afe10; memsz: 190] flags: 0x6; PT_DYNAMIC\n" " 3: [0x7f557168f1c8; memsz: 24] flags: 0x4; PT_NOTE\n" " 4: [0x7f55716acec4; memsz: 604] flags: 0x4; PT_GNU_EH_FRAME\n" " 5: [0x7f557168f000; memsz: 0] flags: 0x6; PT_GNU_STACK\n" " 6: [0x7f55718afba0; memsz: 460] flags: 0x4; PT_GNU_RELRO\n" msgstr "" "$ B<./a.out>\n" "Name: \"\" (9 segments)\n" " 0: [ 0x400040; memsz: 1f8] flags: 0x5; PT_PHDR\n" " 1: [ 0x400238; memsz: 1c] flags: 0x4; PT_INTERP\n" " 2: [ 0x400000; memsz: ac4] flags: 0x5; PT_LOAD\n" " 3: [ 0x600e10; memsz: 240] flags: 0x6; PT_LOAD\n" " 4: [ 0x600e28; memsz: 1d0] flags: 0x6; PT_DYNAMIC\n" " 5: [ 0x400254; memsz: 44] flags: 0x4; PT_NOTE\n" " 6: [ 0x400970; memsz: 3c] flags: 0x4; PT_GNU_EH_FRAME\n" " 7: [ (nil); memsz: 0] flags: 0x6; PT_GNU_STACK\n" " 8: [ 0x600e10; memsz: 1f0] flags: 0x4; PT_GNU_RELRO\n" "Name: \"linux-vdso.so.1\" (4 segments)\n" " 0: [0x7ffc6edd1000; memsz: e89] flags: 0x5; PT_LOAD\n" " 1: [0x7ffc6edd1360; memsz: 110] flags: 0x4; PT_DYNAMIC\n" " 2: [0x7ffc6edd17b0; memsz: 3c] flags: 0x4; PT_NOTE\n" " 3: [0x7ffc6edd17ec; memsz: 3c] flags: 0x4; PT_GNU_EH_FRAME\n" "Name: \"/lib64/libc.so.6\" (10 segments)\n" " 0: [0x7f55712ce040; memsz: 230] flags: 0x5; PT_PHDR\n" " 1: [0x7f557145b980; memsz: 1c] flags: 0x4; PT_INTERP\n" " 2: [0x7f55712ce000; memsz: 1b6a5c] flags: 0x5; PT_LOAD\n" " 3: [0x7f55716857a0; memsz: 9240] flags: 0x6; PT_LOAD\n" " 4: [0x7f5571688b80; memsz: 1f0] flags: 0x6; PT_DYNAMIC\n" " 5: [0x7f55712ce270; memsz: 44] flags: 0x4; PT_NOTE\n" " 6: [0x7f55716857a0; memsz: 78] flags: 0x4; PT_TLS\n" " 7: [0x7f557145b99c; memsz: 544c] flags: 0x4; PT_GNU_EH_FRAME\n" " 8: [0x7f55712ce000; memsz: 0] flags: 0x6; PT_GNU_STACK\n" " 9: [0x7f55716857a0; memsz: 3860] flags: 0x4; PT_GNU_RELRO\n" "Name: \"/lib64/ld-linux-x86-64.so.2\" (7 segments)\n" " 0: [0x7f557168f000; memsz: 20828] flags: 0x5; PT_LOAD\n" " 1: [0x7f55718afba0; memsz: 15a8] flags: 0x6; PT_LOAD\n" " 2: [0x7f55718afe10; memsz: 190] flags: 0x6; PT_DYNAMIC\n" " 3: [0x7f557168f1c8; memsz: 24] flags: 0x4; PT_NOTE\n" " 4: [0x7f55716acec4; memsz: 604] flags: 0x4; PT_GNU_EH_FRAME\n" " 5: [0x7f557168f000; memsz: 0] flags: 0x6; PT_GNU_STACK\n" " 6: [0x7f55718afba0; memsz: 460] flags: 0x4; PT_GNU_RELRO\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Source du programme" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Elink.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "\\&\n" "static int\n" "callback(struct dl_phdr_info *info, size_t size, void *data)\n" "{\n" " char *type;\n" " int p_type;\n" "\\&\n" " printf(\"Name: \\e\"%s\\e\" (%d segments)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" "\\&\n" " for (size_t j = 0; j E info-Edlpi_phnum; j++) {\n" " p_type = info-Edlpi_phdr[j].p_type;\n" " type = (p_type == PT_LOAD) ? \"PT_LOAD\" :\n" " (p_type == PT_DYNAMIC) ? \"PT_DYNAMIC\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_NOTE) ? \"PT_NOTE\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_PHDR) ? \"PT_PHDR\" :\n" " (p_type == PT_TLS) ? \"PT_TLS\" :\n" " (p_type == PT_GNU_EH_FRAME) ? \"PT_GNU_EH_FRAME\" :\n" " (p_type == PT_GNU_STACK) ? \"PT_GNU_STACK\" :\n" " (p_type == PT_GNU_RELRO) ? \"PT_GNU_RELRO\" : NULL;\n" "\\&\n" " printf(\" %2zu: [%14p; memsz:%7jx] flags: %#jx; \", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr),\n" " (uintmax_t) info-Edlpi_phdr[j].p_memsz,\n" " (uintmax_t) info-Edlpi_phdr[j].p_flags);\n" " if (type != NULL)\n" " printf(\"%s\\en\", type);\n" " else\n" " printf(\"[other (%#x)]\\en\", p_type);\n" " }\n" "\\&\n" " return 0;\n" "}\n" "\\&\n" "int\n" "main(void)\n" "{\n" " dl_iterate_phdr(callback, NULL);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" "#define _GNU_SOURCE\n" "#include Elink.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "\\&\n" "static int\n" "callback(struct dl_phdr_info *info, size_t size, void *data)\n" "{\n" " char *type;\n" " int p_type;\n" "\\&\n" " printf(\"Nom : \\e\"%s\\e\" (%d segments)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" "\\&\n" " for (size_t j = 0; j E info-Edlpi_phnum; j++) {\n" " p_type = info-Edlpi_phdr[j].p_type;\n" " type = (p_type == PT_LOAD) ? \"PT_LOAD\" :\n" " (p_type == PT_DYNAMIC) ? \"PT_DYNAMIC\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_NOTE) ? \"PT_NOTE\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_PHDR) ? \"PT_PHDR\" :\n" " (p_type == PT_TLS) ? \"PT_TLS\" :\n" " (p_type == PT_GNU_EH_FRAME) ? \"PT_GNU_EH_FRAME\" :\n" " (p_type == PT_GNU_STACK) ? \"PT_GNU_STACK\" :\n" " (p_type == PT_GNU_RELRO) ? \"PT_GNU_RELRO\" : NULL;\n" "\\&\n" " printf(\" %2zu: [%14p; memsz:%7jx] flags: %#jx; \", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr),\n" " (uintmax_t) info-Edlpi_phdr[j].p_memsz,\n" " (uintmax_t) info-Edlpi_phdr[j].p_flags);\n" " if (type != NULL)\n" " printf(\"%s\\en\", type);\n" " else\n" " printf(\"[other (%#x)]\\en\", p_type);\n" " }\n" "\\&\n" " return 0;\n" "}\n" "\\&\n" "int\n" "main(void)\n" "{\n" " dl_iterate_phdr(callback, NULL);\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" #. SRC END #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "SEE ALSO" msgstr "VOIR AUSSI" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(1), B(1), B(1), B(3), B(3), " "B(5), B(8)" msgstr "" "B(1), B(1), B(1), B(3), B(3), " "B(5), B(8)" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I, available at various " "locations online." msgstr "" "« I » disponible en ligne à " "divers endroits." #. type: TH #: debian-bookworm #, no-wrap msgid "2023-02-05" msgstr "5 février 2023" #. type: TH #: debian-bookworm #, no-wrap msgid "Linux man-pages 6.03" msgstr "Pages du manuel de Linux 6.03" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "struct dl_phdr_info {\n" " ElfW(Addr) dlpi_addr; /* Base address of object */\n" " const char *dlpi_name; /* (Null-terminated) name of\n" " object */\n" " const ElfW(Phdr) *dlpi_phdr; /* Pointer to array of\n" " ELF program headers\n" " for this object */\n" " ElfW(Half) dlpi_phnum; /* # of items in I */\n" msgstr "" "struct dl_phdr_info {\n" " ElfW(Addr) dlpi_addr; /* Adresse de base de l'objet */\n" " const char *dlpi_name; /* Nom de l'objet (terminé par\n" " l'octet NULL final */\n" " const ElfW(Phdr) *dlpi_phdr; /* Pointeur vers un tableau des\n" " en-têtes ELF du programme\n" " de cet objet */\n" " ElfW(Half) dlpi_phnum; /* Nombre d'éléments dans \n" " I */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* The following fields were added in glibc 2.4, after the first\n" " version of this structure was available. Check the I\n" " argument passed to the dl_iterate_phdr callback to determine\n" " whether or not each later member is available. */\n" msgstr "" " /* Les champs suivants ont été ajoutés dans la version 2.4 de la glibc, après\n" " que la première version de cette structure a été disponible. Vérifier\n" " le paramètre I passé à l'appel dl_iterate_phdr pour déterminer\n" " si le dernier membre est ou non disponible. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " unsigned long long dlpi_adds;\n" " /* Incremented when a new object may\n" " have been added */\n" " unsigned long long dlpi_subs;\n" " /* Incremented when an object may\n" " have been removed */\n" " size_t dlpi_tls_modid;\n" " /* If there is a PT_TLS segment, its module\n" " ID as used in TLS relocations, else zero */\n" " void *dlpi_tls_data;\n" " /* The address of the calling thread\\[aq]s instance\n" " of this module\\[aq]s PT_TLS segment, if it has\n" " one and it has been allocated in the calling\n" " thread, otherwise a null pointer */\n" "};\n" msgstr "" " unsigned long long dlpi_adds;\n" " /* Incrémenté lorsqu'un nouvel objet\n" " peut avoir été ajouté. */\n" " unsigned long long dlpi_subs;\n" " /* Incrémenté lorsqu'un objet peut\n" " avoir été supprimé. */\n" " size_t dlpi_tls_modid;\n" " /* S'il y a un segment PT_TLS, son ID de module comme\n" " utilisé par les relocalisations TLS, zéro sinon. */\n" " void *dlpi_tls_data;\n" " /* L'adresse dans l'instance du thread appelant\n" " de ce segment PT_TLS du module, s'il en a un\n" " et s'il a été alloué dans le thread appelant,\n" " un pointeur NULL sinon. */\n" "};\n" #. type: Plain text #: debian-bookworm msgid "B() has been supported since glibc 2.2.4." msgstr "B() est géré depuis la glibc 2.2.4." #. type: Plain text #: debian-bookworm msgid "" "The B() function is not specified in any standard. " "Various other systems provide a version of this function, although details " "of the returned I structure differ. On the BSDs and Solaris, " "the structure includes the fields I, I, I, " "and I in addition to other implementation-specific fields." msgstr "" "La fonction B() n'est spécifiée par aucune norme. De " "nombreux autres systèmes fournissent une version de cette fonction bien que " "les détails de la structure I soient différents. Sur les BSD " "et Solaris, la structure inclut les champs I, I, " "I et I en plus d'autres champs spécifiques à chaque " "implémentation." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Elink.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" msgstr "" "#define _GNU_SOURCE\n" "#include Elink.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "static int\n" "callback(struct dl_phdr_info *info, size_t size, void *data)\n" "{\n" " char *type;\n" " int p_type;\n" msgstr "" "static int\n" "callback(struct dl_phdr_info *info, size_t size, void *data)\n" "{\n" " char *type;\n" " int p_type;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\"Name: \\e\"%s\\e\" (%d segments)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" msgstr "" " printf(\"Nom : \\e\"%s\\e\" (%d segments)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " for (size_t j = 0; j E info-Edlpi_phnum; j++) {\n" " p_type = info-Edlpi_phdr[j].p_type;\n" " type = (p_type == PT_LOAD) ? \"PT_LOAD\" :\n" " (p_type == PT_DYNAMIC) ? \"PT_DYNAMIC\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_NOTE) ? \"PT_NOTE\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_PHDR) ? \"PT_PHDR\" :\n" " (p_type == PT_TLS) ? \"PT_TLS\" :\n" " (p_type == PT_GNU_EH_FRAME) ? \"PT_GNU_EH_FRAME\" :\n" " (p_type == PT_GNU_STACK) ? \"PT_GNU_STACK\" :\n" " (p_type == PT_GNU_RELRO) ? \"PT_GNU_RELRO\" : NULL;\n" msgstr "" " for (size_t j = 0; j E info-Edlpi_phnum; j++) {\n" " p_type = info-Edlpi_phdr[j].p_type;\n" " type = (p_type == PT_LOAD) ? \"PT_LOAD\" :\n" " (p_type == PT_DYNAMIC) ? \"PT_DYNAMIC\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_NOTE) ? \"PT_NOTE\" :\n" " (p_type == PT_INTERP) ? \"PT_INTERP\" :\n" " (p_type == PT_PHDR) ? \"PT_PHDR\" :\n" " (p_type == PT_TLS) ? \"PT_TLS\" :\n" " (p_type == PT_GNU_EH_FRAME) ? \"PT_GNU_EH_FRAME\" :\n" " (p_type == PT_GNU_STACK) ? \"PT_GNU_STACK\" :\n" " (p_type == PT_GNU_RELRO) ? \"PT_GNU_RELRO\" : NULL;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " printf(\" %2zu: [%14p; memsz:%7jx] flags: %#jx; \", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr),\n" " (uintmax_t) info-Edlpi_phdr[j].p_memsz,\n" " (uintmax_t) info-Edlpi_phdr[j].p_flags);\n" " if (type != NULL)\n" " printf(\"%s\\en\", type);\n" " else\n" " printf(\"[other (%#x)]\\en\", p_type);\n" " }\n" msgstr "" " printf(\" %2zu : [%14p ; taille mémoire :%7jx] drapeaux : %#jx; \", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr),\n" " (uintmax_t) info-Edlpi_phdr[j].p_memsz,\n" " (uintmax_t) info-Edlpi_phdr[j].p_flags);\n" " if (type != NULL)\n" " printf(\"%s\\en\", type);\n" " else\n" " printf(\"[autre (%#x)]\\en\", p_type);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " return 0;\n" "}\n" msgstr "" " return 0;\n" "}\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(void)\n" "{\n" " dl_iterate_phdr(callback, NULL);\n" msgstr "" "int\n" "main(void)\n" "{\n" " dl_iterate_phdr(callback, NULL);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "2023-07-20" msgstr "20 juillet 2023" #. type: TH #: debian-unstable opensuse-tumbleweed #, no-wrap msgid "Linux man-pages 6.05.01" msgstr "Pages du manuel de Linux 6.05.01" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "2023-03-30" msgstr "30 mars 2023" #. type: TH #: opensuse-leap-15-6 #, no-wrap msgid "Linux man-pages 6.04" msgstr "Pages du manuel de Linux 6.04"