What sections are required for a usable ELF executable?
I'm creating an ELF executable file and I need to know what sections are required by the operating system in order to开发者_Python百科 load and execute it.
Details:
OS: Ubuntu 10.04 (64-bit) Kernel version: 2.6.32-24 Architecture: i386
I realize that the following would probably be necessary:
- .text
- .symtab
- .rel.text
Are there others?
I decided to try systematically stripping sections from an ELF file generated by GCC.
I was able to remove many of the sections, but these could not be removed and have the executable still execute without a segmentation fault:
.dynsym .dynstr .gnu.version_r .rel.plt .init .plt .text .fini .ctors .dtors .dynamic .got.plt .data .strtab
精彩评论