Компиляция и отладка программ

Компиляция и отладка программ в cross-режиме

Введение

Для использования кросс-компиляции под платформу “Эльбрус” потребуется следующий набор ПО:

  1. e2k cross toolchain – кросс-компилятор со всеми необходимыми ему кросс-библиотеками и кросс-отладчик
  2. crossroot – дерево библиотек и заголовочных файлов, получаемое с целевой машины, для которой планируется выполнять кросс-сборку и кросс-отладку.

Предполагается, что для разработки используется Debian 7.8.0 Wheezy.

Установка e2k cross toolchain

Cross toolchain включает в себя следующие компоненты:

  1. Кросс-компилятор для архитектуры e2k
  2. Библиотеки нижнего уровня
  3. Отладчик gdb
  4. Трассировщик системных вызовов

Cross toolchain распространяется в виде бинарных deb пакетов для архитектуры i386.
Установка cross toolchain осуществляется при помощи следующих команд:

i386# wget http://212.59.102.250/opensource-heap/instrumental/toolchains/spo-19/cross/lcc-e2k-cross_1.1_i386.deb

i386# dpkg -i lcc-e2k-cross_1.1_i386.deb

После успешного завершения установки на машине i386 появляется каталог opt/mcst и каталоги bin, bin.toolchain и gdb внутри него.

Установка crossroot

Crossroot можно получить двумя способами:

  1. Скачать с 212.59.102.250 архив с crossroot
  2. Подготовить самостоятельно, используя ВК с установленной системой.

Получение образа crossroot, соответствующего последнему рабочему образу ОС

i386# cd /opt/mcst/

i386# wget http://212.59.102.250/opensource-heap/instrumental/toolchains/spo-19/cross/crossroot_e2c+_911.tar.gz
i386# tar xvf crossroot_e2c+_911.tar.gz

Самостоятельное получение crossroot

Чтобы самостоятельно получить crossroot на монокубе необходимо воспользоваться следующими инструкциями:

i386# ssh root@<target_machine>
cd /
mkdir crossroot
cd crossroot
cp -a /lib32 .
cp -a /lib64 .
ln -s lib64 lib
mkdir usr
cp -a /usr/lib32 usr/
cp -a /usr/lib64 usr/
ln -s usr/lib64 usr/lib
cp -a /usr/libexec usr/
cp -a /usr/include usr/
cp -a /usr/local usr/
sync
cd ..
tar -cvf crossroot_selfmade.tar ./crossroot
gzip -9 ./crossroot_selfmade.tar

Скачать “Компиляция и отладка программ.pdf”