Является ли смешивание бинарных файлов в целевой файловой системе плохим?
У нас есть этот устаревший код на Фортране, работающий на плате с процессором A9, и я заметил странное поведение при использовании gdb. Потоки продолжают работать, когда он находится в режиме все остановки, и кажется, что GDB падает, когда вы переключаете его в режим без остановки. Он также не может делать точки наблюдения для символов в коде Фортрана, не уверен, что это связано с портом или двоичными файлами, не принадлежащими к той же самой цепочке инструментов. Однако вы можете установить точку наблюдения для адреса, приведенного к типу C.
У нас есть бинарные файлы набора инструментов из CodeSourcery, установленные в каталог stage во время сборки rootfs, а затем в рамках нашей сборки приложения бинарные файлы Linaro перезаписывают некоторые библиотеки в targetroot. Перезаписанные библиотеки (некоторые из них?) Являются единственными, которые необходимы приложению и с которыми оно связано (libstdC++, libgfortran и libpthread).
Использование gdb из CodeSourcery или Linaro, кажется, работает одинаково, хотя я не пытался устанавливать аппаратные точки наблюдения с помощью компилятора Linaro. Ни один из них, похоже, не настроен на работу вне задокументированного поведения, что, если я не ошибаюсь в том, что наблюдал, противоречит этому.
Так это нормально? Я имею в виду, что он работает, но если GDB хотя бы немного сломан, я не знаю, какими будут другие утилиты. Я хотел бы узнать об использовании Eclipse+Photran и агента TCF, и я искал, откуда взялся набор инструментов CodeSourcery, который привел меня в Yocto. Я пробовал некоторые сборки с Yocto дома, и мне интересно, стоит ли мне тратить время на установку виртуальной машины со всеми этими настройками, чтобы попытаться запустить наше приложение с цепочкой инструментов, встроенной в rootfs с нуля.
Возможно, слишком поздно что-то переключать, но если я смогу просто создать более плавную среду для работы, тогда я смогу просто вернуть исходный код в наше текущее решение, когда придет время вносить исправления.