Menu

#27 SPF4.EXE не компилируется под W98

SPF 4.19
closed
nobody
src (38)
5
2007-10-22
2007-10-15
No

* При попытке компиляции на W98 выводятся следующие сообщения:
C:\SPF\src>compile.bat

C:\SPF\src>cd ..
Wait a bit while compiling...
Base address of the image 0x552000
=============================================================
Done. Saving the system.
=============================================================
EXCEPTION! CODE:C000001D ADDRESS:55236D WORD:/COUNTED-STRING 255

C:\SPF>

* Если откомпилировать на XP и перенести spf4.exe на W98, то при запуске появляется:
C:\SPF>spf4.exe
EXCEPTION! CODE:C000001D ADDRESS:55236D WORD:/COUNTED-STRING 255

C:\SPF>

Discussion

  • ruvim

    ruvim - 2007-10-16

    Logged In: YES
    user_id=258714
    Originator: NO

    Адрес 55236D относится к слову MIN, и там находится инструкция CMOVL:
    55236D 0F4CC2 CMOVL EAX , EDX

    Данный код был внесен 2-го августа:
    http://spf.cvs.sourceforge.net/spf/src/spf_forthproc.f?r1=1.18&r2=1.19

    Если взять сорцы на конец июля, будет ли компилироваться? При эспериментах на XP и Win98 используется таже самая машина? Остается непонятным, как в дамп об ошибке попадает строка из ENVIR.SPF

     
  • Igor Nikolayenko

    Logged In: YES
    user_id=446046
    Originator: YES

    >Если взять сорцы на конец июля, будет ли компилироваться?
    как это лучше сделать?
    >При эспериментах на XP и Win98 используется таже самая машина?
    Разные. XP Athlon XP 2800+ (разгон 2500+, ошибок в работе др. программ не замечено)
    W98 AMD K6-2-450
    >Остается непонятным, как в дамп об ошибке попадает строка из ENVIR.SPF
    Мне тоже :(

     
  • ygrek

    ygrek - 2007-10-16

    Logged In: YES
    user_id=1524915
    Originator: NO

    >как это лучше сделать?

    для клиента коммандной строки
    cvs up -d -P -D 2007-07-31 10:00
    потом когда захотите вернуться к HEAD
    cvs up -d -P -A

    в SmartCVS - выбираете switch (special update)

     
  • ruvim

    ruvim - 2007-10-17

    Logged In: YES
    user_id=258714
    Originator: NO

    Должно быть, команды CMOVL нету в AMD K6 (google: AMD K6-2 Processor Instruction Mnemonic). Если задача разовая — сделайте спец-сборку, пропатчив на старый вариант все подобные слова.

     
  • Igor Nikolayenko

    Logged In: YES
    user_id=446046
    Originator: YES

    Большая радость, после убирания команд вида CMOVx из файла C:\SPF\src\spf_forthproc.f компиляция прошла успешно, получившийся SPF4.EXE тоже работает.
    Переделанный файл дам по запросу. Как я понял, пока такое нужно только мне. ;)

    Вопросы:
    Как определить, с какими процессорами совместима определенная версия откомпилированного SPF?
    Будет ли поддерживаться совместимость с ранними версиями процессоров?
    Где в документации отражены ограничения (особенности) использования текущей версии SPF?

     
  • Igor Nikolayenko

    Logged In: YES
    user_id=446046
    Originator: YES

    Можно ли сделать поддержку условной компиляции в зависимости от типа процессора?
    Или описать, что не совместим с процессорами, начиная с какого-то (тогда желательно описать, с какими совместим, хотя бы с какого года изготовления...)
    Сейчас совместимости с W95 уже нет... :(

     
  • ruvim

    ruvim - 2007-10-18

    Logged In: YES
    user_id=258714
    Originator: NO

    Да, хорошо бы сделать. Возьметесь? Фактически, SPF затачивается лишь в тех направлениях, в которых он используется.

     
  • Andrey Cherezov

    Andrey Cherezov - 2007-10-18

    Logged In: YES
    user_id=132884
    Originator: NO

    А много в ядре SPF таких мест, которые не заработают на 386х 20-летней давности и на Win95?
    Я считаю, что _ядро_ по-прежднему должно поддерживать старые (но 32-битные) процессоры и старые (но 32-битные) версии Windows. И если у нас есть что-то, что этому мешает, нужно обязательно убрать. Пусть даже ценой потери скольких-то процентов производительности.

     
  • ruvim

    ruvim - 2007-10-20

    Logged In: YES
    user_id=258714
    Originator: NO

    > Как определить, с какими процессорами совместима определенная версия откомпилированного SPF?
    Попался скрипт на Перле, который по бинарнику определяет требуемое подсемейство процессора, путем дизассемблирования (objdump) и анализа используемых иструкций на предмет неких ключевых: http://dev.gentoo.org/~dirtyepic/bin/analyze-x86

     
  • Igor Nikolayenko

    • status: open --> closed
     
MongoDB Logo MongoDB