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

 
 
 
Reply to this topicStart new topic
> Тулчейн для ARM926EJ-S с поддержкой VFP, (4.4.1/crtn.o uses FPA instructions, whereas float_test does not)
alex_ott
сообщение Oct 2 2009, 18:53
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 21-09-09
Пользователь №: 52 499



Здравствуйте!

Появилась проблема при сборке тулчейна для ARM926EJ-S с поддержкой встроенного сопроцессора для работы с ПЗ (VFP).
Собирал по шагам из http://www.gnuarm.com/support.html, с ихним t-arm-elf. Исходные данные: Linux, gcc-4.4.1, binutils-2.19, newlib-1.17.0.

Попробовал протестировать. Как указано в http://gcc.gnu.org/onlinedocs/gcc-4.4.1/gc...tml#ARM-Options, для использования аппаратной точки (в случае с сопроцессором типа VFP) нужно вписать -mfloat-abi=softfp и -mfpu=vfp, при этом линкер вываливается со словами:
Цитата
bash: arm-elf-gcc -mcpu=arm926ej-s -mfloat-abi=softfp -mfpu=vfp float_test.c -o float_test
SNIP
toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/bin/ld: ERROR: toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/lib/libc.a(lib_a-reent.o) uses FPA instructions, whereas float_test does not
toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/bin/ld: ERROR: toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/lib/libc.a(lib_a-reent.o) uses hardware FP, whereas float_test uses software FP
SNIP
toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/bin/ld: ERROR: toolchain/arm/lib/gcc/arm-elf/4.4.1/crtn.o uses FPA instructions, whereas float_test does not
toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/bin/ld: ERROR: toolchain/arm/lib/gcc/arm-elf/4.4.1/crtn.o uses hardware FP, whereas float_test uses software FP
toolchain/arm/lib/gcc/arm-elf/4.4.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file toolchain/arm/lib/gcc/arm-elf/4.4.1/crtn.o

Собственно вопрос: почему части тулчейна и gcc в особенности собраны только с поддержкой FPA, хотя configure gcc не принимает аргументы -mcpu, -mfloat-abi и т.д.? Проблема в multilib?

Заранее спасибо.
Go to the top of the page
 
+Quote Post
klen
сообщение Oct 15 2009, 19:59
Сообщение #2


бессмертным стать можно тремя способами
*****

Группа: Свой
Сообщений: 1 405
Регистрация: 9-05-06
Из: Москва
Пользователь №: 16 912



1. линкер ругается на то что флаги "тип таргета" для float_test.o библиотечных файлов - что и должно быть.
убедится в этом Вы можете так
arm-elf-objdump -p crt0.o
arm-elf-objdump -p float_test.o
Вы увидите что различаются флаги. Едем далее - а почему????
Потому что компиллерy нпри сборке нада было указать -mfloat-abi=softfp и -mfpu=vfp в "в аппаратной " ветке мультилиба (или добавить свою аппаратную ветку). тогда б он либы с нужными флагам собрал.

2. если у Вас не получистся могу попробывать собрать тулчей "тока для -mcpu=arm926ej-s -mfloat-abi=softfp -mfpu=vfp"
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 29th July 2025 - 04:08
Рейтинг@Mail.ru


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