Пытаюсь собрать при помощи OpenWatcom 1.9 БД SQLite последней версии. Так как платформа не поддерживаемая (QNX 4.25), то путем несложных модификаций исходного кода, мне удалось заставить это всё компилироваться (в форме amalgamation, где мало файлов).
Удача что удалось OW 1.9 накрутить до поддержки QNX 4.25, всё в принципе собирает.
Успешно проходит компиляция SQLite 3.27.1. Проблема возникает на линковке:
undefined symbol __I8LS __I8M __U8LS __U8RS __I8RS
Вопрос: знакома ли вам такая проблема? Я так понимаю это ускоренные версии этих «функций умножения, деления и сдвига», где за один такт делается N одинаковых операций. Не вижу, чтобы это вызывалось в коде непосредственно. Значит это тянет сам компилятор.
Можно ли как-то написать функции замены на Си? Или вкорячить ассемблерные файлы в код программы непосредственно - ведь я не обязан их обязательно дергать из библиотеки, можно и компилять в рамках проекта.
Можно ли вообще какими-то опциями отключить такие ускоряшки? Это не GCC, а Open Watcom, но может подобные настройки есть у обоих? Ведь другие простые программы собираются без такой ошибки, значит какое-то действие приводит к их задействованию, но какое из десятков тысяч строк кода мне не ясно...