2013-06-04 9 views
6

я нашел в моей реальной программе для ARM CortexA8 с Linux следующей проблемой:Valgrind в ARM CortexA8 Issue «настроить: ошибка: неподдерживаемые архитектуры хоста»

´*** glibc detected *** ./PRUssExternal: double free or corruption (top): 0x00024fe8 ***´ 

I`m искал, что в web, и я обнаружил, что наиболее полезной программой для решения этой проблемы является Valgrind.

How to track down a double free or corruption error in C++ with gdb

Затем я пытаюсь скомпилировать к моей системе в кросс-компиляции, со следующими параметрами в конфигурации. I'm с помощью Valgrind 3.8.1

@-virtual-machine:~/valgrind-3.8.1$ CC=arm-cortexa8-linux-gnueabi-gcc CFLAGS="-pipe -Os -mtune=cortex-a8 -march=armv7-a -mabi=aapcs-linux -msoft-float -I/opt/OSELAS.Toolchain-2011.11.3/arm-cortexa8-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitez/sysroot-arm-cortexa8-linux-gnueabi/usr/include" LDFLAGS="-L/opt/OSELAS.Toolchain-2011.11.3/arm-cortexa8-linux-gnueabi/gcc-4.6.2-glibc-2.14.1-binutils-2.21.1a-kernel-2.6.39-sanitez/sysroot-arm-cortexa8-linux-gnueabi/usr/lib" ./configure -prefix=/opt/valgrid -host=arm-cortexa8-linux-gnueabi -target=arm-none-linux-gnueabi -build=x86_64-ubuntu-linux

И вывод такой конфигурации:

checking for a BSD-compatible install... /usr/bin/install -c 
checking whether build environment is sane... yes 
checking for arm-cortexa8-linux-gnueabi-strip... arm-cortexa8-linux-gnueabi-strip 
checking for a thread-safe mkdir -p... /bin/mkdir -p 
checking for gawk... gawk 
checking whether make sets $(MAKE)... yes 
checking whether to enable maintainer-specific portions of Makefiles... no 
checking whether ln -s works... yes 
checking for arm-cortexa8-linux-gnueabi-gcc... arm-cortexa8-linux-gnueabi-gcc 
checking whether the C compiler works... yes 
checking for C compiler default output file name... a.out 
checking for suffix of executables... 
checking whether we are cross compiling... yes 
checking for suffix of object files... o 
checking whether we are using the GNU C compiler... yes 
checking whether arm-cortexa8-linux-gnueabi-gcc accepts -g... yes 
checking for arm-cortexa8-linux-gnueabi-gcc option to accept ISO C89... none needed 
checking for style of include used by make... GNU 
checking dependency style of arm-cortexa8-linux-gnueabi-gcc... gcc3 
checking whether arm-cortexa8-linux-gnueabi-gcc and cc understand -c and -o together... yes 
checking how to run the C preprocessor... arm-cortexa8-linux-gnueabi-gcc -E 
checking for arm-cortexa8-linux-gnueabi-g++... arm-cortexa8-linux-gnueabi-g++ 
checking whether we are using the GNU C++ compiler... yes 
checking whether arm-cortexa8-linux-gnueabi-g++ accepts -g... yes 
checking dependency style of arm-cortexa8-linux-gnueabi-g++... gcc3 
checking for arm-cortexa8-linux-gnueabi-ranlib... arm-cortexa8-linux-gnueabi-ranlib 
checking for a sed that does not truncate output... /bin/sed 
checking for ar... /usr/bin/ar 
checking for perl... /usr/bin/perl 
checking for gdb... /usr/bin/gdb 
checking dependency style of arm-cortexa8-linux-gnueabi-gcc... gcc3 
checking for diff -u... yes 
checking for a supported version of gcc... ok (4.6.2) 
checking build system type... x86_64-ubuntu-linux-gnu 
checking host system type... arm-cortexa8-linux-gnueabi 
checking for a supported CPU... no (arm) 
configure: error: Unsupported host architecture. Sorry 

В последней строке этого вывода, Мой вопрос появился, хотя я искал какую-то информацию, а также Cortexa8 - один из поддерживаемых пластинформ.

valgrind on the ARM9?

По этой причине мой вопрос, является ли моя плата не поддерживается, так как библиотеки, которые я использую не совместимы, или это может быть другая причина. Или в другой руке я мог бы скомпилировать вальгринда без страха и попробовать эту проверку.

Спасибо за ваше время

-Regards

Breci01010 ...

+1

Согласно http://sourceforge.net/mailarchive/forum.php?thread_name=4CD93681.2020608%40yandex.ru&forum_name=valgrind-users, это может быть следствием вашего необычно явного имени инструментальной цепочки. Таким образом, вы можете попробовать --host = armv7-unknown-linux-gnueabi. – unixsmurf

+0

Спасибо unixsmurf, я уже тестировал изменение новой конфигурации на хосте, и поэтому он работает отлично. Спасибо за ваше время -Regards – breci010101

+0

Привет, Я скомпилировал и установил успешно valdgrid в CortexA8. Но проблема, которую я нахожу сейчас, потому что я не использую стандартные C libraies [Как скомпилировать valgrid] (http://blog.galemin.com/2010/10/how-to-build-valgrind- 3-6-0-for-beagleboard-xm-on-ubuntu /) Как кто-то знает, что другая система работает более дружелюбно с нестандартными библиотеками, которые не являются gdb. -Спасибо – breci010101

ответ

10

Вы должны редактировать настройки файла. Найдите строку «armv7 *» и измените ее на «arm *» - этого будет достаточно.

+0

приятно, что исправил его для меня с valgrind-3.10.1, thx! – the1plummie

+0

Файл конфигурации является сгенерированным. Итак, я впервые дождался ошибки. Сделал изменения в файле, а затем снова скомпилирован. Я просто хотел узнать, откуда происходит копирование файла конфигурации? – Aadishri

Смежные вопросы