|
From: Bizhan G. \(bgholikh\) <bgh...@ci...> - 2007-07-18 20:14:27
|
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:=20 disInstr(ppc): unhandled instruction: 0x7D29B79E primary 31(0x1F), secondary 1950(0x79E) =3D=3D26981=3D=3D valgrind: = Unrecognised instruction at address 0x40108A4 =20 I talked to Freescale FAE, he mentioned: "If the primary and secondary are primary (0x1F) secondary (0x79e) then shouldn't the instruction be 0x1F29B79E and not 0x7D29B79E" =20 Please help me to resolve this issue. =20 Many thanks in advance, Bizhan =20 =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 =20 |