LINUX.ORG.RU

Как собрать valgrind под ARM

 , , ,


0

1

Как собрать valgrind под ARM? знаю что где то в параметрах должно стоять arm-linux-gcc, пробовал так: ./configure --target=arm-linux-gcc --host=i686-linux Всьо окей, но после make install: make: *** [install] Error 2



Последнее исправление: Bytex (всего исправлений: 1)

пробывал

Это будет непросто.

anonymous
()

make install: make: *** [install] Error 2

В 48 файле на 16 строчке кавычку дополнительную поставь и все заработает. Это известный баг, мог бы и сам загуглить.

trex6 ★★★★★
()

Скажи, что по твоему делает make install? А если целевой системой является arm-linux-gcc?

anonymous
()

Как собрать valgrind под ARM?

Когда я последний раз хотел это сделать, оказалось, что поддерживаются далеко не все виды ARM.

Deleted
()

--host=i686-linux

Почитай configure --help внимательнее. host тоже должен быть arm-linux.

И "-gcc" из target вроде надо убрать.

Плюс, как справедливо заметили, не надо делать make install. Бинарники потом придется ручками перетаскивать...

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

Немного уточню: работаю на debian под i686 и нужно с помощью valgrind потестить бинарники для ARM. Пробую установить valgrind

./configure --host=arm-linux --target=arm-linux-gnueabi --build=i686-linux CC=arm-linux-gnueabi-gcc
Все нормально. Далее:

make

echo "# This is a generated file, composed of the following suppression rules:" > default.supp
echo "# " exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp  >> default.supp
cat exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp  >> default.supp
make  all-recursive
make[1]: Entering directory `/home/lifeline/valgrind-3.8.1'
Making all in include
make[2]: Entering directory `/home/lifeline/valgrind-3.8.1/include'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/lifeline/valgrind-3.8.1/include'
Making all in VEX
make[2]: Entering directory `/home/lifeline/valgrind-3.8.1/VEX'
make  all-am
make[3]: Entering directory `/home/lifeline/valgrind-3.8.1/VEX'
arm-linux-gnueabi-gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../include -I../VEX/pub -DVGA_arm=1 -DVGO_linux=1 -DVGP_arm_linux=1 -DVGPV_arm_linux_vanilla=1 -Ipriv  -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -marm -mcpu=cortex-a8 -Wbad-function-cast -Wcast-qual -Wcast-align -fstrict-aliasing -Wno-long-long  -Wno-pointer-sign -fno-stack-protector -MT libvex_arm_linux_a-main_globals.o -MD -MP -MF .deps/libvex_arm_linux_a-main_globals.Tpo -c -o libvex_arm_linux_a-main_globals.o `test -f 'priv/main_globals.c' || echo './'`priv/main_globals.c
priv/main_globals.c:1: error: bad value (cortex-a8) for -mcpu= switch
make[3]: *** [libvex_arm_linux_a-main_globals.o] Error 1
make[3]: Leaving directory `/home/lifeline/valgrind-3.8.1/VEX'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/lifeline/valgrind-3.8.1/VEX'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/lifeline/valgrind-3.8.1'
make: *** [all] Error 2

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

error: bad value (cortex-a8) for -mcpu= switch

настораживает.

Возможно, это то, о чем говорил dimss.

Сам я valgrind для arm не собирал.

А нельзя погонять программу на valgrind под x86, потом кросс-компельнуть и залить на arm? Или там что-то весьма специфичное?

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

настораживает

Это не настораживает, а прямо говорит что нет соответствия между тулчейном и таргетом. Значит надо немного моск включить, хоть так и хочется на всё готовенькое с минимумом iq.

anonymous
()

Ну для начала я бы советовал нормально настроить переменные окружения. В некоторых тулчейнах есть скрипт выставляющий переменные окружения. Например в eldk-тулчейнах точно есть.

Далее

./configure --host=arm-linux
make

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