diff options
Diffstat (limited to 'po/ru/man3/dl_iterate_phdr.3.po')
-rw-r--r-- | po/ru/man3/dl_iterate_phdr.3.po | 1083 |
1 files changed, 1083 insertions, 0 deletions
diff --git a/po/ru/man3/dl_iterate_phdr.3.po b/po/ru/man3/dl_iterate_phdr.3.po new file mode 100644 index 00000000..7ecb2023 --- /dev/null +++ b/po/ru/man3/dl_iterate_phdr.3.po @@ -0,0 +1,1083 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Yuri Kozlov <yuray@komyakino.ru>, 2012-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-01 16:55+0100\n" +"PO-Revision-Date: 2019-08-29 09:55+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<dl_iterate_phdr>()" +msgid "dl_iterate_phdr" +msgstr "B<dl_iterate_phdr>()" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "31 октября 2023 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 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 "ИМЯ" + +#. 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 - обход списка общих объектов" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. 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<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "СИНТАКСИС" + +#. 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 E<lt>link.hE<gt>>\n" +msgstr "" +"B<#define _GNU_SOURCE> /* см. feature_test_macros(7) */\n" +"B<#include E<lt>link.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<int dl_iterate_phdr(>\n" +#| "B< int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n" +#| "B< size_t >I<size>B<, void *>I<data>B<),>\n" +#| "B< void *>I<data>B<);>\n" +msgid "" +"B<int dl_iterate_phdr(>\n" +"B< int (*>I<callback>B<)(struct dl_phdr_info *>I<info>B<,>\n" +"B< size_t >I<size>B<, void *>I<data>B<),>\n" +"B< void *>I<data>B<);>\n" +msgstr "" +"B<int dl_iterate_phdr(>\n" +"B< int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n" +"B< size_t >I<size>B<, void *>I<data>B<),>\n" +"B< void *>I<data>B<);>\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 "ОПИСАНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<dl_iterate_phdr>() 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 "" +"Функция B<dl_iterate_phdr>() позволяет приложению во время выполнения " +"узнать, какие общие объекты были загружены и их порядок загрузки." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<dl_iterate_phdr>() function walks through the list of an " +"application's shared objects and calls the function I<callback> once for " +"each object, until either all shared objects have been processed or " +"I<callback> returns a nonzero value." +msgstr "" +"Функция B<dl_iterate_phdr>() обходит список общих объектов приложения и " +"однократно вызывает функцию I<callback> для каждого объекта до тех пор, пока " +"или все общие объекты не будут просмотрены, или функция I<callback> не " +"вернёт ненулевое значение." + +#. 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<callback> receives three arguments: I<info>, which is a " +"pointer to a structure containing information about the shared object; " +"I<size>, which is the size of the structure pointed to by I<info>; and " +"I<data>, which is a copy of whatever value was passed by the calling program " +"as the second argument (also named I<data>) in the call to " +"B<dl_iterate_phdr>()." +msgstr "" +"При каждом вызове в I<callback> передаётся три параметра: I<info> (указатель " +"на структуру с информацией об общем объекте), I<size> (размер структуры, на " +"которую указывает I<info>) и I<data> (копия любого значения, переданного " +"вызывающей программой во втором параметре (также называемом I<data>) в вызов " +"B<dl_iterate_phdr>()." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The I<info> argument is a structure of the following type:" +msgstr "Параметр I<info> представляет собой структуру следующего вида:" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| " unsigned long long int dlpi_adds;\n" +#| " /* Incremented when a new object may\n" +#| " have been added */\n" +#| " unsigned long long int 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's instance\n" +#| " of this module'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" +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<dlpi_phdr> */\n" +"\\&\n" +" /* The following fields were added in glibc 2.4, after the first\n" +" version of this structure was available. Check the I<size>\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 "" +" unsigned long long int dlpi_adds;\n" +" /* увеличивается, когда мог быть\n" +" добавлен новый объект */\n" +" unsigned long long int dlpi_subs;\n" +" /* увеличивается, когда мог быть\n" +" удалён новый объект */\n" +" size_t dlpi_tls_modid;\n" +" /* если существует сегмент PT_TLS, это его\n" +" ID модуля, используемый в\n" +" перестановках TLS, иначе 0 */\n" +" void *dlpi_tls_data;\n" +" /* адрес экземпляра вызывающей нити\n" +" сегмента PT_TLS этого модуля, если он есть\n" +" и был выделен в вызывающей нити,\n" +" иначе указатель null */\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<ElfW>() 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<ElfW(Addr)> yields the data type name I<Elf32_Addr>. Further " +"information on these types can be found in the I<E<lt>elf.hE<gt>> and " +"I<E<lt>link.hE<gt>> header files.)" +msgstr "" +"(Макрос I<ElfW>() преобразует свой аргумент в имя типа данных ELF, " +"подходящее для аппаратной архитектуры. Например, на 32-битной платформе " +"I<ElfW(Addr)> вернёт имя типа данных I<Elf32_Addr>. Дополнительную " +"информацию можно найти в заголовочных файлах I<E<lt>elf.hE<gt>> и " +"I<E<lt>link.hE<gt>>.)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<dlpi_addr> 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<dlpi_name> field is a null-terminated string giving the pathname from " +"which the shared object was loaded." +msgstr "" +"В поле I<dlpi_addr> указывается базовый адрес общего объекта (т. е., разница " +"между виртуальным адресом памяти общего объекта и смещением до этого объекта " +"в файле, из которого он был загружен). Поле I<dlpi_name> представляет собой " +"строку с null на конце, определяющую путь, из которого был загружен общий " +"объект." + +#. 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<dlpi_phdr> and I<dlpi_phnum> 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<dlpi_phdr> field is a pointer to an array of the program headers for " +"this shared object. The I<dlpi_phnum> field indicates the size of this " +"array." +msgstr "" +"Чтобы понять назначение полей I<dlpi_phdr> и I<dlpi_phnum>, нам необходимо " +"представлять, что общий объект ELF состоит из набора сегментов, каждый из " +"которых имеет соответствующий программный заголовок, описывающий сегмент. " +"Поле I<dlpi_phdr> представляет собой указатель на массив программных " +"заголовков этого общего объекта. В поле I<dlpi_phnum> задаётся размер этого " +"массива." + +#. 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 "Программные заголовки представляют собой структуры следующего вида:" + +#. 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" +" Elf32_Word p_type; /* тип сегмента */\n" +" Elf32_Off p_offset; /* смещение сегмента в файле */\n" +" Elf32_Addr p_vaddr; /* виртуальный адрес сегмента */\n" +" Elf32_Addr p_paddr; /* физический адрес сегмента */\n" +" Elf32_Word p_filesz; /* размер сегмента в файле */\n" +" Elf32_Word p_memsz; /* размер сегмента в памяти */\n" +" Elf32_Word p_flags; /* флаги сегмента */\n" +" Elf32_Word p_align; /* выравнивание сегмента */\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<x>, in virtual memory using the formula:" +msgstr "" +"Заметим, что мы можем вычислить расположение определённого программного " +"заголовка I<x> в виртуальной памяти по следующей формуле:" + +#. 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-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n" +msgstr "addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_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<p_type> include the following (see I<E<lt>elf.hE<gt>> " +"for further details):" +msgstr "" +"Возможными значениями I<p_type> поля могут быть (подробности смотрите в " +"I<E<lt>elf.hE<gt>>):" + +#. 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 /* загружаемый сегмент программы */\n" +"#define PT_DYNAMIC 2 /* информация о динамической компоновке */\n" +"#define PT_INTERP 3 /* интерпретатор программы */\n" +"#define PT_NOTE 4 /* вспомогательная информация */\n" +"#define PT_SHLIB 5 /* зарезервировано */\n" +"#define PT_PHDR 6 /* сам элемент таблицы заголовков */\n" +"#define PT_TLS 7 /* сегмент локального хранилища нити */\n" +"#define PT_GNU_EH_FRAME 0x6474e550 /* сегмент GCC .eh_frame_hdr */\n" +"#define PT_GNU_STACK 0x6474e551 /* показывает, что стек — исполняемый */\n" +"#define PT_GNU_RELRO 0x6474e552 /* только чтения после перемещения */\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 "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<dl_iterate_phdr>() function returns whatever value was returned by " +"the last call to I<callback>." +msgstr "" +"Функция B<dl_iterate_phdr>() возвращает значение, которое было получено в " +"результате последнего вызова I<callback>." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ATTRIBUTES" +msgstr "АТРИБУТЫ" + +#. 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<attributes>(7)." +msgstr "Описание терминов данного раздела смотрите в B<attributes>(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 "Интерфейс" + +#. 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 "Атрибут" + +#. 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 "Значение" + +#. 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<dl_iterate_phdr>()" +msgstr "B<dl_iterate_phdr>()" + +#. 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 "Безвредность в нитях" + +#. 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 "ВЕРСИИ" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B<dl_iterate_phdr>() function is not specified in any standard. " +#| "Various other systems provide a version of this function, although " +#| "details of the returned I<dl_phdr_info> structure differ. On the BSDs " +#| "and Solaris, the structure includes the fields I<dlpi_addr>, " +#| "I<dlpi_name>, I<dlpi_phdr>, and I<dlpi_phnum> in addition to other " +#| "implementation-specific fields." +msgid "" +"Various other systems provide a version of this function, although details " +"of the returned I<dl_phdr_info> structure differ. On the BSDs and Solaris, " +"the structure includes the fields I<dlpi_addr>, I<dlpi_name>, I<dlpi_phdr>, " +"and I<dlpi_phnum> in addition to other implementation-specific fields." +msgstr "" +"Функция B<dl_iterate_phdr>() не описана в каком-либо стандарте. Эта функция " +"есть в некоторых других системах, при чём возвращаемая структура " +"I<dl_phdr_info> имеет другой формат. В BSD и Solaris, в структуре есть поля " +"I<dlpi_addr>, I<dlpi_name>, I<dlpi_phdr> и I<dlpi_phnum> (помимо других " +"внесённых реализацией полей)." + +#. 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<dl_phdr_info> structure; in that event, the I<size> argument provides a " +"mechanism for the callback function to discover whether it is running on a " +"system with added fields." +msgstr "" +"В будущих версиях библиотеки C в структуре I<dl_phdr_info> могут появиться " +"дополнительные поля; для этого случая предусмотрен аргумент I<size>, который " +"предоставляет вызываемой функции механизм обнаружения того, что она работает " +"в системе с добавленными полями." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "СТАНДАРТЫ" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "None" +msgid "None." +msgstr "None" + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "ИСТОРИЯ" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "Since glibc 2.2.2:" +msgid "glibc 2.2.4." +msgstr "Начиная с glibc 2.2.2:" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. 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<callback> is the main program. For the main " +"program, the I<dlpi_name> field will be an empty string." +msgstr "" +"Первый объект, просматриваемый I<callback>, это главная программа. У главной " +"программы поле I<dlpi_name> будет содержать пустую строку." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "EXAMPLES" +msgstr "ПРИМЕРЫ" + +#. 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 "" +"Следующая программа выводит список путей общих объектов, из которых они были " +"загружены. Для каждого общего объекта программа выводит информацию из " +"каждого сегмента объектов 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 "" +"В следующем сеансе оболочки показан вывод программы, запущенной в системе с " +"архитектурой x86-64. Первый показанный общий объект это основная программа " +"(вместо имени пустая строка)." + +#. 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" +"Имя: \"\" (9 сегментов)\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" +"Имя: \"linux-vdso.so.1\" (4 сегментов)\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" +"Имя: \"/lib64/libc.so.6\" (10 сегментов)\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" +"Имя: \"/lib64/ld-linux-x86-64.so.2\" (7 сегментов)\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 "Исходный код программы" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| " for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n" +#| " p_type = info-E<gt>dlpi_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" +msgid "" +"#define _GNU_SOURCE\n" +"#include E<lt>link.hE<gt>\n" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\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-E<gt>dlpi_name,\n" +" info-E<gt>dlpi_phnum);\n" +"\\&\n" +" for (size_t j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n" +" p_type = info-E<gt>dlpi_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-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr),\n" +" (uintmax_t) info-E<gt>dlpi_phdr[j].p_memsz,\n" +" (uintmax_t) info-E<gt>dlpi_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 "" +" for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n" +" p_type = info-E<gt>dlpi_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" + +#. 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 "СМ. ТАКЖЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dladdr>(3), B<dlopen>(3), " +"B<elf>(5), B<ld.so>(8)" +msgstr "" +"B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dladdr>(3), B<dlopen>(3), " +"B<elf>(5), B<ld.so>(8)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<Executable and Linking Format Specification>, available at various " +"locations online." +msgstr "I<Executable and Linking Format Specification> в веб." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 февраля 2023 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 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<dlpi_phdr> */\n" +msgstr "" +"struct dl_phdr_info {\n" +" ElfW(Addr) dlpi_addr; /* базовый адрес объекта */\n" +" const char *dlpi_name; /* имя объекта\n" +" (оканчивается Null) */\n" +" const ElfW(Phdr) *dlpi_phdr; /* указатель на массив\n" +" программных заголовков ELF\n" +" этого объекта */\n" +" ElfW(Half) dlpi_phnum; /* кол-во элементов в I<dlpi_phdr> */\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<size>\n" +" argument passed to the dl_iterate_phdr callback to determine\n" +" whether or not each later member is available. */\n" +msgstr "" +" /* Следующие поля были добавлены в glibc 2.4, после опубликования\n" +" первой версии этой структуры. Из аргумента I<size>,\n" +" передаваемом в dl_iterate_phdr, можно определить\n" +" были ли добавлены новые члены. */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " unsigned long long int dlpi_adds;\n" +#| " /* Incremented when a new object may\n" +#| " have been added */\n" +#| " unsigned long long int 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's instance\n" +#| " of this module'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" +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 int dlpi_adds;\n" +" /* увеличивается, когда мог быть\n" +" добавлен новый объект */\n" +" unsigned long long int dlpi_subs;\n" +" /* увеличивается, когда мог быть\n" +" удалён новый объект */\n" +" size_t dlpi_tls_modid;\n" +" /* если существует сегмент PT_TLS, это его\n" +" ID модуля, используемый в\n" +" перестановках TLS, иначе 0 */\n" +" void *dlpi_tls_data;\n" +" /* адрес экземпляра вызывающей нити\n" +" сегмента PT_TLS этого модуля, если он есть\n" +" и был выделен в вызывающей нити,\n" +" иначе указатель null */\n" +"};\n" + +#. type: Plain text +#: debian-bookworm +#, fuzzy +#| msgid "" +#| "B<dl_iterate_phdr>() has been supported in glibc since version 2.2.4." +msgid "B<dl_iterate_phdr>() has been supported since glibc 2.2.4." +msgstr "Функция B<dl_iterate_phdr>() доступна в glibc начиная с версии 2.2.4." + +#. type: Plain text +#: debian-bookworm +msgid "" +"The B<dl_iterate_phdr>() function is not specified in any standard. " +"Various other systems provide a version of this function, although details " +"of the returned I<dl_phdr_info> structure differ. On the BSDs and Solaris, " +"the structure includes the fields I<dlpi_addr>, I<dlpi_name>, I<dlpi_phdr>, " +"and I<dlpi_phnum> in addition to other implementation-specific fields." +msgstr "" +"Функция B<dl_iterate_phdr>() не описана в каком-либо стандарте. Эта функция " +"есть в некоторых других системах, при чём возвращаемая структура " +"I<dl_phdr_info> имеет другой формат. В BSD и Solaris, в структуре есть поля " +"I<dlpi_addr>, I<dlpi_name>, I<dlpi_phdr> и I<dlpi_phnum> (помимо других " +"внесённых реализацией полей)." + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "#define _GNU_SOURCE\n" +#| "#include E<lt>dlfcn.hE<gt>\n" +#| "#include E<lt>link.hE<gt>\n" +#| "#include E<lt>stdio.hE<gt>\n" +#| "#include E<lt>stdlib.hE<gt>\n" +msgid "" +"#define _GNU_SOURCE\n" +"#include E<lt>link.hE<gt>\n" +"#include E<lt>stdint.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +msgstr "" +"#define _GNU_SOURCE\n" +"#include E<lt>dlfcn.hE<gt>\n" +"#include E<lt>link.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, 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, j;\n" +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, j;\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" printf(\"Name: \\e\"%s\\e\" (%d segments)\\en\", info-E<gt>dlpi_name,\n" +" info-E<gt>dlpi_phnum);\n" +msgstr "" +" printf(\"Имя: \\e\"%s\\e\" (%d сегментов)\\en\", info-E<gt>dlpi_name,\n" +" info-E<gt>dlpi_phnum);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| " for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n" +#| " p_type = info-E<gt>dlpi_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" +msgid "" +" for (size_t j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n" +" p_type = info-E<gt>dlpi_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 (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n" +" p_type = info-E<gt>dlpi_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 +#, fuzzy, no-wrap +#| msgid "" +#| " printf(\" %2d: [%14p; memsz:%7lx] flags: 0x%x; \", j,\n" +#| " (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr),\n" +#| " info-E<gt>dlpi_phdr[j].p_memsz,\n" +#| " info-E<gt>dlpi_phdr[j].p_flags);\n" +#| " if (type != NULL)\n" +#| " printf(\"%s\\en\", type);\n" +#| " else\n" +#| " printf(\"[other (0x%x)]\\en\", p_type);\n" +#| " }\n" +msgid "" +" printf(\" %2zu: [%14p; memsz:%7jx] flags: %#jx; \", j,\n" +" (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr),\n" +" (uintmax_t) info-E<gt>dlpi_phdr[j].p_memsz,\n" +" (uintmax_t) info-E<gt>dlpi_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(\" %2d: [%14p; memsz:%7lx] flags: 0x%x; \", j,\n" +" (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr),\n" +" info-E<gt>dlpi_phdr[j].p_memsz,\n" +" info-E<gt>dlpi_phdr[j].p_flags);\n" +" if (type != NULL)\n" +" printf(\"%s\\en\", type);\n" +" else\n" +" printf(\"[другой (0x%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 +#, fuzzy, no-wrap +#| msgid "" +#| "int\n" +#| "main(int argc, char *argv[])\n" +#| "{\n" +#| " dl_iterate_phdr(callback, NULL);\n" +msgid "" +"int\n" +"main(void)\n" +"{\n" +" dl_iterate_phdr(callback, NULL);\n" +msgstr "" +"int\n" +"main(int argc, char *argv[])\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 июля 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "30 марта 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |