LINUX.ORG.RU

Аналог функций __I8LS/M/RS/FDU87

 , , qnx4,


0

1

Пытаюсь собрать при помощи 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
На данном сайте объясняется что делать для того, чтобы ее устранить: http://forum.kpda.ru/index.php/topic,316.0.html Однако собрать по инструкции мне так и не удается.

Вопрос: знакома ли вам такая проблема? Я так понимаю это ускоренные версии этих «функций умножения, деления и сдвига», где за один такт делается N одинаковых операций. Не вижу, чтобы это вызывалось в коде непосредственно. Значит это тянет сам компилятор.

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

Можно ли вообще какими-то опциями отключить такие ускоряшки? Это не GCC, а Open Watcom, но может подобные настройки есть у обоих? Ведь другие простые программы собираются без такой ошибки, значит какое-то действие приводит к их задействованию, но какое из десятков тысяч строк кода мне не ясно...

попробуй при линковке добавить в аргументы линковщика owc3r.lib (ну или похожую нужной версии, которая в составе компилятора)

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Это бы решило проблему, но эту библиотеку собрать как раз и не получается, там всё так не тривиально, а автор второй день не отвечает. Вот я и ищу обходной путь, хочу просто выключить такие ускоряторы, чтобы подобные функции не требовались

I-Love-Microsoft ★★★★★
() автор топика
Ответ на: комментарий от I-Love-Microsoft

была какая-то опция заставляющая воспринимать всякие встроенные функции «как есть» - отключающая оптимизации таких вещей как memcpy, sin+cos, но не могу найти её

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

Проблему решил тупо надергав нужных asm файлов и засунув их в одну строку с сишными - оно всё это съело и не подавилось, т.е. сборку библиотеки отдельно удалось миновать.

I-Love-Microsoft ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.