Официальный форум СВД Встраиваемые Системы
03 Июля, 2020, 01:53:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: QNX4: Watcom 10.6 + OpenWatcom 1.9 = тяжелые ошибки с памятью  (Прочитано 640 раз)
LinuxFanatic
Пользователь

Сообщений: 17


« : 25 Октября, 2019, 12:19:20 »

Добрый день!
Как-то видел мнение, что Watcom + OW хорошо совместимы, если пользоваться только языком Си. Это как раз мой случай. Программы и библиотеки действительно линкуются между собой. Сначала были проблемы из за того что watcom и open watcom по-разному понимали размеры структур, но pragma pack вылечил эту проблему.

Использую OW 1.9 докрученный до поддержки QNX 4.25 по этой инструкции: http://forum.kpda.ru/index.php/topic,269.0.html

У меня была необходимость собрать библиотеку для работы с SQLite при помощи OW 1.9 на Windows (в моем случае Wine). Затем я линкую ее с кодом на билд сервере с обычным Watcom 10.6. Допустимо ли это?

В основном вроде всё работает, но порой, когда отработает/вызывается код библиотеки, скомпилированный под OW 1.9 то начинаются падения. Локализовав падения и закомментировав строки - падения возникают уже в другом месте. Это явные повреждения памяти, библиотека на OW 1.9 и W 10.6 понимают какие то структуры и смещения иначе, и затирают что-то друг другу!

Саму библиотеку на OW 1.9 отгонял под Linux+gcc при помощи мощного инструментария поиска утечек памяти и прочих сбоев, на сбои работы потоков и томе подобное (valgrind memcheck, gcc address sanitizer, gcc thread sanitizer, и прочие программы).

Пожалуйста, подскажите, в чем суть несовметисмости двух компиляторов и как ее преодолеть?

1) Есть ли OW 1.9 или новее сразу под QNX 4 непосредственно? Потому что автоматический билд сервер давно на W 10.6 и менять это мне нельзя, но использование его не позволяет мне работать с нужными библиотеками.
2) Поможет ли проблеме если всё собирать только одним компилятором? Только хочу попробовать этот вариант.
3) Может ли быть проблема в несовместимых "моделях памяти"?
Записан
LinuxFanatic
Пользователь

Сообщений: 17


« Ответ #1 : 21 Ноября, 2019, 11:20:00 »

Добавлю что пробовал приводить модели памяти всех объектников в один режим и это не помогло. На OW 1.9 собираю под Wine (Windows на Linux) при помощи bat-скрипта, т.е. без Makefile.

Сборка программы целиком при помощи OW 1.9 удалась, но это работает только для консольного варианта, работоспособно собрать программу с Photon не удалось - падает внезапно при старте, хотя собралось, линковал то я все равно с фотоновскими библиотеками от Watcom 10.6.
« Последнее редактирование: 21 Ноября, 2019, 15:11:21 от LinuxFanatic » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2020 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 28 Марта, 2020, 06:11:04