|
From: Rahul S <sb...@gm...> - 2009-07-22 16:13:41
|
I am using the memcheck tool for Valgrind 3.4.1 I compiled Valgrind for two different host environments(One was x86 Linux and other Powerpc) The x86 version works perfectly on my application binaries, however the Powerpc one seems to be generating a lot of "uninitialised value" errors. I tried running valgrind on the unix command 'ls'. It seems to generate similar outputs( loads of "uninitialised value" errors) # valgrind ls ==446== Memcheck, a memory error detector. ==446== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al. ==446== Using LibVEX rev 1884, a library for dynamic binary translation. ==446== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP. ==446== Using valgrind-3.4.1, a dynamic binary instrumentation framework. ==446== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al. ==446== For more details, rerun with: -v ==446== ==446== Conditional jump or move depends on uninitialised value(s) ==446== at 0x40027A8: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Conditional jump or move depends on uninitialised value(s) ==446== at 0x40027EC: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Conditional jump or move depends on uninitialised value(s) ==446== at 0x4002124: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Use of uninitialised value of size 4 ==446== at 0x40057B4: (within /lib/ld-2.3.6.so) ==446== by 0x400602F: (within /lib/ld-2.3.6.so) ==446== by 0x40036DF: (within /lib/ld-2.3.6.so) ==446== by 0x400FF1F: (within /lib/ld-2.3.6.so) ==446== by 0x400215B: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Use of uninitialised value of size 4 ==446== at 0x40057E8: (within /lib/ld-2.3.6.so) ==446== by 0x400602F: (within /lib/ld-2.3.6.so) ==446== by 0x40036DF: (within /lib/ld-2.3.6.so) ==446== by 0x400FF1F: (within /lib/ld-2.3.6.so) ==446== by 0x400215B: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Use of uninitialised value of size 4 ==446== at 0x40057F8: (within /lib/ld-2.3.6.so) ==446== by 0x400602F: (within /lib/ld-2.3.6.so) ==446== by 0x40036DF: (within /lib/ld-2.3.6.so) ==446== by 0x400FF1F: (within /lib/ld-2.3.6.so) ==446== by 0x400215B: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Use of uninitialised value of size 4 ==446== at 0x4014C78: (within /lib/ld-2.3.6.so) ==446== by 0x4018FFF: (within /lib/ld-2.3.6.so) ==446== by 0x400551B: (within /lib/ld-2.3.6.so) ==446== by 0x4007FC3: (within /lib/ld-2.3.6.so) ==446== by 0x400296F: (within /lib/ld-2.3.6.so) ==446== by 0x400C2E3: (within /lib/ld-2.3.6.so) ==446== by 0x4002B27: (within /lib/ld-2.3.6.so) ==446== by 0x4003893: (within /lib/ld-2.3.6.so) ==446== by 0x400FF1F: (within /lib/ld-2.3.6.so) ==446== by 0x400215B: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== Use of uninitialised value of size 4 ==446== at 0x4014C58: (within /lib/ld-2.3.6.so) ==446== by 0x4018FFF: (within /lib/ld-2.3.6.so) ==446== by 0x400551B: (within /lib/ld-2.3.6.so) ==446== by 0x4007FC3: (within /lib/ld-2.3.6.so) ==446== by 0x400296F: (within /lib/ld-2.3.6.so) ==446== by 0x400C2E3: (within /lib/ld-2.3.6.so) ==446== by 0x4002B27: (within /lib/ld-2.3.6.so) ==446== by 0x4003893: (within /lib/ld-2.3.6.so) ==446== by 0x400FF1F: (within /lib/ld-2.3.6.so) ==446== by 0x400215B: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ==446== ==446== Syscall param open(filename) contains uninitialised byte(s) ==446== at 0x4012900: (within /lib/ld-2.3.6.so) ==446== by 0x4008017: (within /lib/ld-2.3.6.so) ==446== by 0x400296F: (within /lib/ld-2.3.6.so) ==446== by 0x400C2E3: (within /lib/ld-2.3.6.so) ==446== by 0x4002B27: (within /lib/ld-2.3.6.so) ==446== by 0x4003893: (within /lib/ld-2.3.6.so) ==446== by 0x400FF1F: (within /lib/ld-2.3.6.so) ==446== by 0x400215B: (within /lib/ld-2.3.6.so) ==446== by 0x40028C7: (within /lib/ld-2.3.6.so) ==446== by 0x4010F33: (within /lib/ld-2.3.6.so) ==446== ... and around 100s of these more.... I referred to http://www.valgrind.org/docs/manual/faq.html#faq.unhelpful but my binaries and libraries are not stripped and built with debug information. Moreover i tried it on the 'ls' command and it gave similar "Uninitialised value" output $ file ld-2.3.6.so ld-2.3.6.so: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), not stripped $ file libc-2.3.6.so libc-2.3.6.so: ELF 32-bit MSB shared object, PowerPC or cisco 4500, version 1 (SYSV), for GNU/Linux 2.0.0, not stripped Can someone throw some light here? -Rahul |