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
------------------------------------------------------------------------------
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to