it-swarm-pt.com

usando Valgrind compilado cruzado

Baixei as fontes do tronco Valgrind e as construí para usar em um sistema Linux embarcado (Montavista Linux) equipado com um ARM926 (arquitetura ARMv5t). Tudo correu bem até que tentei executá-lo para verificar algum aplicativo que fiz; Valgrind me disse:

"valgrind: falhou ao iniciar a ferramenta 'memcheck' para a plataforma 'arm-linux': Não existe esse arquivo ou diretório".

Tentar executar qualquer outra ferramenta dá a mesma mensagem. Para make install eu usei a opção --prefix apontando para o sistema de arquivos do sistema embutido que é montado através do NFS (por exemplo, --prefix =/home/NFS_mounted/opt/valgrind). Verifiquei o local de instalação e o diretório lib contém as ferramentas adequadas; Eu também verifiquei o arquivo pkgconfig correspondente para Valgrind e parece estar OK, então estou meio sem noção agora e não consigo descobrir o que está errado. 2 questões:

  1. É correto usar/instalar um Valgrind compilado cruzado como esse? Talvez eu esteja fazendo algo errado em relação à configuração, ou talvez haja algo envolvendo o sistema Host que estou faltando (como gdb/gdbserver).
  2. Alguém já tentou executá-lo nas arquiteturas ARM? Estou ciente de que o suporte é bastante recente, então estou me perguntando se poderia obter resultados decentes.
12
celavek

Execute este comando em seu dispositivo de destino

export VALGRIND_LIB=~/valgrind/lib/valgrind/

onde ./valgrind é o caminho do diretório instalado (fornecido em ./configure)

15
bhargav

O problema é que 'valgrind' está procurando um executável diferente para executar a verificação real. Ele usa o caminho de instalação que você especificou ao configurá-lo, que não é o mesmo caminho do destino.

Você deve ser capaz de confirmar isso criando um link simbólico/home/NFS_mounted em seu destino que aponta para '/'.

4
Kristof Provost

Coloque em VALGRIND_LIB o diretório pai do diretório AMD64-linux. Por exemplo.:

export VALGRIND_LIB=/u/gallinar/downloaded/valgrind-3.2.3/.in_place

funcionou para mim hoje :).

2
Hemant

VALGRIND_LIB precisa estar apontando para a pasta que tem a ferramenta memcheck e outras bibliotecas x compiladas dependentes

0
DERRIC LYNS