sh_name
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.
sh_type
This member categorizes the section's contents and semantics.
sh_flags
Sections support one-bit flags that describe miscellaneous attributes. If a flag bit is set in sh_flags, the attribute is
"on" for the section. Otherwise, the attribute is "off" or does not apply. Undefined attributes are set to zero.
sh_addr
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.
sh_offset
This member's value holds the byte offset from the beginning of the file to the first byte in the section. One section
type, SHT_NOBITS, occupies no space in the file, and its sh_offset member locates the conceptual placement in the file.
sh_size
This member holds the section's size in bytes. Unless the section type is SHT_NOBITS, the section occupies sh_size bytes
in the file. A section of type SHT_NOBITS may have a nonzero size, but it occupies no space in the file.
sh_link
This member holds a section header table index link, whose interpretation depends on the section type.
sh_info
This member holds extra information, whose interpretation depends on the section type.
sh_addralign
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 sh_addr must be congruent to zero, modulo the value of sh_adโ
dralign. Only zero and positive integral powers of two are allowed. The value 0 or 1 means that the section has no
alignment constraints.
sh_entsize
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.