реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> сборка gnu gcc-4.4.1-3 - ошибка
Krom
сообщение Aug 26 2009, 10:24
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



Сконфигурировано со следующими опциями:
configure --target=$TARGET --prefix=$PREFIX\
--with-newlib --with-gnu-as --with-gnu-ld --disable-shared\
--enable-languages=c --enable-interwork --enable-multilib\
--disable-nls --disable-win32-registry --disable-werror\
--without-headers

где TARGET=arm-elf PREFIX=/usr/local/arm

При сборке после минут так это двадцати работы выдает следующую ошибку:

/tmp/cc2Pmx1O.s: Assembler messages:
/tmp/cc2Pmx1O.s:78: Internal error!
Assertion failure in make_mapping_symbol at .././gas/config/tc-arm.c line 2492.
Please report this bug.
make[5]: *** [/usr/local/arm/build/gcc/arm-elf/thumb/libgcc/crtend.o] Ошибка 1
make[5]: Leaving directory `/usr/local/arm/build/gcc/gcc'
make[4]: *** [gcc-extra-parts] Ошибка 2
make[4]: Leaving directory `/usr/local/arm/build/gcc/arm-elf/thumb/libgcc'
make[3]: *** [multi-do] Ошибка 1
make[3]: Leaving directory `/usr/local/arm/build/gcc/arm-elf/libgcc'
make[2]: *** [all-multi] Ошибка 2
make[2]: Leaving directory `/usr/local/arm/build/gcc/arm-elf/libgcc'
make[1]: *** [all-target-libgcc] Ошибка 2
make[1]: Leaving directory `/usr/local/arm/build/gcc'
make: *** [all] Ошибка 2

ЧТо бы это могло быть? Кто-нибудь собирал 4.4? Куда сообщать об ошибке?
Go to the top of the page
 
+Quote Post
amaora
сообщение Aug 31 2009, 14:28
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Возможно это связвно с вот этими изменениями в binutils
http://www.nabble.com/Update-ARM-mapping-s...td24760784.html

Как и куда отправлять багрепорт написано в binutils/README

Проблема в thumb, без multilib должно собраться.
Go to the top of the page
 
+Quote Post
Krom
сообщение Sep 1 2009, 06:30
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



На 4.4 я забил, так как он оказывается unstable. Собрал 4.3.4, последние версии binutils и newlib и openocd. 5 дней плясок с бубном, но в итоге все заработало. Больше всего времени ушло на openocd, там много чего поменялось по сравнению с 747й версией,но в итоге и с ним разобрался. Если кому интересно, могу расписать как и что.
Go to the top of the page
 
+Quote Post
prm
сообщение Sep 1 2009, 07:43
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 4-04-07
Пользователь №: 26 760



Было бы интересно увидеть пошаговое руководство для сборки тулчайна. Хотя бы краткое на конкретном примере. Думаю, многие бы попробовали повторить, повысив тем самым свой профессиональный уровень.
Go to the top of the page
 
+Quote Post
Terminator
сообщение Sep 1 2009, 09:38
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 7-12-04
Из: Томск
Пользователь №: 1 382



Цитата(Krom @ Sep 1 2009, 13:30) *
...Больше всего времени ушло на openocd, там много чего поменялось по сравнению с 747й версией,но в итоге и с ним разобрался. Если кому интересно, могу расписать как и что.


Про openocd очень интересно.
С новой версией у меня никак не получается прошить sam7 "одной командой". Приходится запускать openocd и из telnet-а слать команды на перешивку smile3046.gif
Go to the top of the page
 
+Quote Post
sasamy
сообщение Sep 1 2009, 10:15
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(prm @ Sep 1 2009, 11:43) *
Было бы интересно увидеть пошаговое руководство для сборки тулчайна. Хотя бы краткое на конкретном примере. Думаю, многие бы попробовали повторить, повысив тем самым свой профессиональный уровень.


http://tuxotronic.org/wiki/tutorial/arm7-build-toolchain
Go to the top of the page
 
+Quote Post
alx2
сообщение Sep 3 2009, 15:47
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(sasamy @ Sep 1 2009, 15:15) *
Уже спрашивал в другой теме, но, насколько я помню, так никто и не ответил. Я, в отличие от предлагаемого по вышеуказанной ссылке плана сборки, выполняю пункты 2, 3 и 4 за один раз (при конфигцрации gcc говорю --with-newlib, и последжующий make собирает сразу и gcc, и newlib). Лично для меня очевидно, что план из двух пунктов вдвое проще, чем из четырех. Тем не менее, в этом форуме все время рекомендуют идти именно длинным путем. Почему? Какие это дает преимущества?


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
sasamy
сообщение Sep 3 2009, 18:36
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(alx2 @ Sep 3 2009, 19:47) *
Я, в отличие от предлагаемого по вышеуказанной ссылке плана сборки, выполняю пункты 2, 3 и 4 за один раз (при конфигцрации gcc говорю --with-newlib, и последжующий make собирает сразу и gcc, и newlib).


По ссылке все пункты - 1,2,3,4 выполняются за один раз - make smile.gif А вообще

Цитата
--with-newlib
Specifies that `newlib' is being used as the target C library.
This causes __eprintf to be omitted from libgcc.a on the
assumption that it will be provided by `newlib'.


Не совсем понятно как у вас собирается еще и newlib за один make. Понятно если до трех шагов сократить - без последнего 4, но я так не пробовал потому что всегда пользуюсь готовыми скриптами для сборки - сильно экономит время и нервы smile.gif
Go to the top of the page
 
+Quote Post
alx2
сообщение Sep 5 2009, 20:46
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 340
Регистрация: 25-10-05
Из: Пермь, Россия
Пользователь №: 10 091



Цитата(sasamy @ Sep 3 2009, 23:36) *
Не совсем понятно как у вас собирается еще и newlib за один make.
Не совсем понятно, что именно Вам не понятно. smile.gif В смысле, что значит "как"? Попробуйте сами - увидите.
tar -yxf gcc-core-x.x.x.tar.bz2
tar -yxf gcc-g++-x.x.x.tar.bz2
tar -zxf newlib-x.x.x.tar.gz
cd gcc-x.x.x
ln -fs ../newlib-x.x.x/newlib .
cd ..
mkdir builddir
cd builddir
../gcc-x.x.x/configure ..... --with-newlib
make
make install


--------------------
Всего наилучшего,
Alex Mogilnikov
Go to the top of the page
 
+Quote Post
amaora
сообщение Sep 6 2009, 12:19
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 421
Регистрация: 2-01-08
Пользователь №: 33 778



Мой вариант для 4.4.1 (с uClibc) http://paravozeg.narod.ru/tcmakev3.gz

Правка: перед запуском скрипта,
# cd /usr/local
# ln -s /path_to_script_dir/sysroot/usr/local/arm arm

ну и PATH надо заранее поправить, это как всегда.

alx2
Странно, только сейчас узнал, что newlib не есть часть gcc, конфигурил с --with-newlib а newlib не добавлял, собиралось и работало.

Сообщение отредактировал amaora - Sep 6 2009, 12:26
Go to the top of the page
 
+Quote Post
Krom
сообщение Sep 10 2009, 09:57
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 107
Регистрация: 27-06-05
Из: Россия
Пользователь №: 6 324



Цитата(Terminator @ Sep 1 2009, 13:38) *
Про openocd очень интересно.
С новой версией у меня никак не получается прошить sam7 "одной командой". Приходится запускать openocd и из telnet-а слать команды на перешивку smile3046.gif

Как запущу все окончательно, обязательно распишу. Так вроде все протестил, вроде работает, но при попытке использовать билиотечные функции начинает ругаться:
/usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/bin/ld: /usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/lib/libc.a(lib_a-strncmp.o)(strncmp): warning: interworking not enabled.
first occurrence: main.o: Thumb call to ARM
/usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/bin/ld: /usr/local/arm/lib/gcc/arm-elf/4.3.4/../../../../arm-elf/lib/libc.a(lib_a-strncmp.o)(strncmp): warning: interworking not enabled.
first occurrence: main.o: Thumb call to ARM

Какого ему надо не пойму. Опция -mthumb задана. Почему берет библиотеку /usr/local/arm/arm-elf/lib/libc.a а не /usr/local/arm/arm-elf/lib/thumb/libc.a нифига не понимаю. Опцию чтоли забыл какую-нить задать?

С этим вроде разобрался, но сомневаюсь, что сделал правильно, развейте, плиз, сомнения. Я тупо вставил в мэйкфайд следующую строку:
LDFLAGS += -L /usr/local/arm/arm-elf/lib/thumb -lc

Это правильно или есть более верные способы?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016