Lines Matching +full:- +full:section
42 followed by a program header table or a section header table, or both.
45 table and the section header table's offset in the file are defined in the
60 regardless whether the host is 32-bit or 64-bit.
87 The following types are being used for 32-bit architectures:
88 .Bd -literal -offset indent
89 Elf32_Addr Unsigned 32-bit program address
90 Elf32_Half Unsigned 16-bit field
91 Elf32_Lword Unsigned 64-bit field
92 Elf32_Off Unsigned 32-bit file offset
93 Elf32_Sword Signed 32-bit field or integer
94 Elf32_Word Unsigned 32-bit field or integer
97 For 64-bit architectures we have the following types:
98 .Bd -literal -offset indent
99 Elf64_Addr Unsigned 64-bit program address
100 Elf64_Half Unsigned 16-bit field
101 Elf64_Lword Unsigned 64-bit field
102 Elf64_Off Unsigned 64-bit file offset
103 Elf64_Sword Signed 32-bit field
104 Elf64_Sxword Signed 64-bit field or integer
105 Elf64_Word Unsigned 32-bit field
106 Elf64_Xword Unsigned 64-bit field or integer
113 data structures contain explicit padding to ensure 4-byte alignment
114 for 4-byte objects, to force structure sizes to a multiple of 4, etc.
117 .Bd -literal -offset indent
135 .Bd -literal -offset indent
156 .Bl -tag -width "e_phentsize" -compact -offset indent
167 .Bl -tag -width "EI_ABIVERSION" -compact
187 .Bl -tag -width "ELFCLASSNONE" -compact
191 This defines the 32-bit architecture.
195 This defines the 64-bit architecture.
198 The sixth byte specifies the data encoding of the processor-specific
202 .Bl -tag -width "ELFDATA2LSB" -compact
206 Two's complement, little-endian.
208 Two's complement, big-endian.
213 .Bl -tag -width "EV_CURRENT" -compact
227 .Bl -tag -width "ELFOSABI_STANDALONE" -compact
231 HP-UX operating system ABI.
280 .Bl -tag -width "ET_NONE" -compact
296 .Bl -tag -width "EM_MIPS_RS4_BE" -compact
314 MIPS RS3000 (big-endian only).
316 MIPS RS4000 (big-endian only).
318 SPARC v9 64-bit unofficial.
330 .Bl -tag -width "EV_CURRENT" -compact
346 This member holds the section header table's file offset in bytes.
348 file has no section header table this member holds zero.
350 This member holds processor-specific flags associated with the file.
369 member of the section header at index
380 A section header is one
381 entry in the section header table; all entries are the same size.
383 This member holds the number of entries in the section header table.
384 If the file is using extended section numbering, then the
386 member will be zero and the actual section number will be stored in the
388 member of the section header at index
390 If a file has no section header table, both the
397 and the number of sections in the file gives the section header
400 This member holds the section header table index of the entry associated
401 with the section name string table.
402 If extended section numbering is being used, this field will hold the
405 and the actual section header table index will be present in the
407 field of the section header entry at index
409 If the file has no section name string
429 .Bd -literal -offset indent
441 .Bd -literal -offset indent
454 The main difference between the 32-bit and the 64-bit program header lies
459 .Bl -tag -width "p_offset" -compact -offset indent
464 .Bl -tag -width "PT_DYNAMIC" -compact
491 The array element specifies the location and size of a null-terminated
516 are reserved for processor-specific semantics.
520 are reserved for processor-specific semantics.
545 .Bl -tag -width "PF_X" -compact
582 An file's section header table lets one locate all the file's sections.
584 section header table is an array of Elf32_Shdr or Elf64_Shdr structures.
588 member gives the byte offset from the beginning of the file to the section
591 holds the number of entries the section header table contains.
595 A section header table index is a subscript into this array.
596 Some section
601 .Bl -tag -width "SHN_LORESERVE" -compact
604 section reference.
607 relative to section number
615 are reserved for processor-specific semantics.
619 are reserved for processor-specific semantics.
623 example, symbols defined relative to section number
627 Symbols defined relative to this section are common symbols, such as FORTRAN
637 The section header table does not contain entries for the
641 The section header has the following structure:
642 .Bd -literal -offset indent
656 .Bd -literal -offset indent
671 .Bl -tag -width "sh_addralign" -compact
673 This member specifies the name of the section.
675 into the section header string table section, giving the location of
676 a null-terminated string.
678 This member categorizes the section's contents and semantics.
680 .Bl -tag -width "SHT_PROGBITS" -compact
682 This value marks the section header as inactive.
684 have an associated section.
685 Other members of the section header
688 The section holds information defined by the program, whose
691 This section holds a symbol table.
701 section.
703 This section holds a string table.
707 This section holds relocation entries with explicit addends, such
710 for the 32-bit class of object files.
714 This section holds a symbol hash table.
720 This section holds information for dynamic linking.
722 have only one dynamic section.
724 This section holds information that marks the file in some way.
726 A section of this type occupies no space in the file but otherwise
729 Although this section contains no bytes, the
733 This section holds relocation offsets without explicit addends, such
736 for the 32-bit class of object files.
740 This section is reserved but has unspecified semantics.
742 This section holds a minimal set of dynamic linking symbols.
746 section.
750 are reserved for processor-specific semantics.
754 are reserved for processor-specific semantics.
761 Section types between
766 system-defined section types.
770 Sections support one-bit flags that describe miscellaneous attributes.
775 for the section.
781 .Bl -tag -width "SHF_EXECINSTR" -compact
783 This section contains data that should be writable during process
786 The section occupies memory during process execution.
792 The section contains executable machine instructions.
794 All bits included in this mask are reserved for processor-specific
797 The section data is compressed.
801 If the section will appear in the memory image of a process, this member
802 holds the address at which the section's first byte should reside.
806 to the first byte in the section.
807 One section type,
813 This member holds the section's size in bytes.
814 Unless the section type
817 the section occupies
820 A section of type
822 may have a non-zero size, but it occupies no space in the file.
824 This member holds a section header table index link, whose interpretation
825 depends on the section type.
828 section type.
831 If a section holds a
833 section.
840 or one mean the section has no alignment constraints.
842 Some sections hold a table of fixed-sized entries, such as a symbol table.
843 For such a section, this member gives the size in bytes for each entry.
844 This member contains zero if the section does not hold a table of
845 fixed-size entries.
849 .Bl -tag -width ".shstrtab" -compact
852 This section holds uninitialized data that contributes to the program's
856 This section is of type
863 This section holds version control information.
864 This section is of type
868 This section holds initialized data that contribute to the program's
870 This section is of type
877 This section holds initialized data that contribute to the program's
879 This section is of type
886 This section holds information for symbolic debugging.
889 This section is of type
893 This section holds dynamic linking information.
894 The section's attributes
900 bit is set is processor-specific.
901 This section is of type
905 This section holds strings needed for dynamic linking, most commonly
907 This section is of type
912 This section holds the dynamic linking symbol table.
913 This section is of type
918 This section holds executable instructions that contribute to the process
921 execute the code in this section.
922 This section is of type
929 This section holds the global offset table.
930 This section is of type
932 The attributes are processor-specific.
934 This section holds a symbol hash table.
935 This section is of type
940 This section holds executable instructions that contribute to the process
943 execute the code in this section before calling the main program entry point.
944 This section is of type
951 This section holds the pathname of a program interpreter.
953 a loadable segment that includes the section, the section's attributes will
958 This section is of type
961 This section holds line number information for symbolic debugging, which
964 This section is of type
968 This section holds information in the
969 .Dq Note Section
971 This section is of type
975 This section holds the procedure linkage table.
976 This section is of type
978 The attributes are processor-specific.
980 This section holds relocation information as described below.
982 has a loadable segment that includes relocation, the section's attributes
989 is supplied by the section to which the relocations apply.
991 section for
995 This section is of type
998 This section holds relocation information as described below.
1000 has a loadable segment that includes relocation, the section's attributes
1007 is supplied by the section to which the relocations apply.
1009 section for
1013 This section is of type
1016 This section holds read-only data that typically contributes to a
1017 non-writable segment in the process image.
1018 This section is of type
1023 This section holds read-only data that typically contributes to a
1024 non-writable segment in the process image.
1025 This section is of type
1030 This section holds section names.
1031 This section is of type
1035 This section holds strings, most commonly the strings that represent the
1038 segment that includes the symbol string table, the section's attributes
1043 This section is of type
1046 This section holds a symbol table.
1048 that includes the symbol table, the section's attributes will include
1053 This section is of type
1056 This section holds the
1059 This section is of type
1066 This section holds information about Java classes that must
1069 This section holds information used for C++ exception-handling.
1072 A section with the
1074 flag set contains a compressed copy of the section data.
1075 Compressed section data begins with an
1081 .Bd -literal -offset indent
1088 .Bd -literal -offset indent
1097 .Bl -tag -width "ch_addralign" -compact
1109 The size, in bytes, of the uncompressed section data.
1112 field of a section header containing uncompressed data.
1114 The address alignment of the uncompressed section data.
1117 field of a section header containing uncompressed data.
1120 String table sections hold null-terminated character sequences, commonly
1123 and section names.
1125 table section.
1135 .Bd -literal -offset indent
1145 .Bd -literal -offset indent
1156 .Bl -tag -width "st_value" -compact
1161 is non-zero, it represents a string table index that gives the symbol
1173 .Bl -tag -width "STT_SECTION" -compact
1181 The symbol is associated with a section.
1191 bindings, its section index is
1199 are reserved for processor-specific semantics.
1203 are reserved for processor-specific semantics.
1206 .Bl -tag -width "STB_GLOBAL" -compact
1223 are reserved for processor-specific semantics.
1227 are reserved for processor-specific semantics.
1231 .Bl -tag -width "ELF32_ST_INFO(bind, type)" -compact
1258 in relation to some section.
1259 This member holds the relevant section
1266 describes how to modify their section contents, thus allowing executable
1272 .Bd -literal -offset indent
1278 .Bd -literal -offset indent
1286 .Bd -literal -offset indent
1293 .Bd -literal -offset indent
1301 .Bl -tag -width "r_offset" -compact
1305 of the section to the storage unit affected by the relocation.
1313 types are processor-specific.
1327 .Ss Note Section
1329 .Bl -column -offset indent "namesz" "32 bits" "Null-terminated originator name"
1333 .It Va type Ta 32 bits Ta OS-dependent note type
1334 .It Va name Ta Va namesz Ta Null-terminated originator name
1335 .It Va desc Ta Va descsz Ta OS-dependent note data
1342 fields are padded to ensure 4-byte alignment.
1352 .Bl -tag -width 4n
1354 Indicates the OS ABI version in a form of a 32-bit integer containing expected
1368 .Bl -tag -width 4n
1398 .%B Elf-64 Object File Format