Hi, When we try to use valgrind on our board(cpu-mips, os-linux, clib-glibc), but met with some problem. Please check if you met such problem before? Any suggestions? Thanks!
CPU Info: #cat /proc/cpuinfo Processor : ARMv7 Processor rev 0 (v7l) BogoMIPS : 1297.61 Features : swp half thumb fastmult edsp CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x3 CPU part : 0xc09 CPU revision : 0 Hardware : hsan Revision : 0000 Serial : 0000000000000000 GCC Info: mips_74k_softfp-target-linux-gnu-gcc --verbose Using built-in specs. Target: mips-wrs-linux-gnu Configured with: /scratch/joseph/wrs/4.4a/src/gcc-4.4-wrs/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=mips-wrs-linux-gnu --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-float=soft --with-mips-plt --with-arch-32=4kc --with-arch-64=5kf --with-gnu-as --with-gnu-ld --with-specs='%{save-temps: -fverbose-asm} %{O2:%{!fno-remove-local-statics: -fremove-local-statics}} %{O*:%{O|O0|O1|O2|Os:;:%{!fno-remove-local-statics: -fremove-local-statics}}}' --enable-languages=c,c++ --enable-shared --disable-lto --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Wind River Linux Sourcery G++ 4.4a-323' --with-bugurl=supp...@windriver.com --disable-nls --prefix=/opt/windriver/wrlinux/mips --with-sysroot=/opt/windriver/wrlinux/mips/mips-wrs-linux-gnu/libc --with-build-sysroot=/scratch/joseph/wrs/4.4a/mips/install/mips-wrs-linux-gnu/libc --with-gmp=/scratch/joseph/wrs/4.4a/mips/obj/host-libs-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-mpfr=/scratch/joseph/wrs/4.4a/mips/obj/host-libs-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-ppl=/scratch/joseph/wrs/4.4a/mips/obj/host-libs-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-cloog=/scratch/joseph/wrs/4.4a/mips/obj/host-libs-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-libelf=/scratch/joseph/wrs/4.4a/mips/obj/host-libs-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu/usr --disable-libgomp --with-license=/scratch/joseph/wrs/4.4a/mips/obj/host-libs-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu/usr --with-csl-license-version=20101201 --with-csl-license-feature=gcc_MIPS_Wind_River_Linux --enable-poison-system-directories --with-debug-prefix-map='/scratch/joseph/wrs/4.4a/mips/install=/opt/windriver/wrlinux/mips /scratch/joseph/wrs/4.4a/src/gcc-4.4-wrs=/opt/windriver/wrlinux/mips/mips-wrs-linux-gnu/src/gcc /scratch/joseph/wrs/4.4a/mips/obj/gcc-4.4a-323-mips-wrs-linux-gnu-i686-pc-linux-gnu=/opt/windriver/wrlinux/mips/mips-wrs-linux-gnu/src/generated/gcc' --with-build-time-tools=/scratch/joseph/wrs/4.4a/mips/install/mips-wrs-linux-gnu/bin --with-build-time-tools=/scratch/joseph/wrs/4.4a/mips/install/mips-wrs-linux-gnu/bin Thread model: posix gcc version 4.4.1 (Wind River Linux Sourcery G++ 4.4a-323) Crash Log1(The application was linked as static): ./valgrind ./test ==3269== Memcheck, a memory error detector ==3269== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==3269== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==3269== Command: ./test ==3269== ==3269== valgrind: Unrecognised instruction at address 0x40c038. ==3269== at 0x40C038: _dl_aux_init (in /tmp/wqf/Install/bin/test) ==3269== by 0x400400: (below main) (in /tmp/wqf/Install/bin/test) ==3269== Your program just tried to execute an instruction that Valgrind ==3269== did not recognise. There are two possible reasons for this. ==3269== 1. Your program has a bug and erroneously jumped to a non-code ==3269== location. If you are running Memcheck and you just saw a ==3269== warning about a bad jump, it's probably your program's fault. ==3269== 2. The instruction is legitimate but Valgrind doesn't handle it, ==3269== i.e. it's Valgrind's fault. If you think this is the case or ==3269== you are not sure, please let us know and we'll try to fix it. ==3269== Either way, Valgrind will now raise a SIGILL signal which will ==3269== probably kill your program. ==3269== ==3269== Process terminating with default action of signal 4 (SIGILL) ==3269== Illegal opcode at address 0x40C038 ==3269== at 0x40C038: _dl_aux_init (in /tmp/wqf/Install/bin/test) ==3269== by 0x400400: (below main) (in /tmp/wqf/Install/bin/test) ==3269== ==3269== HEAP SUMMARY: ==3269== in use at exit: 0 bytes in 0 blocks ==3269== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==3269== ==3269== All heap blocks were freed -- no leaks are possible ==3269== ==3269== For counts of detected and suppressed errors, rerun with: -v ==3269== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Illegal instruction Crash Log2(The application was linked as dynamic): ./valgrind ../../../a.out ==4441== Memcheck, a memory error detector ==4441== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al. ==4441== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info ==4441== Command: ../../../a.out ==4441== ==4441== valgrind: Unrecognised instruction at address 0x4016fd8. ==4441== at 0x4016FD8: ??? (in /lib/ld-2.11.1.so) ==4441== by 0x4000E5C: ??? (in /lib/ld-2.11.1.so) ==4441== Your program just tried to execute an instruction that Valgrind ==4441== did not recognise. There are two possible reasons for this. ==4441== 1. Your program has a bug and erroneously jumped to a non-code ==4441== location. If you are running Memcheck and you just saw a ==4441== warning about a bad jump, it's probably your program's fault. ==4441== 2. The instruction is legitimate but Valgrind doesn't handle it, ==4441== i.e. it's Valgrind's fault. If you think this is the case or ==4441== you are not sure, please let us know and we'll try to fix it. ==4441== Either way, Valgrind will now raise a SIGILL signal which will ==4441== probably kill your program. ==4441== ==4441== Process terminating with default action of signal 4 (SIGILL) ==4441== Illegal opcode at address 0x4016FD8 ==4441== at 0x4016FD8: ??? (in /lib/ld-2.11.1.so) ==4441== by 0x4000E5C: ??? (in /lib/ld-2.11.1.so) ==4441== ==4441== HEAP SUMMARY: ==4441== in use at exit: 0 bytes in 0 blocks ==4441== total heap usage: 0 allocs, 0 frees, 0 bytes allocated ==4441== ==4441== All heap blocks were freed -- no leaks are possible ==4441== ==4441== For counts of detected and suppressed errors, rerun with: -v ==4441== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Illegal instruction ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may _______________________________________________ Valgrind-users mailing list Valgrind-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/valgrind-users