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

Reply via email to