usando Valgrind compilado em cruz

7

Eu fiz o download dos fontes do tronco do Valgrind e construí-o para uso em um sistema Linux embarcado (Montavista Linux) desenvolvido por um ARM926 (arquitetura ARMv5t). Tudo correu bem até que tentei executá-lo para verificar algum aplicativo que fiz; Valgrind me diz:

"valgrind: falha ao iniciar a ferramenta 'memcheck' para a plataforma 'arm-linux': Nenhum arquivo ou diretório".

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

  1. É correto usar / instalar um Valgrind compilado assim? Talvez eu esteja fazendo algo errado com relação à configuração, ou talvez haja algo envolvendo o sistema host que estou perdendo (como o gdb / gdbserver).
  2. Alguém já tentou executá-lo em arquiteturas ARM? Estou ciente de que o suporte é relativamente recente, por isso estou pensando se poderia obter resultados decentes.
por celavek 06.09.2010 / 21:14

3 respostas

10

Execute este comando no seu dispositivo de destino

export VALGRIND_LIB=~/valgrind/lib/valgrind/

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

    
por 29.10.2015 / 10:33
4

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

Você deve ser capaz de confirmar isso criando um link simbólico / home / NFS_montado no seu alvo que aponta para '/'.

    
por 06.09.2010 / 22:52
2

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:).

    
por 09.01.2013 / 13:41