Вход

Просмотр полной версии : PCLINK11 кросс-линковщик



nzeemin
09.07.2019, 18:30
Очень неспешно (из-за нехватки времени и иногда желания) пишу кросс-линковщик PCLINK11, на замену линковщика LINK-11.
По сути переписываю из кода MACRO-11 в C/C++, практически один-к-одному.

https://github.com/nzeemin/pclink11 - описание и исходники

Стратегия тестирования: с помощью эмулятора RT-11 by Patron делаются "оригиналы" .SAV/SYS, .MAP и .STB, затем прогоняется PCLINK11 и результаты сравниваются с эталонами - для бинарный .SAV/SYS и .STB побайтово, для текстового .MAP построчно.
Нереализовано, и неизвестно будет ли: LDA, оверлеи, I/D space separation.

Теоретически, линковщик кросс-платформенный. Практически, пока гоняю только под Windows.

Состояние: "почти закончил", из имеющихся 86 тестов падают три, и это линковка с библиотеками Фортрана и Паскаля.

falanger
09.07.2019, 20:27
Хорошее и актуальное для разработчиков дело делаете.

MiX
10.07.2019, 21:11
пока гоняю только под Windows.
PCLINK11.EXE не находит MSVR120.dll. Dumpobj.exe пишет что не является приложением WIN32.

nzeemin
10.07.2019, 21:53
PCLINK11.EXE не находит MSVR120.dll. Dumpobj.exe пишет что не является приложением WIN32.

Спасибо. Собрал статично.

nzeemin
29.10.2019, 02:03
Допилил код до полной кросс-платформенности, сейчас и линковщик и его тесты собираются и прогоняются под Windows, macOS и Ubuntu.

По тестам пока ситуация - из 88 падают три теста - это всё сложные случаи линковки, с Паскалем и Фортраном.

nzeemin
05.04.2020, 15:08
PCLINK v0.162

Состояние по тестам: из 115 тестов падают 4:
* DYABIN-novay_kopiya_161 -- не реализованы опции командной строки для управления базовым адресом объектного модуля
* PPTEST-REL -- не реализован режим сборки "FOREGROUND"
* TEST-PASCAL и TEST-PASCAL-ALPHAMAP -- тут осталась какая-то бага на сортировку идентификаторов программы

shattered
15.11.2020, 11:53
Еще один подобный проект, link11

https://github.com/khandy21yo/emutools

https://groups.io/g/simh/topic/link11/78040587

nzeemin
06.07.2024, 01:25
Внезапно пришло четыре пул-реквеста от Владимира Ворошилова (voroshil), он пофиксил все падающие тесты (8 штук). Спасибо ему огромное!
Текущее состояние по тестам: 120 тестов, все работают.