I picked up a valgrind banary for qnx 6.5 and was able to run the qnx binary on a sample program as below :
# /usr/valgrind/x86/usr/bin/valgrind
valgrind: no program specified
valgrind: Use --help for more information.
# /usr/valgrind/x86/usr/bin/valgrind --version
valgrind-3.10.1
# /usr/valgrind/x86/usr/bin/valgrind --tool=memcheck
valgrind: no program specified
valgrind: Use --help for more information.
# /usr/valgrind/x86/usr/bin/valgrind --tool=memcheck ls
==6332450== Memcheck, a memory error detector
==6332450== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==6332450== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==6332450== Command: ls
==6332450==
==6332450==
==6332450==
==6332450== Valgrind is exiting:
==6332450== Symbols for /proc/boot/libc.so.3 are required but not found.
==6332450== (Suggestion: compile that binary with debug-information, or provide a separate symbol-file.)
==6332450==
==6332450==
But while to run the same binary with a arm binary(code compiled on arm processor) its throwing the below error :
# /usr/valgrind1/x86/usr/bin/valgrind /usr/bt
(here bt is the binary compiled with arm)
valgrind: executable is not for this architecture
Note : /usr/valgrind_arm/valgrind/bin/valgrind ls /usr/valgrind_arm/valgrind/bin/valgrind[1]: syntax error: `^AÜ$O4T^H' unexpected
Any suggestion or response will be highly appreciated .
Cause
/proc/boot/libc.so.3
don't have debugging symbols. Try runvalgrind
from current working directory/lib
, that containing different version oflibc.so.3
with debug symbols. Or set its path asvalgrind --tool=memcheck --extra-debuginfo-path=/lib <prog_name>