I use valgrind to debug my application. I have two machines where I want to run the code without errors.
One is an ubuntu 11.10 with valgrind 3.7.0 running and one is a Mac OS X 10.7.2 with valgrind 3.6.0 and valgrind 3.8.0.
I run the following valgrind command:
valgrind --track-origins=yes ./my_program
On the Linux machine I did not get any error reports. On the Mac valgrind complains about
==35723== Conditional jump or move depends on uninitialised value(s)
==35723== at 0x10004DCAF: boost::spirit ...
As the error is reported in a boost lib I do not think that there might be an error in the boost libraries (boost version is the same on both machines 1.46.1).
What can be the cause for the different error reports?
Valgrind is not a static analysis tools, but rather a runtime one, i.e. valgrind runs the program on a virtual machine. There is plenty of code in many applications that is not triggered by or compiled for every machine alike, explaining the differences.