LINUX.ORG.RU

arm-utils: gcc, as, objcopy, gdb ?


0

1

Здраствуйте.
Не подскажите что нужно собирать для того чтобы получить:
 arm-elf-ar* arm-elf-as*  arm-elf-c++*  arm-elf-c++filt*
 arm-elf-cpp*  arm-elf-g++*  arm-elf-gcc*  arm-elf-gccbug*
 arm-elf-gcov*  arm-elf-gdb*  arm-elf-ld*  arm-elf-nm*
 arm-elf-objcopy*  arm-elf-objdump*  arm-elf-size*
 arm-elf-strings*  arm-elf-strip*
И как это называется, toolchain ?

Нашел: Building a GNU/Linux ARM Toolchain (from scratch)
http://frank.harvard.edu/~coldwell/toolchain/

Скачал  binutils-2.18.tar.bz2 с  http://ftp.gnu.org/gnu/binutils/
распаковал, 
configure --prefix=/home/us/common/binutils --target=arm-elf 
--enable-interwork --enable-multilib --with-newlib 
--with-headers=/home/us/common/binutils/include --with-gnu-ld 
--with-gnu-as --enable-languages=c,c++ --with-sysroot= 2>&1 | tee 
configure.o

make
make install

Но мне установилось не все что нужно.
Есть:
arm-elf-addr2line*  arm-elf-ar* arm-elf-as*  arm-elf-c++filt*
 arm-elf-gprof*  arm-elf-ld*  arm-elf-nm* 
 arm-elf-objcopy*  arm-elf-objdump*  arm-elf-ranlib*
 arm-elf-readelf*  arm-elf-size*  arm-elf-strings*
 arm-elf-strip*

нет: arm-elf-gcc* arm-elf-gdb* arm-elf-g++* ...

У меня вопрос
- что такое arm-elf-c++filt*  ?
- gcc нужно отдельно выкачивать и собирать под ARM ?
- для сборки gcc под ARM какие использовать ключи для configure
- и как быть с  arm-elf-gdb* ?
Может быть есть собранный пакет с более полным набором утилит ?

Помогите разобраться, если не сложно.
anonymous


binutils - это лишь часть набора. а именно - ассемблер as, редактор связей ld, менеджер статических библиотек ar и несколько вспомогательных утилит. для полноты картины нужно собрать собственно сам gcc - появятся компиляторы C/C++/etc - и gdb - появится отладчик gdb. последнее впрочем опционально.

// wbr

klalafuda ★☆☆
()

для гентушников есть crossdev. весьма удобная тулза - создает тулчаин для нужной архитектуры. опционально можно ставить gdb.

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

Спасибо.
Не подскажите какие исходники gcc нужно выкачивать
зависят ли они от версии ядра и glibc хоста ?

нужно выкачивать для arm напиример на
url: http://gcc.gnu.org/gcc-4.2/buildstat.html
там для gcc есть много версий 	
Test results, Bootstrap - какую выбирать ?
arm-unknown-elf  ?
подойдет ли версия "host x86_64-unknown-linux-gnu"
на хост для x86 - у меня вроде стоит версия Linux для x86


Или можно  http://ftp.gnu.org/gnu/gcc/gcc-4.2.2/
gcc-4.2.2.tar.bz2 
gcc-core-4.2.2.tar.bz2
gcc-g++-4.2.2.tar.bz2 
gcc-objc-4.2.2.tar.bz2
gcc-testsuite-4.2.2.tar.bz2 

Что из этих пакетов обязательно, например 
 gcc-core-4.2.2.tar.bz2, gcc-testsuite-4.2.2.tar.bz2 
нужны ?


можно уточнить 
>для полноты картины нужно собрать собственно сам gcc - появятся 
>компиляторы C/C++/etc - и gdb - появится отладчик gdb. последнее 
>впрочем опционально. 

Я не в курсе, gdb - отдельно качать или он входит в исходники gcc 
и при сборке gcc нужно(достаточно) опционально указать при configure ?
и gdb будет собран
 
Если отдельно то gdb идет под определенную версию gcc или не обязательно ?

прокомментируйте если не сложно.
спасибо.

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

> Не подскажите какие исходники gcc нужно выкачивать
зависят ли они от версии ядра и glibc хоста ?

от host-а видимо не зависят, а вот от target-а - да.
по крайней мере когда я в последний раз собирал gcc 4.x
[но не крос, i386-i386] он - C - конечно собрался, но
вот код который он генерил как-то нехорошо жил с ранее
установленной glibc. в общем, были какие-то приседания.

> нужно выкачивать для arm напиример на
url: http://gcc.gnu.org/gcc-4.2/buildstat.html
там для gcc есть много версий 	
Test results, Bootstrap - какую выбирать ?
arm-unknown-elf  ?
подойдет ли версия "host x86_64-unknown-linux-gnu"
на хост для x86 - у меня вроде стоит версия Linux для x86

mmm.. а кто его знает - я туда не заглядыал.

> Или можно  http://ftp.gnu.org/gnu/gcc/gcc-4.2.2/
> gcc-4.2.2.tar.bz2 
> gcc-core-4.2.2.tar.bz2
> gcc-g++-4.2.2.tar.bz2 
> gcc-objc-4.2.2.tar.bz2
> gcc-testsuite-4.2.2.tar.bz2 

gcc - это AFAIR полный набор компиляторов. core - это только С,
g++ - соотв. C++ и так далее. testsuite - это если захочется
потом прогнать их тесты [навряд ли захочется].

> Что из этих пакетов обязательно, например 
 gcc-core-4.2.2.tar.bz2, gcc-testsuite-4.2.2.tar.bz2 
нужны ?

core

> Я не в курсе, gdb - отдельно качать или он входит в исходники gcc
>  и при сборке gcc нужно(достаточно) опционально указать при
> configure ? и gdb будет собран

gdb скачивается и собирается отдельно и в gcc* не входит - это
совершенно независимый от GCC проект.

> Если отдельно то gdb идет под определенную версию gcc или
> не обязательно ?

да нет, gdb вроде всё равно какая там версия gcc и собирается
он в принципе без особых проблем.

// wbr

klalafuda ★☆☆
()

http://www.heavy-online.ru/arm-linux/

gdb собирается отдельно, кросскомпилятором. Хотя достаточно собрать gdbserver и отлаживать удалённо (если на железке).

alex_custov ★★★★★
()

http://www.gnuarm.org/ Смотри в разделе support, там описана последовательность сборки.

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