segments of ELF files represent portions of the file that are mapped into memory when the program is loaded for execution.
segments are defined in the program headers.
There are many types of segments:
- PT_LOAD – loadable segment (such as .text, .data, .bss)
- PT_DYNAMIC – information regarding dynamic linking
- PT_INTERP – path to the program interpreter
- PT_NOTE – note information such as build identifiers
- PT_TLS – thread local storage