3

I'm creating an ELF executable file and I need to know what sections are required by the operating system in order to 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?

Nathan Osman
  • 71,149
  • 71
  • 256
  • 361

1 Answers1

2

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
Nathan Osman
  • 71,149
  • 71
  • 256
  • 361