|
From: Bizhan G. \(bgholikh\) <bgh...@ci...> - 2007-07-18 19:51:17
|
Hi All,
We are using Freescale PowerPC MPC8541 on our platform. When I try to
ran valgrind on our system (Linux 2.6.11) I get the following error,
indicating unrecognized powerpc instruction. The culprit instruction is
a valid instruction for MPC8541 but valgrind does not understand it. Is
there anything that I can do to overcome this failure,=20
Many thanks in advance,
Bizhan
=20
$:valgrind --version
valgrind-3.2.3
$: valgrind MyApp
=3D=3D26981=3D=3D Memcheck, a memory error detector.
=3D=3D26981=3D=3D Copyright (C) 2002-2007, and GNU GPL'd, by Julian =
Seward et
al.
=3D=3D26981=3D=3D Using LibVEX rev 1732, a library for dynamic binary
translation.
=3D=3D26981=3D=3D Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks =
LLP.
=3D=3D26981=3D=3D Using valgrind-3.2.3, a dynamic binary instrumentation
framework.
=3D=3D26981=3D=3D Copyright (C) 2000-2007, and GNU GPL'd, by Julian =
Seward et
al.
=3D=3D26981=3D=3D For more details, rerun with: -v
=3D=3D26981=3D=3D
disInstr(ppc): unhandled instruction: 0x7D29B79E
primary 31(0x1F), secondary 1950(0x79E)
=3D=3D26981=3D=3D valgrind: Unrecognised instruction at address =
0x40108A4.
=3D=3D26981=3D=3D Your program just tried to execute an instruction that
Valgrind
=3D=3D26981=3D=3D did not recognise. There are two possible reasons for =
this.
=3D=3D26981=3D=3D 1. Your program has a bug and erroneously jumped to a =
non-code
=3D=3D26981=3D=3D location. If you are running Memcheck and you just =
saw a
=3D=3D26981=3D=3D warning about a bad jump, it's probably your =
program's
fault.
=3D=3D26981=3D=3D 2. The instruction is legitimate but Valgrind doesn't =
handle
it,
=3D=3D26981=3D=3D i.e. it's Valgrind's fault. If you think this is =
the case
or
=3D=3D26981=3D=3D you are not sure, please let us know and we'll try =
to fix
it.
=3D=3D26981=3D=3D Either way, Valgrind will now raise a SIGILL signal =
which will
=3D=3D26981=3D=3D probably kill your program.
=3D=3D26981=3D=3D
=3D=3D26981=3D=3D Process terminating with default action of signal 4 =
(SIGILL)
=3D=3D26981=3D=3D Illegal opcode at address 0x40108A4
=3D=3D26981=3D=3D at 0x40108A4: __elf_machine_runtime_setup (in
/lib/ld-2.3.3.so)
=3D=3D26981=3D=3D by 0x400245C: _dl_start (in /lib/ld-2.3.3.so)
=3D=3D26981=3D=3D by 0x40103A0: _start (in /lib/ld-2.3.3.so)
=3D=3D26981=3D=3D
=3D=3D26981=3D=3D ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 =
from 0)
=3D=3D26981=3D=3D malloc/free: in use at exit: 0 bytes in 0 blocks.
=3D=3D26981=3D=3D malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
=3D=3D26981=3D=3D For counts of detected errors, rerun with: -v
=3D=3D26981=3D=3D All heap blocks were freed -- no leaks are possible.
Illegal instruction
|