#, fuzzy msgid "" msgstr "" "Project-Id-Version: man-pages-l10n VERSION\n" "POT-Creation-Date: 2014-07-17 17:57+0900\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: man-pages/man5/elf.5:35 #, no-wrap msgid "ELF" msgstr "" #. type: TH #: man-pages/man5/elf.5:35 #, no-wrap msgid "2013-04-17" msgstr "" #. type: TH #: man-pages/man5/elf.5:35 #, no-wrap msgid "Linux" msgstr "" #. type: TH #: man-pages/man5/elf.5:35 #, no-wrap msgid "Linux Programmer's Manual" msgstr "" #. type: SH #: man-pages/man5/elf.5:36 #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:38 msgid "elf - format of Executable and Linking Format (ELF) files" msgstr "" #. type: SH #: man-pages/man5/elf.5:38 #, no-wrap msgid "SYNOPSIS" msgstr "" #. .B #include #. type: Plain text #: man-pages/man5/elf.5:42 #, no-wrap msgid "B<#include Eelf.hE>\n" msgstr "" #. type: SH #: man-pages/man5/elf.5:43 #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:50 msgid "" "The header file Ielf.hE> defines the format of ELF executable " "binary files. Amongst these files are normal executable files, relocatable " "object files, core files and shared libraries." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:59 msgid "" "An executable file using the ELF file format consists of an ELF header, " "followed by a program header table or a section header table, or both. The " "ELF header is always at offset zero of the file. The program header table " "and the section header table's offset in the file are defined in the ELF " "header. The two tables describe the rest of the particularities of the file." "" msgstr "" #. Applications which wish to process ELF binary files for their native #. architecture only should include #. .I #. in their source code. #. These applications should need to refer to #. all the types and structures by their generic names #. "Elf_xxx" #. and to the macros by #. ELF_xxx". #. Applications written this way can be compiled on any architecture, #. regardless of whether the host is 32-bit or 64-bit. #. .PP #. Should an application need to process ELF files of an unknown #. architecture, then the application needs to explicitly use either #. "Elf32_xxx" #. or #. "Elf64_xxx" #. type and structure names. #. Likewise, the macros need to be identified by #. "ELF32_xxx" #. or #. "ELF64_xxx". #. .PP #. type: Plain text #: man-pages/man5/elf.5:86 msgid "" "This header file describes the above mentioned headers as C structures and " "also includes structures for dynamic sections, relocation sections and " "symbol tables." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:98 msgid "" "The following types are used for N-bit architectures (N=32,64, I " "stands for I or I, I stands for I or " "I):" msgstr "" #. Elf32_Size Unsigned object size #. type: Plain text #: man-pages/man5/elf.5:112 #, no-wrap msgid "" "ElfN_Addr Unsigned program address, uintN_t\n" "ElfN_Off Unsigned file offset, uintN_t\n" "ElfN_Section Unsigned section index, uint16_t\n" "ElfN_Versym Unsigned version symbol information, uint16_t\n" "Elf_Byte unsigned char\n" "ElfN_Half uint16_t\n" "ElfN_Sword int32_t\n" "ElfN_Word uint32_t\n" "ElfN_Sxword int64_t\n" "ElfN_Xword uint64_t\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:127 msgid "" "(Note: The *BSD terminology is a bit different. There I is " "twice as large as I, and I is used for I." " In order to avoid confusion these types are replaced by explicit ones in " "the below.)" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:134 msgid "" "All data structures that the file format defines follow the \"natural\" size " "and alignment guidelines for the relevant class. If necessary, data " "structures contain explicit padding to ensure 4-byte alignment for 4-byte " "objects, to force structure sizes to a multiple of 4, and so on." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:139 msgid "" "The ELF header is described by the type I or I:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:143 #, no-wrap msgid "#define EI_NIDENT 16\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:160 #, no-wrap msgid "" "typedef struct {\n" " unsigned char e_ident[EI_NIDENT];\n" " uint16_t e_type;\n" " uint16_t e_machine;\n" " uint32_t e_version;\n" " ElfN_Addr e_entry;\n" " ElfN_Off e_phoff;\n" " ElfN_Off e_shoff;\n" " uint32_t e_flags;\n" " uint16_t e_ehsize;\n" " uint16_t e_phentsize;\n" " uint16_t e_phnum;\n" " uint16_t e_shentsize;\n" " uint16_t e_shnum;\n" " uint16_t e_shstrndx;\n" "} ElfN_Ehdr;\n" msgstr "" #. .Bl -tag -width "e_phentsize" #. type: Plain text #: man-pages/man5/elf.5:165 msgid "The fields have the following meanings:" msgstr "" #. type: TP #: man-pages/man5/elf.5:165 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:175 msgid "" "This array of bytes specifies to interpret the file, independent of the " "processor or the file's remaining contents. Within this array everything is " "named by macros, which start with the prefix B and may contain values " "which start with the prefix B. The following macros are defined:" msgstr "" #. type: TP #: man-pages/man5/elf.5:177 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:183 msgid "" "The first byte of the magic number. It must be filled with B. (0: " "0x7f)" msgstr "" #. type: TP #: man-pages/man5/elf.5:183 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:189 msgid "" "The second byte of the magic number. It must be filled with B. (1:" " \\(aqE\\(aq)" msgstr "" #. type: TP #: man-pages/man5/elf.5:189 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:195 msgid "" "The third byte of the magic number. It must be filled with B. (2: " "\\(aqL\\(aq)" msgstr "" #. type: TP #: man-pages/man5/elf.5:195 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:201 msgid "" "The fourth byte of the magic number. It must be filled with B. (3:" " \\(aqF\\(aq)" msgstr "" #. type: TP #: man-pages/man5/elf.5:201 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:204 msgid "The fifth byte identifies the architecture for this binary:" msgstr "" #. type: TP #: man-pages/man5/elf.5:206 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:210 msgid "This class is invalid." msgstr "" #. type: TP #: man-pages/man5/elf.5:210 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:215 msgid "" "This defines the 32-bit architecture. It supports machines with files and " "virtual address spaces up to 4 Gigabytes." msgstr "" #. type: TP #: man-pages/man5/elf.5:215 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:218 msgid "This defines the 64-bit architecture." msgstr "" #. type: TP #: man-pages/man5/elf.5:221 #, no-wrap msgid "B" msgstr "" #. .Bl -tag -width "ELFDATA2LSB" -compact #. type: Plain text #: man-pages/man5/elf.5:227 msgid "" "The sixth byte specifies the data encoding of the processor-specific data in " "the file. Currently these encodings are supported:" msgstr "" #. type: TP #: man-pages/man5/elf.5:228 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:232 msgid "Unknown data format." msgstr "" #. type: TP #: man-pages/man5/elf.5:232 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:235 msgid "Two's complement, little-endian." msgstr "" #. type: TP #: man-pages/man5/elf.5:235 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:238 msgid "Two's complement, big-endian." msgstr "" #. type: TP #: man-pages/man5/elf.5:241 #, no-wrap msgid "B" msgstr "" #. .Bl -tag -width "EV_CURRENT" -compact #. type: Plain text #: man-pages/man5/elf.5:246 msgid "The seventh byte is the version number of the ELF specification:" msgstr "" #. type: TP #: man-pages/man5/elf.5:247 man-pages/man5/elf.5:501 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:250 man-pages/man5/elf.5:505 msgid "Invalid version." msgstr "" #. type: TP #: man-pages/man5/elf.5:250 man-pages/man5/elf.5:505 #, no-wrap msgid "B" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:253 man-pages/man5/elf.5:509 msgid "Current version." msgstr "" #. type: TP #: man-pages/man5/elf.5:256 #, no-wrap msgid "B" msgstr "" #. .Bl -tag -width "ELFOSABI_STANDALONE" -compact #. type: Plain text #: man-pages/man5/elf.5:265 msgid "" "The eighth byte identifies the operating system and ABI to which the object " "is targeted. Some fields in other ELF structures have flags and values that " "have platform-specific meanings; the interpretation of those fields is " "determined by the value of this byte. For example:" msgstr "" #. type: TP #: man-pages/man5/elf.5:266 #, no-wrap msgid "B" msgstr "" #. 0 #. type: Plain text #: man-pages/man5/elf.5:271 msgid "Same as ELFOSABI_SYSV" msgstr "" #. type: TP #: man-pages/man5/elf.5:271 #, no-wrap msgid "B" msgstr "" #. 0 #. synonym: ELFOSABI_NONE #. type: Plain text #: man-pages/man5/elf.5:276 msgid "UNIX System V ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:276 #, no-wrap msgid "B" msgstr "" #. 1 #. type: Plain text #: man-pages/man5/elf.5:280 msgid "HP-UX ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:280 #, no-wrap msgid "B" msgstr "" #. 2 #. type: Plain text #: man-pages/man5/elf.5:284 msgid "NetBSD ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:284 #, no-wrap msgid "B" msgstr "" #. 3 #. .TP #. .BR ELFOSABI_HURD #. Hurd ABI. #. 4 #. .TP #. .BR ELFOSABI_86OPEN #. 86Open Common IA32 ABI. #. 5 #. type: Plain text #: man-pages/man5/elf.5:296 msgid "Linux ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:296 #, no-wrap msgid "B" msgstr "" #. 6 #. .TP #. .BR ELFOSABI_MONTEREY #. Monterey project ABI. #. Now replaced by #. ELFOSABI_AIX #. 7 #. type: Plain text #: man-pages/man5/elf.5:306 msgid "Solaris ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:306 #, no-wrap msgid "B" msgstr "" #. 8 #. type: Plain text #: man-pages/man5/elf.5:310 msgid "IRIX ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:310 #, no-wrap msgid "B" msgstr "" #. 9 #. type: Plain text #: man-pages/man5/elf.5:314 msgid "FreeBSD ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:314 #, no-wrap msgid "B" msgstr "" #. 10 #. ELFOSABI_MODESTO #. 11 #. ELFOSABI_OPENBSD #. 12 #. type: Plain text #: man-pages/man5/elf.5:322 msgid "TRU64 UNIX ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:322 #, no-wrap msgid "B" msgstr "" #. 97 #. type: Plain text #: man-pages/man5/elf.5:326 msgid "ARM architecture ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:326 #, no-wrap msgid "B" msgstr "" #. 255 #. .El #. type: Plain text #: man-pages/man5/elf.5:331 msgid "Stand-alone (embedded) ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:333 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:343 msgid "" "The ninth byte identifies the version of the ABI to which the object is " "targeted. This field is used to distinguish among incompatible versions of " "an ABI. The interpretation of this version number is dependent on the ABI " "identified by the B field. Applications conforming to this " "specification use the value 0." msgstr "" #. type: TP #: man-pages/man5/elf.5:343 #, no-wrap msgid "B" msgstr "" #. As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is #. not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html) #. It looks to be a BSDism #. .TP #. .BR EI_BRAND #. Start of architecture identification. #. type: Plain text #: man-pages/man5/elf.5:359 msgid "" "Start of padding. These bytes are reserved and set to zero. Programs which " "read them should ignore them. The value for B will change in the " "future if currently unused bytes are given meanings." msgstr "" #. type: TP #: man-pages/man5/elf.5:359 #, no-wrap msgid "B" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:365 msgid "The size of the I array." msgstr "" #. type: TP #: man-pages/man5/elf.5:366 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:369 msgid "This member of the structure identifies the object file type:" msgstr "" #. type: TP #: man-pages/man5/elf.5:371 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:375 msgid "An unknown type." msgstr "" #. type: TP #: man-pages/man5/elf.5:375 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:378 msgid "A relocatable file." msgstr "" #. type: TP #: man-pages/man5/elf.5:378 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:381 msgid "An executable file." msgstr "" #. type: TP #: man-pages/man5/elf.5:381 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:384 msgid "A shared object." msgstr "" #. type: TP #: man-pages/man5/elf.5:384 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:387 msgid "A core file." msgstr "" #. type: TP #: man-pages/man5/elf.5:390 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:394 msgid "" "This member specifies the required architecture for an individual file. For " "example:" msgstr "" #. type: TP #: man-pages/man5/elf.5:396 #, no-wrap msgid "B" msgstr "" #. 0 #. type: Plain text #: man-pages/man5/elf.5:401 msgid "An unknown machine." msgstr "" #. type: TP #: man-pages/man5/elf.5:401 #, no-wrap msgid "B" msgstr "" #. 1 #. type: Plain text #: man-pages/man5/elf.5:405 msgid "AT&T WE 32100." msgstr "" #. type: TP #: man-pages/man5/elf.5:405 #, no-wrap msgid "B" msgstr "" #. 2 #. type: Plain text #: man-pages/man5/elf.5:409 msgid "Sun Microsystems SPARC." msgstr "" #. type: TP #: man-pages/man5/elf.5:409 #, no-wrap msgid "B" msgstr "" #. 3 #. type: Plain text #: man-pages/man5/elf.5:413 msgid "Intel 80386." msgstr "" #. type: TP #: man-pages/man5/elf.5:413 #, no-wrap msgid "B" msgstr "" #. 4 #. type: Plain text #: man-pages/man5/elf.5:417 msgid "Motorola 68000." msgstr "" #. type: TP #: man-pages/man5/elf.5:417 #, no-wrap msgid "B" msgstr "" #. 5 #. .TP #. .BR EM_486 #. Intel 80486. #. 6 #. type: Plain text #: man-pages/man5/elf.5:425 msgid "Motorola 88000." msgstr "" #. type: TP #: man-pages/man5/elf.5:425 #, no-wrap msgid "B" msgstr "" #. 7 #. type: Plain text #: man-pages/man5/elf.5:429 msgid "Intel 80860." msgstr "" #. type: TP #: man-pages/man5/elf.5:429 #, no-wrap msgid "B" msgstr "" #. 8 #. EM_S370 #. 9 #. .TP #. .BR EM_MIPS_RS4_BE #. MIPS RS4000 (big-endian only). Deprecated. #. 10 #. EM_MIPS_RS3_LE (MIPS R3000 little-endian) #. 10 #. type: Plain text #: man-pages/man5/elf.5:441 msgid "MIPS RS3000 (big-endian only)." msgstr "" #. type: TP #: man-pages/man5/elf.5:441 #, no-wrap msgid "B" msgstr "" #. 15 #. type: Plain text #: man-pages/man5/elf.5:445 msgid "HP/PA." msgstr "" #. type: TP #: man-pages/man5/elf.5:445 #, no-wrap msgid "B" msgstr "" #. 18 #. type: Plain text #: man-pages/man5/elf.5:449 msgid "SPARC with enhanced instruction set." msgstr "" #. type: TP #: man-pages/man5/elf.5:449 #, no-wrap msgid "B" msgstr "" #. 20 #. type: Plain text #: man-pages/man5/elf.5:453 msgid "PowerPC." msgstr "" #. type: TP #: man-pages/man5/elf.5:453 #, no-wrap msgid "B" msgstr "" #. 21 #. type: Plain text #: man-pages/man5/elf.5:457 msgid "PowerPC 64-bit." msgstr "" #. type: TP #: man-pages/man5/elf.5:457 #, no-wrap msgid "B" msgstr "" #. 22 #. type: Plain text #: man-pages/man5/elf.5:461 msgid "IBM S/390" msgstr "" #. type: TP #: man-pages/man5/elf.5:461 #, no-wrap msgid "B" msgstr "" #. 40 #. type: Plain text #: man-pages/man5/elf.5:465 msgid "Advanced RISC Machines" msgstr "" #. type: TP #: man-pages/man5/elf.5:465 #, no-wrap msgid "B" msgstr "" #. 42 #. type: Plain text #: man-pages/man5/elf.5:469 msgid "Renesas SuperH" msgstr "" #. type: TP #: man-pages/man5/elf.5:469 #, no-wrap msgid "B" msgstr "" #. 43 #. type: Plain text #: man-pages/man5/elf.5:473 msgid "SPARC v9 64-bit." msgstr "" #. type: TP #: man-pages/man5/elf.5:473 #, no-wrap msgid "B" msgstr "" #. 50 #. type: Plain text #: man-pages/man5/elf.5:477 msgid "Intel Itanium" msgstr "" #. type: TP #: man-pages/man5/elf.5:477 #, no-wrap msgid "B" msgstr "" #. 62 #. type: Plain text #: man-pages/man5/elf.5:481 msgid "AMD x86-64" msgstr "" #. type: TP #: man-pages/man5/elf.5:481 #, no-wrap msgid "B" msgstr "" #. 75 #. EM_CRIS #. 76 #. .TP #. .BR EM_ALPHA #. Compaq [DEC] Alpha. #. .TP #. .BR EM_ALPHA_EXP #. Compaq [DEC] Alpha with enhanced instruction set. #. type: Plain text #: man-pages/man5/elf.5:493 msgid "DEC Vax." msgstr "" #. type: TP #: man-pages/man5/elf.5:496 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "EV_CURRENT" -compact #. type: Plain text #: man-pages/man5/elf.5:500 msgid "This member identifies the file version:" msgstr "" #. type: TP #: man-pages/man5/elf.5:511 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:517 msgid "" "This member gives the virtual address to which the system first transfers " "control, thus starting the process. If the file has no associated entry " "point, this member holds zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:517 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:522 msgid "" "This member holds the program header table's file offset in bytes. If the " "file has no program header table, this member holds zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:522 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:527 msgid "" "This member holds the section header table's file offset in bytes. If the " "file has no section header table, this member holds zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:527 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:532 msgid "" "This member holds processor-specific flags associated with the file. Flag " "names take the form EF_`machine_flag'. Currently no flags have been defined." "" msgstr "" #. type: TP #: man-pages/man5/elf.5:532 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:535 msgid "This member holds the ELF header's size in bytes." msgstr "" #. type: TP #: man-pages/man5/elf.5:535 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:539 msgid "" "This member holds the size in bytes of one entry in the file's program " "header table; all entries are the same size." msgstr "" #. type: TP #: man-pages/man5/elf.5:539 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:552 msgid "" "This member holds the number of entries in the program header table. Thus " "the product of I and I gives the table's size in bytes." " If a file has no program header, I holds the value zero." msgstr "" #. This is a Linux extension, added in Linux 2.6.34. #. .Bl -tag -width "PN_XNUM" #. type: Plain text #: man-pages/man5/elf.5:566 msgid "" "If the number of entries in the program header table is larger than or equal " "to B (0xffff), this member holds B (0xffff) and the real " "number of entries in the program header table is held in the I " "member of the initial entry in section header table. Otherwise, the " "I member of the initial entry contains the value zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:567 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:572 msgid "" "This is defined as 0xffff, the largest number I can have, " "specifying where the actual number of program headers is assigned." msgstr "" #. type: TP #: man-pages/man5/elf.5:576 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:581 msgid "" "This member holds a sections header's size in bytes. A section header is " "one entry in the section header table; all entries are the same size." msgstr "" #. type: TP #: man-pages/man5/elf.5:581 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:594 msgid "" "This member holds the number of entries in the section header table. Thus " "the product of I and I gives the section header " "table's size in bytes. If a file has no section header table, I " "holds the value of zero." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:606 msgid "" "If the number of entries in the section header table is larger than or equal " "to B (0xff00), I holds the value zero and the real " "number of entries in the section header table is held in the I " "member of the initial entry in section header table. Otherwise, the " "I member of the initial entry in the section header table holds the " "value zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:606 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:613 msgid "" "This member holds the section header table index of the entry associated " "with the section name string table. If the file has no section name string " "table, this member holds the value B." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:625 msgid "" "If the index of section name string table section is larger than or equal to " "B (0xff00), this member holds B (0xffff) and the " "real index of the section name string table section is held in the " "I member of the initial entry in section header table. Otherwise, " "the I member of the initial entry in section header table contains " "the value zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:627 man-pages/man5/elf.5:914 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:636 msgid "" "This value marks an undefined, missing, irrelevant, or otherwise meaningless " "section reference. For example, a symbol \"defined\" relative to section " "number B is an undefined symbol." msgstr "" #. type: TP #: man-pages/man5/elf.5:636 man-pages/man5/elf.5:918 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:639 man-pages/man5/elf.5:921 msgid "This value specifies the lower bound of the range of reserved indices." msgstr "" #. type: TP #: man-pages/man5/elf.5:639 man-pages/man5/elf.5:921 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:644 man-pages/man5/elf.5:926 msgid "" "Values greater than or equal to B are reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:644 man-pages/man5/elf.5:926 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:649 man-pages/man5/elf.5:931 msgid "" "Values less than or equal to B are reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:649 man-pages/man5/elf.5:931 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:656 msgid "" "This value specifies absolute values for the corresponding reference. For " "example, symbols defined relative to section number B have absolute " "values and are not affected by relocation." msgstr "" #. type: TP #: man-pages/man5/elf.5:656 man-pages/man5/elf.5:938 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:660 msgid "" "Symbols defined relative to this section are common symbols, such as Fortran " "COMMON or unallocated C external variables." msgstr "" #. type: TP #: man-pages/man5/elf.5:660 man-pages/man5/elf.5:942 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:673 msgid "" "This value specifies the upper bound of the range of reserved indices " "between B and B, inclusive; the values do not " "reference the section header table. That is, the section header table does " "I contain entries for the reserved indices." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:695 msgid "" "An executable or shared object file's program header table is an array of " "structures, each describing a segment or other information the system needs " "to prepare the program for execution. An object file I contains " "one or more I. Program headers are meaningful only for executable " "and shared object files. A file specifies its own program header size with " "the ELF header's I and I members. The ELF program " "header is described by the type I or I depending on " "the architecture:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:708 #, no-wrap msgid "" "typedef struct {\n" " uint32_t p_type;\n" " Elf32_Off p_offset;\n" " Elf32_Addr p_vaddr;\n" " Elf32_Addr p_paddr;\n" " uint32_t p_filesz;\n" " uint32_t p_memsz;\n" " uint32_t p_flags;\n" " uint32_t p_align;\n" "} Elf32_Phdr;\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:723 #, no-wrap msgid "" "typedef struct {\n" " uint32_t p_type;\n" " uint32_t p_flags;\n" " Elf64_Off p_offset;\n" " Elf64_Addr p_vaddr;\n" " Elf64_Addr p_paddr;\n" " uint64_t p_filesz;\n" " uint64_t p_memsz;\n" " uint64_t p_align;\n" "} Elf64_Phdr;\n" msgstr "" #. .Bl -tag -width "p_offset" #. type: Plain text #: man-pages/man5/elf.5:731 msgid "" "The main difference between the 32-bit and the 64-bit program header lies in " "the location of the I member in the total struct." msgstr "" #. type: TP #: man-pages/man5/elf.5:731 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "PT_DYNAMIC" #. type: Plain text #: man-pages/man5/elf.5:736 msgid "" "This member of the Phdr struct tells what kind of segment this array element " "describes or how to interpret the array element's information." msgstr "" #. type: TP #: man-pages/man5/elf.5:737 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:741 msgid "" "The array element is unused and the other members' values are undefined. " "This lets the program header have ignored entries." msgstr "" #. type: TP #: man-pages/man5/elf.5:741 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:762 msgid "" "The array element specifies a loadable segment, described by I and " "I. The bytes from the file are mapped to the beginning of the " "memory segment. If the segment's memory size I is larger than the " "file size I, the \"extra\" bytes are defined to hold the value 0 " "and to follow the segment's initialized area. The file size may not be " "larger than the memory size. Loadable segment entries in the program header " "table appear in ascending order, sorted on the I member." msgstr "" #. type: TP #: man-pages/man5/elf.5:762 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:765 msgid "The array element specifies dynamic linking information." msgstr "" #. type: TP #: man-pages/man5/elf.5:765 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:773 msgid "" "The array element specifies the location and size of a null-terminated " "pathname to invoke as an interpreter. This segment type is meaningful only " "for executable files (though it may occur for shared objects). However it " "may not occur more than once in a file. If it is present, it must precede " "any loadable segment entry." msgstr "" #. type: TP #: man-pages/man5/elf.5:773 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:776 msgid "" "The array element specifies the location and size for auxiliary information." msgstr "" #. type: TP #: man-pages/man5/elf.5:776 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:781 msgid "" "This segment type is reserved but has unspecified semantics. Programs that " "contain an array element of this type do not conform to the ABI." msgstr "" #. type: TP #: man-pages/man5/elf.5:781 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:790 msgid "" "The array element, if present, specifies the location and size of the " "program header table itself, both in the file and in the memory image of the " "program. This segment type may not occur more than once in a file. " "Moreover, it may occur only if the program header table is part of the " "memory image of the program. If it is present, it must precede any loadable " "segment entry." msgstr "" #. type: TP #: man-pages/man5/elf.5:790 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:795 msgid "" "Values greater than or equal to B are reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:795 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:800 msgid "" "Values less than or equal to B are reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:800 #, no-wrap msgid "B" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:807 msgid "" "GNU extension which is used by the Linux kernel to control the state of the " "stack via the flags set in the I member." msgstr "" #. type: TP #: man-pages/man5/elf.5:808 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:812 msgid "" "This member holds the offset from the beginning of the file at which the " "first byte of the segment resides." msgstr "" #. type: TP #: man-pages/man5/elf.5:812 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:816 msgid "" "This member holds the virtual address at which the first byte of the segment " "resides in memory." msgstr "" #. type: TP #: man-pages/man5/elf.5:816 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:824 msgid "" "On systems for which physical addressing is relevant, this member is " "reserved for the segment's physical address. Under BSD this member is not " "used and must be zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:824 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:828 msgid "" "This member holds the number of bytes in the file image of the segment. It " "may be zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:828 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:832 msgid "" "This member holds the number of bytes in the memory image of the segment. " "It may be zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:832 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "PF_X" -compact #. type: Plain text #: man-pages/man5/elf.5:836 msgid "This member holds a bit mask of flags relevant to the segment:" msgstr "" #. type: TP #: man-pages/man5/elf.5:837 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:841 msgid "An executable segment." msgstr "" #. type: TP #: man-pages/man5/elf.5:841 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:844 msgid "A writable segment." msgstr "" #. type: TP #: man-pages/man5/elf.5:844 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:847 msgid "A readable segment." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:860 msgid "" "A text segment commonly has the flags B and B. A data segment " "commonly has B, B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:860 #, no-wrap msgid "I" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:879 msgid "" "This member holds the value to which the segments are aligned in memory and " "in the file. Loadable process segments must have congruent values for " "I and I, modulo the page size. Values of zero and one " "mean no alignment is required. Otherwise, I should be a positive, " "integral power of two, and I should equal I, modulo " "I." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:896 msgid "" "A file's section header table lets one locate all the file's sections. The " "section header table is an array of I or I " "structures. The ELF header's I member gives the byte offset from " "the beginning of the file to the section header table. I holds the " "number of entries the section header table contains. I holds " "the size in bytes of each entry." msgstr "" #. .Bl -tag -width "SHN_LORESERVE" #. type: Plain text #: man-pages/man5/elf.5:913 msgid "" "A section header table index is a subscript into this array. Some section " "header table indices are reserved: the initial entry and the indices between " "B and B. The initial entry is used in ELF " "extensions for I, I and I; in other cases, each " "field in the initial entry is set to zero. An object file does not have " "sections for these special indices:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:918 msgid "" "This value marks an undefined, missing, irrelevant, or otherwise meaningless " "section reference." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:938 msgid "" "This value specifies the absolute value for the corresponding reference. " "For example, a symbol defined relative to section number B has an " "absolute value and is not affected by relocation." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:942 msgid "" "Symbols defined relative to this section are common symbols, such as FORTRAN " "COMMON or unallocated C external variables." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:953 msgid "" "This value specifies the upper bound of the range of reserved indices. The " "system reserves indices between B and B, " "inclusive. The section header table does not contain entries for the " "reserved indices." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:957 msgid "The section header has the following structure:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:972 #, no-wrap msgid "" "typedef struct {\n" " uint32_t sh_name;\n" " uint32_t sh_type;\n" " uint32_t sh_flags;\n" " Elf32_Addr sh_addr;\n" " Elf32_Off sh_offset;\n" " uint32_t sh_size;\n" " uint32_t sh_link;\n" " uint32_t sh_info;\n" " uint32_t sh_addralign;\n" " uint32_t sh_entsize;\n" "} Elf32_Shdr;\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:989 #, no-wrap msgid "" "typedef struct {\n" " uint32_t sh_name;\n" " uint32_t sh_type;\n" " uint64_t sh_flags;\n" " Elf64_Addr sh_addr;\n" " Elf64_Off sh_offset;\n" " uint64_t sh_size;\n" " uint32_t sh_link;\n" " uint32_t sh_info;\n" " uint64_t sh_addralign;\n" " uint64_t sh_entsize;\n" "} Elf64_Shdr;\n" msgstr "" #. .Bl -tag -width "sh_addralign" #. type: Plain text #: man-pages/man5/elf.5:994 msgid "" "No real differences exist between the 32-bit and 64-bit section headers." msgstr "" #. type: TP #: man-pages/man5/elf.5:994 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1000 msgid "" "This member specifies the name of the section. Its value is an index into " "the section header string table section, giving the location of a null-" "terminated string." msgstr "" #. type: TP #: man-pages/man5/elf.5:1000 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "SHT_PROGBITS" #. type: Plain text #: man-pages/man5/elf.5:1004 msgid "This member categorizes the section's contents and semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1005 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1012 msgid "" "This value marks the section header as inactive. It does not have an " "associated section. Other members of the section header have undefined " "values." msgstr "" #. type: TP #: man-pages/man5/elf.5:1012 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1016 msgid "" "This section holds information defined by the program, whose format and " "meaning are determined solely by the program." msgstr "" #. type: TP #: man-pages/man5/elf.5:1016 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1029 msgid "" "This section holds a symbol table. Typically, B provides " "symbols for link editing, though it may also be used for dynamic linking. " "As a complete symbol table, it may contain many symbols unnecessary for " "dynamic linking. An object file can also contain a B section." msgstr "" #. type: TP #: man-pages/man5/elf.5:1029 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1034 msgid "" "This section holds a string table. An object file may have multiple string " "table sections." msgstr "" #. type: TP #: man-pages/man5/elf.5:1034 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1042 msgid "" "This section holds relocation entries with explicit addends, such as type " "I for the 32-bit class of object files. An object may have " "multiple relocation sections." msgstr "" #. type: TP #: man-pages/man5/elf.5:1042 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1049 msgid "" "This section holds a symbol hash table. An object participating in dynamic " "linking must contain a symbol hash table. An object file may have only one " "hash table." msgstr "" #. type: TP #: man-pages/man5/elf.5:1049 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1054 msgid "" "This section holds information for dynamic linking. An object file may have " "only one dynamic section." msgstr "" #. type: TP #: man-pages/man5/elf.5:1054 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1057 msgid "This section holds information that marks the file in some way." msgstr "" #. type: TP #: man-pages/man5/elf.5:1057 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1065 msgid "" "A section of this type occupies no space in the file but otherwise resembles " "B. Although this section contains no bytes, the I " "member contains the conceptual file offset." msgstr "" #. type: TP #: man-pages/man5/elf.5:1065 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1073 msgid "" "This section holds relocation offsets without explicit addends, such as type " "I for the 32-bit class of object files. An object file may have " "multiple relocation sections." msgstr "" #. type: TP #: man-pages/man5/elf.5:1073 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1076 msgid "This section is reserved but has unspecified semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1076 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1083 msgid "" "This section holds a minimal set of dynamic linking symbols. An object file " "can also contain a B section." msgstr "" #. type: TP #: man-pages/man5/elf.5:1083 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1088 msgid "" "This value up to and including B is reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1088 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1093 msgid "" "This value down to and including B is reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1093 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1097 msgid "" "This value specifies the lower bound of the range of indices reserved for " "application programs." msgstr "" #. type: TP #: man-pages/man5/elf.5:1097 #, no-wrap msgid "B" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:1108 msgid "" "This value specifies the upper bound of the range of indices reserved for " "application programs. Section types between B and B " "may be used by the application, without conflicting with current or future " "system-defined section types." msgstr "" #. type: TP #: man-pages/man5/elf.5:1109 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "SHF_EXECINSTR" -compact #. type: Plain text #: man-pages/man5/elf.5:1122 msgid "" "Sections support one-bit flags that describe miscellaneous attributes. If a " "flag bit is set in I, the attribute is \"on\" for the section. " "Otherwise, the attribute is \"off\" or does not apply. Undefined attributes " "are set to zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:1123 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1127 msgid "" "This section contains data that should be writable during process execution." msgstr "" #. type: TP #: man-pages/man5/elf.5:1127 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1134 msgid "" "This section occupies memory during process execution. Some control " "sections do not reside in the memory image of an object file. This " "attribute is off for those sections." msgstr "" #. type: TP #: man-pages/man5/elf.5:1134 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1137 msgid "This section contains executable machine instructions." msgstr "" #. type: TP #: man-pages/man5/elf.5:1137 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1141 msgid "" "All bits included in this mask are reserved for processor-specific semantics." "" msgstr "" #. type: TP #: man-pages/man5/elf.5:1143 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1148 msgid "" "If this section appears in the memory image of a process, this member holds " "the address at which the section's first byte should reside. Otherwise, the " "member contains zero." msgstr "" #. type: TP #: man-pages/man5/elf.5:1148 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1157 msgid "" "This member's value holds the byte offset from the beginning of the file to " "the first byte in the section. One section type, B, occupies no " "space in the file, and its I member locates the conceptual " "placement in the file." msgstr "" #. type: TP #: man-pages/man5/elf.5:1157 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1169 msgid "" "This member holds the section's size in bytes. Unless the section type is " "B, the section occupies I bytes in the file. A section " "of type B may have a nonzero size, but it occupies no space in " "the file." msgstr "" #. type: TP #: man-pages/man5/elf.5:1169 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1173 msgid "" "This member holds a section header table index link, whose interpretation " "depends on the section type." msgstr "" #. type: TP #: man-pages/man5/elf.5:1173 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1177 msgid "" "This member holds extra information, whose interpretation depends on the " "section type." msgstr "" #. type: TP #: man-pages/man5/elf.5:1177 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1190 msgid "" "Some sections have address alignment constraints. If a section holds a " "doubleword, the system must ensure doubleword alignment for the entire " "section. That is, the value of I must be congruent to zero, modulo " "the value of I. Only zero and positive integral powers of two " "are allowed. Values of zero or one mean the section has no alignment " "constraints." msgstr "" #. type: TP #: man-pages/man5/elf.5:1190 #, no-wrap msgid "I" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:1197 msgid "" "Some sections hold a table of fixed-sized entries, such as a symbol table. " "For such a section, this member gives the size in bytes for each entry. " "This member contains zero if the section does not hold a table of fixed-size " "entries." msgstr "" #. .Bl -tag -width ".shstrtab" #. type: Plain text #: man-pages/man5/elf.5:1200 msgid "Various sections hold program and control information:" msgstr "" #. type: TP #: man-pages/man5/elf.5:1200 #, no-wrap msgid "I<.bss>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1212 msgid "" "This section holds uninitialized data that contributes to the program's " "memory image. By definition, the system initializes the data with zeros " "when the program begins to run. This section is of type B. The " "attribute types are B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1212 #, no-wrap msgid "I<.comment>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1218 msgid "" "This section holds version control information. This section is of type " "B. No attribute types are used." msgstr "" #. type: TP #: man-pages/man5/elf.5:1218 #, no-wrap msgid "I<.ctors>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1227 msgid "" "This section holds initialized pointers to the C++ constructor functions. " "This section is of type B. The attribute types are " "B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1227 #, no-wrap msgid "I<.data>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1237 man-pages/man5/elf.5:1247 msgid "" "This section holds initialized data that contribute to the program's memory " "image. This section is of type B. The attribute types are " "B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1237 #, no-wrap msgid "I<.data1>" msgstr "" #. type: TP #: man-pages/man5/elf.5:1247 #, no-wrap msgid "I<.debug>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1255 msgid "" "This section holds information for symbolic debugging. The contents are " "unspecified. This section is of type B. No attribute types " "are used." msgstr "" #. type: TP #: man-pages/man5/elf.5:1255 #, no-wrap msgid "I<.dtors>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1264 msgid "" "This section holds initialized pointers to the C++ destructor functions. " "This section is of type B. The attribute types are " "B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1264 #, no-wrap msgid "I<.dynamic>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1277 msgid "" "This section holds dynamic linking information. The section's attributes " "will include the B bit. Whether the B bit is set is " "processor-specific. This section is of type B. See the " "attributes above." msgstr "" #. type: TP #: man-pages/man5/elf.5:1277 #, no-wrap msgid "I<.dynstr>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1285 msgid "" "This section holds strings needed for dynamic linking, most commonly the " "strings that represent the names associated with symbol table entries. This " "section is of type B. The attribute type used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1285 #, no-wrap msgid "I<.dynsym>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1292 msgid "" "This section holds the dynamic linking symbol table. This section is of " "type B. The attribute used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1292 #, no-wrap msgid "I<.fini>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1304 msgid "" "This section holds executable instructions that contribute to the process " "termination code. When a program exits normally the system arranges to " "execute the code in this section. This section is of type B. " "The attributes used are B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1304 #, no-wrap msgid "I<.gnu.version>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1313 msgid "" "This section holds the version symbol table, an array of I " "elements. This section is of type B. The attribute type " "used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1313 #, no-wrap msgid "I<.gnu.version_d>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1322 msgid "" "This section holds the version symbol definitions, a table of I " "structures. This section is of type B. The attribute type " "used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1322 #, no-wrap msgid "I<.gnu.version_r>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1332 msgid "" "This section holds the version symbol needed elements, a table of " "I structures. This section is of type B. The " "attribute type used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1332 #, no-wrap msgid "I<.got>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1338 msgid "" "This section holds the global offset table. This section is of type " "B. The attributes are processor-specific." msgstr "" #. type: TP #: man-pages/man5/elf.5:1338 #, no-wrap msgid "I<.hash>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1345 msgid "" "This section holds a symbol hash table. This section is of type B." " The attribute used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1345 #, no-wrap msgid "I<.init>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1357 msgid "" "This section holds executable instructions that contribute to the process " "initialization code. When a program starts to run the system arranges to " "execute the code in this section before calling the main program entry point." " This section is of type B. The attributes used are " "B and B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1357 #, no-wrap msgid "I<.interp>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1368 msgid "" "This section holds the pathname of a program interpreter. If the file has a " "loadable segment that includes the section, the section's attributes will " "include the B bit. Otherwise, that bit will be off. This " "section is of type B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1368 #, no-wrap msgid "I<.line>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1376 msgid "" "This section holds line number information for symbolic debugging, which " "describes the correspondence between the program source and the machine code." " The contents are unspecified. This section is of type B. " "No attribute types are used." msgstr "" #. type: TP #: man-pages/man5/elf.5:1376 #, no-wrap msgid "I<.note>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1389 msgid "" "This section holds information in the \"Note Section\" format. This section " "is of type B. No attribute types are used. OpenBSD native " "executables usually contain a I<.note.openbsd.ident> section to identify " "themselves, for the kernel to bypass any compatibility ELF binary emulation " "tests when loading the file." msgstr "" #. type: TP #: man-pages/man5/elf.5:1389 #, no-wrap msgid "I<.note.GNU-stack>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1398 msgid "" "This section is used in Linux object files for declaring stack attributes. " "This section is of type B. The only attribute used is " "B. This indicates to the GNU linker that the object file " "requires an executable stack." msgstr "" #. type: TP #: man-pages/man5/elf.5:1398 #, no-wrap msgid "I<.plt>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1404 msgid "" "This section holds the procedure linkage table. This section is of type " "B. The attributes are processor-specific." msgstr "" #. type: TP #: man-pages/man5/elf.5:1404 #, no-wrap msgid "I<.relNAME>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1423 msgid "" "This section holds relocation information as described below. If the file " "has a loadable segment that includes relocation, the section's attributes " "will include the B bit. Otherwise, the bit will be off. By " "convention, \"NAME\" is supplied by the section to which the relocations " "apply. Thus a relocation section for B<.text> normally would have the name " "B<.rel.text>. This section is of type B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1423 #, no-wrap msgid "I<.relaNAME>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1442 msgid "" "This section holds relocation information as described below. If the file " "has a loadable segment that includes relocation, the section's attributes " "will include the B bit. Otherwise, the bit will be off. By " "convention, \"NAME\" is supplied by the section to which the relocations " "apply. Thus a relocation section for B<.text> normally would have the name " "B<.rela.text>. This section is of type B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1442 #, no-wrap msgid "I<.rodata>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1450 man-pages/man5/elf.5:1458 msgid "" "This section holds read-only data that typically contributes to a " "nonwritable segment in the process image. This section is of type " "B. The attribute used is B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1450 #, no-wrap msgid "I<.rodata1>" msgstr "" #. type: TP #: man-pages/man5/elf.5:1458 #, no-wrap msgid "I<.shstrtab>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1464 msgid "" "This section holds section names. This section is of type B. " "No attribute types are used." msgstr "" #. type: TP #: man-pages/man5/elf.5:1464 #, no-wrap msgid "I<.strtab>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1476 msgid "" "This section holds strings, most commonly the strings that represent the " "names associated with symbol table entries. If the file has a loadable " "segment that includes the symbol string table, the section's attributes will " "include the B bit. Otherwise, the bit will be off. This section " "is of type B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1476 #, no-wrap msgid "I<.symtab>" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1487 msgid "" "This section holds a symbol table. If the file has a loadable segment that " "includes the symbol table, the section's attributes will include the " "B bit. Otherwise, the bit will be off. This section is of type " "B." msgstr "" #. type: TP #: man-pages/man5/elf.5:1487 #, no-wrap msgid "I<.text>" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:1499 msgid "" "This section holds the \"text\", or executable instructions, of a program. " "This section is of type B. The attributes used are " "B and B." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1510 msgid "" "String table sections hold null-terminated character sequences, commonly " "called strings. The object file uses these strings to represent symbol and " "section names. One references a string as an index into the string table " "section. The first byte, which is index zero, is defined to hold a null " "byte (\\(aq\\e0\\(aq). Similarly, a string table's last byte is defined to " "hold a null byte, ensuring null termination for all strings." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1515 msgid "" "An object file's symbol table holds information needed to locate and " "relocate a program's symbolic definitions and references. A symbol table " "index is a subscript into this array." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1526 #, no-wrap msgid "" "typedef struct {\n" " uint32_t st_name;\n" " Elf32_Addr st_value;\n" " uint32_t st_size;\n" " unsigned char st_info;\n" " unsigned char st_other;\n" " uint16_t st_shndx;\n" "} Elf32_Sym;\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1539 #, no-wrap msgid "" "typedef struct {\n" " uint32_t st_name;\n" " unsigned char st_info;\n" " unsigned char st_other;\n" " uint16_t st_shndx;\n" " Elf64_Addr st_value;\n" " uint64_t st_size;\n" "} Elf64_Sym;\n" msgstr "" #. .Bl -tag -width "st_value" #. type: Plain text #: man-pages/man5/elf.5:1545 msgid "" "The 32-bit and 64-bit versions have the same members, just in a different " "order." msgstr "" #. type: TP #: man-pages/man5/elf.5:1545 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1553 msgid "" "This member holds an index into the object file's symbol string table, which " "holds character representations of the symbol names. If the value is " "nonzero, it represents a string table index that gives the symbol name. " "Otherwise, the symbol table has no name." msgstr "" #. type: TP #: man-pages/man5/elf.5:1553 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1556 msgid "This member gives the value of the associated symbol." msgstr "" #. type: TP #: man-pages/man5/elf.5:1556 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1561 msgid "" "Many symbols have associated sizes. This member holds zero if the symbol " "has no size or an unknown size." msgstr "" #. type: TP #: man-pages/man5/elf.5:1561 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "STT_SECTION" #. type: Plain text #: man-pages/man5/elf.5:1565 msgid "This member specifies the symbol's type and binding attributes:" msgstr "" #. type: TP #: man-pages/man5/elf.5:1566 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1569 msgid "The symbol's type is not defined." msgstr "" #. type: TP #: man-pages/man5/elf.5:1569 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1572 msgid "The symbol is associated with a data object." msgstr "" #. type: TP #: man-pages/man5/elf.5:1572 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1575 msgid "The symbol is associated with a function or other executable code." msgstr "" #. type: TP #: man-pages/man5/elf.5:1575 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1582 msgid "" "The symbol is associated with a section. Symbol table entries of this type " "exist primarily for relocation and normally have B bindings." msgstr "" #. type: TP #: man-pages/man5/elf.5:1582 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1593 msgid "" "By convention, the symbol's name gives the name of the source file " "associated with the object file. A file symbol has B bindings, " "its section index is B, and it precedes the other B " "symbols of the file, if it is present." msgstr "" #. type: TP #: man-pages/man5/elf.5:1593 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1598 msgid "" "This value up to and including B is reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1598 #, no-wrap msgid "B" msgstr "" #. .El #. .Bl -tag -width "STB_GLOBAL" #. type: Plain text #: man-pages/man5/elf.5:1605 msgid "" "This value down to and including B is reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1605 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1611 msgid "" "Local symbols are not visible outside the object file containing their " "definition. Local symbols of the same name may exist in multiple files " "without interfering with each other." msgstr "" #. type: TP #: man-pages/man5/elf.5:1611 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1617 msgid "" "Global symbols are visible to all object files being combined. One file's " "definition of a global symbol will satisfy another file's undefined " "reference to the same symbol." msgstr "" #. type: TP #: man-pages/man5/elf.5:1617 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1621 msgid "" "Weak symbols resemble global symbols, but their definitions have lower " "precedence." msgstr "" #. type: TP #: man-pages/man5/elf.5:1621 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1626 msgid "" "This value up to and including B is reserved for processor-" "specific semantics." msgstr "" #. type: TP #: man-pages/man5/elf.5:1626 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1631 msgid "" "This value down to and including B is reserved for processor-" "specific semantics." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1633 msgid "" "There are macros for packing and unpacking the binding and type fields:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1640 msgid "" "B(info) or B(info) extract a binding from an " "I value." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1644 msgid "B(info) or B(info)" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1648 msgid "extract a type from an I value." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1652 msgid "B(bind, type) or B(bind, type)" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1656 msgid "convert a binding and a type into an I value." msgstr "" #. type: TP #: man-pages/man5/elf.5:1658 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "STV_PROTECTED" #. type: Plain text #: man-pages/man5/elf.5:1662 msgid "This member defines the symbol visibility." msgstr "" #. type: TP #: man-pages/man5/elf.5:1663 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1667 msgid "Default symbol visibility rules." msgstr "" #. type: TP #: man-pages/man5/elf.5:1667 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1670 msgid "Processor-specific hidden class." msgstr "" #. type: TP #: man-pages/man5/elf.5:1670 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1673 msgid "Symbol is unavailable in other modules." msgstr "" #. type: TP #: man-pages/man5/elf.5:1673 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1676 msgid "Not preemptible, not exported." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1679 msgid "There are macros for extracting the visibility type:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1683 msgid "B(other) or B(other)" msgstr "" #. type: TP #: man-pages/man5/elf.5:1685 #, no-wrap msgid "I" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:1693 msgid "" "Every symbol table entry is \"defined\" in relation to some section. This " "member holds the relevant section header table index." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1701 msgid "" "Relocation is the process of connecting symbolic references with symbolic " "definitions. Relocatable files must have information that describes how to " "modify their section contents, thus allowing executable and shared object " "files to hold the right information for a process's program image. " "Relocation entries are these data." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1703 msgid "Relocation structures that do not need an addend:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1710 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Addr r_offset;\n" " uint32_t r_info;\n" "} Elf32_Rel;\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1719 #, no-wrap msgid "" "typedef struct {\n" " Elf64_Addr r_offset;\n" " uint64_t r_info;\n" "} Elf64_Rel;\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1723 msgid "Relocation structures that need an addend:" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1731 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Addr r_offset;\n" " uint32_t r_info;\n" " int32_t r_addend;\n" "} Elf32_Rela;\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1741 #, no-wrap msgid "" "typedef struct {\n" " Elf64_Addr r_offset;\n" " uint64_t r_info;\n" " int64_t r_addend;\n" "} Elf64_Rela;\n" msgstr "" #. type: TP #: man-pages/man5/elf.5:1744 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1752 msgid "" "This member gives the location at which to apply the relocation action. For " "a relocatable file, the value is the byte offset from the beginning of the " "section to the storage unit affected by the relocation. For an executable " "file or shared object, the value is the virtual address of the storage unit " "affected by the relocation." msgstr "" #. type: TP #: man-pages/man5/elf.5:1752 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1767 msgid "" "This member gives both the symbol table index with respect to which the " "relocation must be made and the type of relocation to apply. Relocation " "types are processor-specific. When the text refers to a relocation entry's " "relocation type or symbol table index, it means the result of applying " "B or B, respectively, to the entry's " "I member." msgstr "" #. type: TP #: man-pages/man5/elf.5:1767 #, no-wrap msgid "I" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:1772 msgid "" "This member specifies a constant addend used to compute the value to be " "stored into the relocatable field." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1777 msgid "" "The .dynamic section contains a series of structures that hold relevant " "dynamic linking information. The d_tag member controls the interpretation " "of d_un." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1788 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Sword d_tag;\n" " union {\n" " Elf32_Word d_val;\n" " Elf32_Addr d_ptr;\n" " } d_un;\n" "} Elf32_Dyn;\n" "extern Elf32_Dyn _DYNAMIC[];\n" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1801 #, no-wrap msgid "" "typedef struct {\n" " Elf64_Sxword d_tag;\n" " union {\n" " Elf64_Xword d_val;\n" " Elf64_Addr d_ptr;\n" " } d_un;\n" "} Elf64_Dyn;\n" "extern Elf64_Dyn _DYNAMIC[];\n" msgstr "" #. type: TP #: man-pages/man5/elf.5:1804 #, no-wrap msgid "I" msgstr "" #. .Bl -tag -width "DT_SYMBOLIC" #. type: Plain text #: man-pages/man5/elf.5:1808 msgid "This member may have any of the following values:" msgstr "" #. type: TP #: man-pages/man5/elf.5:1809 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1812 msgid "Marks end of dynamic section" msgstr "" #. type: TP #: man-pages/man5/elf.5:1812 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1815 msgid "String table offset to name of a needed library" msgstr "" #. type: TP #: man-pages/man5/elf.5:1815 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1818 msgid "Size in bytes of PLT relocs" msgstr "" #. type: TP #: man-pages/man5/elf.5:1818 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1821 msgid "Address of PLT and/or GOT" msgstr "" #. type: TP #: man-pages/man5/elf.5:1821 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1824 msgid "Address of symbol hash table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1824 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1827 msgid "Address of string table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1827 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1830 msgid "Address of symbol table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1830 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1833 msgid "Address of Rela relocs table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1833 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1836 msgid "Size in bytes of Rela table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1836 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1839 msgid "Size in bytes of a Rela table entry" msgstr "" #. type: TP #: man-pages/man5/elf.5:1839 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1842 msgid "Size in bytes of string table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1842 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1845 msgid "Size in bytes of a symbol table entry" msgstr "" #. type: TP #: man-pages/man5/elf.5:1845 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1848 msgid "Address of the initialization function" msgstr "" #. type: TP #: man-pages/man5/elf.5:1848 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1851 msgid "Address of the termination function" msgstr "" #. type: TP #: man-pages/man5/elf.5:1851 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1854 msgid "String table offset to name of shared object" msgstr "" #. type: TP #: man-pages/man5/elf.5:1854 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1857 msgid "String table offset to library search path (deprecated)" msgstr "" #. type: TP #: man-pages/man5/elf.5:1857 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1860 msgid "" "Alert linker to search this shared object before the executable for symbols" msgstr "" #. type: TP #: man-pages/man5/elf.5:1860 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1863 msgid "Address of Rel relocs table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1863 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1866 msgid "Size in bytes of Rel table" msgstr "" #. type: TP #: man-pages/man5/elf.5:1866 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1869 msgid "Size in bytes of a Rel table entry" msgstr "" #. type: TP #: man-pages/man5/elf.5:1869 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1872 msgid "Type of reloc the PLT refers (Rela or Rel)" msgstr "" #. type: TP #: man-pages/man5/elf.5:1872 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1875 msgid "Undefined use for debugging" msgstr "" #. type: TP #: man-pages/man5/elf.5:1875 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1878 msgid "" "Absence of this indicates no relocs should apply to a nonwritable segment" msgstr "" #. type: TP #: man-pages/man5/elf.5:1878 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1881 msgid "Address of reloc entries solely for the PLT" msgstr "" #. type: TP #: man-pages/man5/elf.5:1881 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1885 msgid "" "Instruct dynamic linker to process all relocs before transferring control to " "the executable" msgstr "" #. type: TP #: man-pages/man5/elf.5:1885 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1888 msgid "String table offset to library search path" msgstr "" #. type: TP #: man-pages/man5/elf.5:1888 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1891 msgid "Start of processor-specific semantics" msgstr "" #. type: TP #: man-pages/man5/elf.5:1891 #, no-wrap msgid "B" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1894 msgid "End of processor-specific semantics" msgstr "" #. type: TP #: man-pages/man5/elf.5:1896 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1899 msgid "This member represents integer values with various interpretations." msgstr "" #. type: TP #: man-pages/man5/elf.5:1899 #, no-wrap msgid "I" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1907 msgid "" "This member represents program virtual addresses. When interpreting these " "addresses, the actual address should be computed based on the original file " "value and memory base address. Files do not contain relocation entries to " "fixup these addresses." msgstr "" #. type: TP #: man-pages/man5/elf.5:1907 #, no-wrap msgid "I<_DYNAMIC>" msgstr "" #. .El #. type: Plain text #: man-pages/man5/elf.5:1912 msgid "" "Array containing all the dynamic structures in the .dynamic section. This " "is automatically populated by the linker." msgstr "" #. type: SH #: man-pages/man5/elf.5:1912 #, no-wrap msgid "NOTES" msgstr "" #. OpenBSD #. ELF support first appeared in #. OpenBSD 1.2, #. although not all supported platforms use it as the native #. binary file format. #. type: Plain text #: man-pages/man5/elf.5:1921 msgid "" "ELF first appeared in System V. The ELF format is an adopted standard." msgstr "" #. .SH AUTHORS #. The original version of this manual page was written by #. .An Jeroen Ruigrok van der Werven #. .Aq asmodai@FreeBSD.org #. with inspiration from BSDi's #. .Bsx #. .Nm elf #. man page. #. type: Plain text #: man-pages/man5/elf.5:1939 msgid "" "The extensions for I, I and I respectively are " "Linux extensions. Sun, BSD and AMD64 also support them; for further " "information, look under SEE ALSO." msgstr "" #. type: SH #: man-pages/man5/elf.5:1939 #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1946 msgid "B(1), B(1), B(1), B(1), B(2), B(5)" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1949 msgid "Hewlett-Packard, I." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1952 msgid "Santa Cruz Operation, I." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1956 msgid "" "UNIX System Laboratories, \"Object Files\", I." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1959 msgid "Sun Microsystems, I." msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1962 msgid "" "AMD64 ABI Draft, I." msgstr "" #. type: SH #: man-pages/man5/elf.5:1963 #, no-wrap msgid "COLOPHON" msgstr "" #. type: Plain text #: man-pages/man5/elf.5:1971 msgid "" "This page is part of release 3.70 of the Linux I project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at \\%http://www.kernel.org/doc/man-pages/" "." msgstr ""