it-swarm-es.tech

utilizando Valgrind compilado de forma cruzada

Descargué las fuentes del tronco de Valgrind y las construí para usar en un sistema Linux integrado (Montavista Linux) con tecnología ARM926 (arquitectura ARMv5t). Todo salió bien hasta que intenté ejecutarlo para comprobar alguna aplicación que hice; Valgrind me dice:

"valgrind: no se pudo iniciar la herramienta 'memcheck' para la plataforma 'arm-linux': no ​​existe ese archivo o directorio".

Intentar ejecutar cualquier otra herramienta da el mismo mensaje. Para make install utilicé la opción --prefix que apunta al sistema de archivos del sistema integrado que está montado a través de NFS (por ejemplo, --prefix =/home/NFS_mounted/opt/valgrind). Verifiqué la ubicación de la instalación y el directorio lib contiene las herramientas adecuadas; También verifiqué el archivo pkgconfig correspondiente para Valgrind y parece estar bien, así que no tengo ni idea en este momento y no puedo entender qué está yendo mal. 2 preguntas:

  1. ¿Es correcto usar/instalar un Valgrind de compilación cruzada como ese? Tal vez estoy haciendo algo mal con respecto a la configuración, o tal vez hay algo relacionado con el sistema Host que me falta (como gdb/gdbserver).
  2. ¿Alguien ha intentado ejecutarlo en arquitecturas ARM? Soy consciente de que el soporte es bastante reciente, así que me pregunto si podría obtener resultados decentes.
12
celavek

Ejecute este comando en su dispositivo de destino

export VALGRIND_LIB=~/valgrind/lib/valgrind/

dónde ./valgrind es la ruta del directorio instalado (dado en ./configure)

15
bhargav

El problema es que 'valgrind' está buscando un ejecutable diferente para ejecutar la verificación real. Utiliza la ruta de instalación que especificó cuando la configuró, que no es la misma ruta que en el destino.

Debería poder confirmar esto creando un enlace simbólico/home/NFS_mounted en su objetivo que apunte a '/'.

4
Kristof Provost

Coloque en VALGRIND_LIB el directorio principal del directorio AMD64-linux. P.ej.:

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

funcionó para mí hoy :).

2
Hemant

VALGRIND_LIB debe apuntar a la carpeta que tiene la herramienta Memcheck y otras bibliotecas compiladas x dependientes

0
DERRIC LYNS