An ELF file has two views: the program header shows thesegmentsused at run time, whereas the section header lists the set ofsectionsof the binary.
Each ELF file is made up of one ELF header, followed by file data. The data can include:
The segments contain information that is needed for run time execution of the file, while sections contain important data for linking and relocation. Any byte in the entire file can be owned by one section at most, and orphan bytes can occur which are unowned by any section.
Executable and Linkable Format