|
From: Axel B. <axe...@al...> - 2011-02-16 08:08:16
|
Hi, as a new valgrind user i need your help. Thanks in advance :) I am developing on a x86 Linux Machine(Debian Etch, gcc) for an embedded device with a Vortex86SX CPU(http://www.vortex86sx.com/?page_id=195) running this Linux: Linux version 2.6.24-eipm (root@rivendell) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 PREEMPT RT Fri Mar 5 12:50:24 CET 2010 CPU Info: processor : 0 vendor_id : unknown cpu family : 4 model : 0 model name : 486 stepping : unknown fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : no fpu_exception : no cpuid level : -1 wp : yes flags : bogomips : 20.63 clflush size : 32 I managed to compile Valgrind on my host CPU and install it onto a USB Stick for running it on the embedded device. I am able to start valgrind on the embedded device, but it stops with this message: netcube# ./valgrind -d --2355:1:debuglog DebugLog system started by Stage 1, level 1 logging requested --2355:1:launcher no tool requested, defaulting to 'memcheck' --2355:1:launcher no client specified, defaulting platform to 'x86-linux' --2355:1:launcher launching /mnt/usb/lib/valgrind/memcheck-x86-linux --2355:1:debuglog DebugLog system started by Stage 2 (main), level 1 logging requested --2355:1:main Welcome to Valgrind version 3.6.0 debug logging --2355:1:main Checking current stack is plausible --2355:1:main Checking initial stack was noted --2355:1:main Starting the address space manager --2355:1:main Address space manager is running --2355:1:main Starting the dynamic memory manager --2355:1:mallocfr newSuperblock at 0x61F8F000 (pszB 4194288) owner VALGRIND/tool --2355:1:main Dynamic memory manager is running --2355:1:main Initialise m_debuginfo --2355:1:main VG_(libdir) = /mnt/usb/lib/valgrind --2355:1:main Getting launcher's name ... --2355:1:main ... /mnt/usb/bin/valgrind --2355:1:main Get hardware capabilities ... valgrind: fatal error: unsupported CPU. Supported CPUs are: * x86 (practically any; Pentium-I or above), AMD Athlon or above) * AMD Athlon64/Opteron * PowerPC (most; ppc405 and above) Is there any chance to run valgrind on this system? Maybe with some special compiler flags, less features or an older version? Can anyone tell me, what features my embedded CPU lacks which are essential for running valgrind? (ok, it is not a Pentium...but why is this a must?) One important difference ist the missing FPU, which causes problems with newer linux versions like Debian Lenny, as these require an FPU. With debian Etch it is working on the embedded device. I can compile my programms on the host system, copy the binarys to my embedded device and everything runs fine. Thanks for any help...if you need further information please ask. Bye, axel |
|
From: Julian S. <js...@ac...> - 2011-02-16 12:08:33
|
At 20 bogomips, the performance will be appalling. But anyway: > Is there any chance to run valgrind on this system? Try messing with VG_(machine_get_hwcaps) in m_machine.c to claim that your machine is a minimum spec Pentium-I (or whatever the min spec is), then run again and see what breaks. J |
|
From: Axel B. <axe...@al...> - 2011-02-16 14:38:38
|
> Try messing with VG_(machine_get_hwcaps) in m_machine.c to claim that
> your machine is a minimum spec Pentium-I (or whatever the min spec
> is), then run again and see what breaks.
Ok...it seems like my CPU lacks every simple "feature" needed by valgrind.
Valgrind breaks at line 480 in m_machine.c
if (!VG_(has_cpuid)()){
and at http://www.cpushack.com/2010/10/07/the-rise-of-the-vortex86-embedded-x86/ i read
that my cpu doesn`t support the CMPXCHG8B instruction, too. (which seems to be indispensable to valgrind)
so it doesn`t seem to be too promising to get valgrind running on this cpu :(((
|