русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Настройка набора инструментальных средств


Дата добавления: 2014-11-28; просмотров: 477; Нарушение авторских прав


Теперь, когда временные библиотеки языка C установлены, все остальные инструментальные средства, которые будут скомпилированы в оставшейся части этой главы, будут компоноваться с этими библиотеками. Чтобы это сделать, нужно так скорректировать файл спецификаций кросс компилятора, чтобы он указывал на новый динамический компоновщик, находящийся в директории /tools.

Сделайте дамп "спецификаций" компилятора в файл, который сохраните в удобном для просмотре месте. Затем, с помощью команды sed простой подстановки сделайте замену на динамический компоновщик GCC, который будет использоваться. Принцип следующий - найти все ссылки на файл динамического компоновщика, расположенного в директории /lib, или, возможно, в директории /lib64, если хост система является 64-разрядной, и изменить их так, чтобы они указывали на новое место в директории /tools.

Когда вы будете вводить следующий текст, то для того, чтобы все сделать аккуратно, воспользуйтесь копированием и вставкой (copy-and-paste). Обязательно визуально проверьте файл спецификаций, чтобы убедиться, что все ссылки на месторасположение динамического компоновщика исправлены правильно. Имя динамического компоновщика, если это необходимо, смотрите в разделе 5.2 "Технические замечания об инструментальном наборе".

SPECS=`dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/specs$LFS_TGT-gcc -dumpspecs | sed \ -e 's@/lib\(64\)\?/ld@/tools&@g' \ -e "/^\*cpp:$/{n;s,$, -isystem /tools/include,}" > $SPECS echo "New specs file is: $SPECS"unset SPECS
Предупреждение В этом месте нужно остановиться и убедиться, что основные функции (компиляция и компоновка) нового набора инструментальных средств работают так, как это ожидалось. Для выполнения чистовой проверки, выполните следующие команды: echo 'main(){}' > dummy.c$LFS_TGT-gcc -B/tools/lib dummy.creadelf -l a.out | grep ': /tools' Если все работает правильно, то ошибок быть не должно, а последняя выданная строка будет иметь следующий вид: [Requesting program interpreter: /tools/lib/ld-linux.so.2] Заметим, что в качестве префикса динамического компоновщика может указываться /tools/lib, либо /tools/lib64 для 64-битных машин. Если вывод не такой, как показано выше, или вообще ничего не выдано, то где-то ошибка. Изучите и повторите все шаги с тем, чтобы выяснить, в чем проблема и устраните ее. Проблему нужно решить раньше, чем двигаться дальше. Возможно, что-то было сделано неверно в процессе правки файла спецификаций, описанном выше. В этом случае повторите изменения в файле спецификации, будьте аккуратны при копировании и вставке (copy-and-paste). После того, как все будет проверено, удалите тестовые файлы: rm -v dummy.c a.out

 



Замечание Сборка пакета Binutils в следующем разделе будет служить дополнительной проверкой, что набор инструментов был построен правильно. Если пакет Binutils собрать не удастся, то это признак того, что что-то в предыдущих установках пакетов Binutils, GCC или Glibc было сделано не так.


<== предыдущая лекция | следующая лекция ==>
Установка пакета Glibc | Установка пакета Binutils


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.154 сек.