Прошу прощения за столь туманный вопрос, но не понимаю: зачем нужно было делать 2 формата исполняемых/объектных файлов? Неужели не достаточно одного? Или это в силу исторических причин?
Насколько я правильно понял, объектный/исполняемый файл, в общем случае должен содержать:
1. Общий заголовок, описывающий общую информацию.
2. Заголовки секций, описывающие тип секций, расположение секций в файле и в виртуальном адресном пространстве и т.д.
3. Собственно тела секций.
Причем секции могут содержать не только код и инициализированные данные, но любую произвольную информацию в оговоренном формате (отладочная, экспорт/импорт, етц.) Насколько я правильно понял, PE файлы WIN и есть смесь ELF и COFF.
Или же между ними есть какая-то действительно коренная разница?..