|
From: John R. <jr...@Bi...> - 2014-09-26 02:49:04
|
> ==5290== Process terminating with default action of signal 4 (SIGILL) > ==5290== Illegal opcode at address 0x3808AE70 > ==5290== at 0x4000E50: _start (in /lib/ld-uClibc-0.9.32.1.so) > # cat /proc/cpuinfo > Processor : ARMv7 Processor rev 1 (v7l) > processor : 0 > BogoMIPS : 1987.37 > processor : 1 > BogoMIPS : 1993.93 > Features : swp half thumb fastmult edsp tls This smells like valgrind was built (compiled) for some other ARM architecture, but installed on this box. Or, it could be a bug the code which valgrind uses to determine the current CPU architecture. Find out what instruction (the four bytes) is at 0x3808AE70, and tell is in hex and disassembled (use gdb). That address is inside one of the valgrind tools itself. On x86_64 it would be /usr/lib64/valgrind/memcheck-amd64-linux so look for /usr/lib/valgrind/memcheck-arm*-linux or similar. Then run gdb on that file, and say: x/x 0x3808AE70 x/i 0x3808AE70 q -- |