I compile a C program by gcc and the result is an elf object file. What is the structure of this object file? Does it have some headers for sections and the byte information of those sections ONLY? So where is ELF header? is it separate from section headers? The same questions for the symbol table.