Если вы пишете код, который анализирует файлы ELF, я бы предложил использовать стандартную библиотеку, такую как libelf , вместо того, чтобы кодировать свой собственный анализатор ELF вручную.
Таким образом, вы позволили бы libelfобрабатывать угловые случаи, которые иногда возникают, например, объекты ELF, использующие расширенную нумерацию разделов.
Существуют активные проекты с открытым исходным кодом, разрабатывающие BSD с лицензией и GPL'ed реализации libelf --- выбирайте сами.