Поддержка Эльфов:ELF

Projects yet to be implemented in working code
  • Зачем еще третий (или уже четвертый) формат исполняемых файлов в колибри?
    The best way to predict the future is to create it.
  • а может тогда переведём библиотеки в формат PE, чтобы меньше форматов было, а то сейчас как-то многовато форматов
  • (1) Насколько я знаю, формат исполняемых файлов для Kolibry OS только один - binary.
    Для библиотек пока используется coff, но планируется перейти на spe, который используется для драйверов (раньше был coff).
    (2) Я ничего не говорил о поддержке ELF ядром Kolibry OS.
    тогда переведём библиотеки в формат PE
    Чем более мощный формат используется для библиотек/драйверов/в качестве исполняемого, тем большие издержки
    - в смысле размера этого самого драйвера, библиотеки, исполняемого файла;
    - в смысле размера кода в ядре для поддержки этого формата.
    В этом плане PE ничем не лучше ELF.
    Поэтому моё мнение - хорошо так , как есть(Edit: планируется перейти на spe).

    Тогда зачем поддержка ELF?

    Ответ: если поставить цель - разработка для Kolibry OS средствами самого дистрибутива, то ELF - это самый популярный формат объектных файлов. Поэтому частичная поддержка ELF или уже имеется (в качестве пообочного продукта портирования FASM, TCC, ...) или легко достижима (более полноценным портом выше названных программ).

    Edit1 (краткое описание проделанной работы):
    Я "дёрнулся" в направлении портирования readelf:
    (1) GNU binutils либо надо портировать целиком, либо не браться за это дело;
    (2) BSD elftoolchain выглядит явно привлекательнее ибо тащит дополнительно только три крупные папки (libdwarf , libelf , libelftc) и две мелочи (mk , common); пока вроде как успешно попытался портировать для MinGW libelf (чтобы оценить сложность задачи и проверить косяки на более близкой к BSD OS системе) - имелись проблемы со спецификой кода BSD, но вроде как преодолены; пока "исчерпан лимит времени";
    Далее попытаюсь что-то сделать с нуля прямо для KolibriOS.
    Найдены интересные проекты: xelfviewer , pyelftools , elfparser (http://elfparser.com/download.html единственный не находится так просто).
    Edit2:
    Базируясь на информацию OsDev создана программа cElf (ver.0.1).
    Возвращаюсь на некоторое время снова к портированию readelf ...
    Дополнительный материал: http://www.skyfree.org/linux/references/ELF_Format.pdf
  • Who is online

    Users browsing this forum: No registered users and 3 guests