CleverMouse « Fri Nov 22, 2013 4:02 pm » "Загрузка PE уже есть в ядре, но для запуска приложений в PE надо решить ещё несколько вопросов." - пишет нам Serge из 2008 года
[...]
SoUrcerer « Fri Nov 22, 2013 6:41 pm » CleverMouse: интересно, каких. Кстати, переход на формат PE значительно упростил бы жизнь ЯВУшникам - проще было бы кросс-компилировать, проще делать библиотеки. Можно было бы впихнуть FreeType2 в минимальной сборке с менеджером шрифтов и юзать отовсюду.
[...]
Serge « Fri Nov 22, 2013 7:16 pm » CleverMouse: И к чему это ? Срочно понадобилось PE ?
CleverMouse « Fri Nov 22, 2013 7:18 pm » Во-первых, меня очень раздражает C-- и Leency, учащий детей плохому. Leency ведь C-- не из-за качества языка выбрал, а только потому, что автор компилятора подсуетился и сделал поддержку заголовка. Действия по компиляции ЯВУ должны быть как можно проще, чтобы даже Leency не пугался, а переход на PE, несомненно, упрощает жизнь в этом месте.
[...]
CleverMouse « Fri Nov 22, 2013 7:20 pm » Во-вторых, меня очень раздражают макросы с 9 аргументами и необходимость включать в каждую программу, использующую динамические библиотеки, свой собственный код загрузчика
[...]
Serge « Fri Nov 22, 2013 7:23 pm » CleverMouse: А нужен полноценный PE или подойдёт усечённый вариант с таблицей иморта, как в Fplay и моих последних демках ?
Unusual « Fri Nov 22, 2013 7:25 pm » CleverMouse: kolibrios на pe переходит?
Serge « Fri Nov 22, 2013 7:26 pm » Unusual: Ядро пока нет, а я уже перешёл.
Unusual « Fri Nov 22, 2013 7:27 pm » Serge: понятно
CleverMouse « Fri Nov 22, 2013 7:27 pm » полноценный PE - это сложно
Serge « Fri Nov 22, 2013 7:28 pm » Не чистый PE. А некий суррогат.
CleverMouse « Fri Nov 22, 2013 7:28 pm » что именно там усечённое?
CleverMouse « Fri Nov 22, 2013 7:28 pm » компиляторы его могут выдавать без дополнительных преобразований?
Serge « Fri Nov 22, 2013 7:28 pm » Но длл линкуются обчные PE.
Unusual « Fri Nov 22, 2013 7:32 pm » CleverMouse: ну если там PE
http://miraculix.ru/ есть и псал то в колибри не сложно
Serge « Fri Nov 22, 2013 7:32 pm » CleverMouse: gnu ld со скриптом
Unusual « Fri Nov 22, 2013 7:32 pm » то есть разрабатывал один человек
Serge « Fri Nov 22, 2013 7:33 pm » fasm со стандартным инклюдом из пакета. Это обычное приложение Колибри с таблицей импорта из PE.
Serge « Fri Nov 22, 2013 7:34 pm » Потому требуется динамический линковщик, который встроен в libc.dll
CleverMouse « Fri Nov 22, 2013 7:36 pm » с msvc и остальными компиляторами проблемы
Unusual « Fri Nov 22, 2013 7:38 pm » msvc на фиг
Serge « Fri Nov 22, 2013 7:38 pm » Одной из проблем было "где держать всю это прорву дллок". Как только Марат её решил
Serge « Fri Nov 22, 2013 7:39 pm » так и появился прогресс
Serge « Fri Nov 22, 2013 7:42 pm » CleverMouse: Вопрос насколько нужны остальные компоновщики ? C fasm и ld проблем нет.
CleverMouse « Fri Nov 22, 2013 7:44 pm » libc.dll перемещает exe-шник на 0x400000?
Serge « Fri Nov 22, 2013 7:45 pm » Есть вариант и с запуском чистого PE. Яро грузит в вершину юзерспейса образ и динамический линковщик. И передаёт управление на него.
Serge « Fri Nov 22, 2013 7:46 pm » Зачем перемещать, image-base=0
CleverMouse « Fri Nov 22, 2013 7:46 pm » судя по скрипту, нет. То есть писать в [0] по-прежнему спокойно можно?
CleverMouse « Fri Nov 22, 2013 7:47 pm » что винда, что линух передают управление динамическому линковщику
Serge « Fri Nov 22, 2013 7:48 pm » Заголовок затрёшь. .text 0x000000:
CleverMouse « Fri Nov 22, 2013 7:49 pm » но PF не будет
Serge « Fri Nov 22, 2013 7:51 pm » CleverMouse: Не будет, обчное же приложение Колибри, с необычными возможностями. Скоро SDK выложу с примерами. Фасмовские на свн уже есть.