# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Yuri Kozlov , 2012-2019. # Иван Павлов , 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 \n" "Language-Team: Russian \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()" msgid "dl_iterate_phdr" msgstr "B()" #. 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, 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 Elink.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* см. 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 #, fuzzy, 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" 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 "ОПИСАНИЕ" #. 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 "" "Функция B() позволяет приложению во время выполнения " "узнать, какие общие объекты были загружены и их порядок загрузки." #. 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 "" "Функция B() обходит список общих объектов приложения и " "однократно вызывает функцию I для каждого объекта до тех пор, пока " "или все общие объекты не будут просмотрены, или функция I не " "вернёт ненулевое значение." #. 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 "" "При каждом вызове в I передаётся три параметра: I (указатель " "на структуру с информацией об общем объекте), I (размер структуры, на " "которую указывает I) и I (копия любого значения, переданного " "вызывающей программой во втором параметре (также называемом I) в вызов " "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 "Параметр I представляет собой структуру следующего вида:" #. 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 */\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 "" " 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() 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 "" "(Макрос I() преобразует свой аргумент в имя типа данных ELF, " "подходящее для аппаратной архитектуры. Например, на 32-битной платформе " "I вернёт имя типа данных I. Дополнительную " "информацию можно найти в заголовочных файлах Ielf.hE> и " "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 "" "В поле I указывается базовый адрес общего объекта (т. е., разница " "между виртуальным адресом памяти общего объекта и смещением до этого объекта " "в файле, из которого он был загружен). Поле I представляет собой " "строку с 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 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 "" "Чтобы понять назначение полей I и I, нам необходимо " "представлять, что общий объект ELF состоит из набора сегментов, каждый из " "которых имеет соответствующий программный заголовок, описывающий сегмент. " "Поле I представляет собой указатель на массив программных " "заголовков этого общего объекта. В поле I задаётся размер этого " "массива." #. 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, in virtual memory using the formula:" msgstr "" "Заметим, что мы можем вычислить расположение определённого программного " "заголовка I в виртуальной памяти по следующей формуле:" #. 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 "" "Возможными значениями I поля могут быть (подробности смотрите в " "Ielf.hE>):" #. 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() function returns whatever value was returned by " "the last call to I." msgstr "" "Функция B() возвращает значение, которое было получено в " "результате последнего вызова 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 "АТРИБУТЫ" #. 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 "Описание терминов данного раздела смотрите в 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 "Интерфейс" #. 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()" 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 "Безвредность в нитях" #. 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() 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." 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 "" "Функция B() не описана в каком-либо стандарте. Эта функция " "есть в некоторых других системах, при чём возвращаемая структура " "I имеет другой формат. В BSD и Solaris, в структуре есть поля " "I, I, I и I (помимо других " "внесённых реализацией полей)." #. 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 "" "В будущих версиях библиотеки C в структуре I могут появиться " "дополнительные поля; для этого случая предусмотрен аргумент I, который " "предоставляет вызываемой функции механизм обнаружения того, что она работает " "в системе с добавленными полями." #. 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 is the main program. For the main " "program, the I field will be an empty string." msgstr "" "Первый объект, просматриваемый I, это главная программа. У главной " "программы поле I будет содержать пустую строку." #. 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 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" 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 "" " for (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" #. 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(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 в веб." #. 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 */\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 */\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 "" " /* Следующие поля были добавлены в glibc 2.4, после опубликования\n" " первой версии этой структуры. Из аргумента I,\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() has been supported in glibc since version 2.2.4." msgid "B() has been supported since glibc 2.2.4." msgstr "Функция B() доступна в 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 "" "Функция B() не описана в каком-либо стандарте. Эта функция " "есть в некоторых других системах, при чём возвращаемая структура " "I имеет другой формат. В BSD и Solaris, в структуре есть поля " "I, I, I и I (помимо других " "внесённых реализацией полей)." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| "#define _GNU_SOURCE\n" #| "#include Edlfcn.hE\n" #| "#include Elink.hE\n" #| "#include Estdio.hE\n" #| "#include Estdlib.hE\n" 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 Edlfcn.hE\n" "#include Elink.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\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-Edlpi_name,\n" " info-Edlpi_phnum);\n" msgstr "" " printf(\"Имя: \\e\"%s\\e\" (%d сегментов)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " for (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" 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 (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 #, fuzzy, no-wrap #| msgid "" #| " printf(\" %2d: [%14p; memsz:%7lx] flags: 0x%x; \", j,\n" #| " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr),\n" #| " info-Edlpi_phdr[j].p_memsz,\n" #| " info-Edlpi_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-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(\" %2d: [%14p; memsz:%7lx] flags: 0x%x; \", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr),\n" " info-Edlpi_phdr[j].p_memsz,\n" " info-Edlpi_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"