|
From: Nicholas N. <nj...@cs...> - 2008-12-04 08:26:38
|
On Mon, 1 Dec 2008, Michael Rosellini wrote:
> When Valgrind says "Conditional jump or move depends on uninitialised
> value(s)," it does not give an address or a size, so if I'm looking at a
> line like
>
> 1264 if (inet_addr_equal(ip, ae->ip_addr, addrlen) && (ifc == ae->ifc)) {
>
> I really have very little idea what's going on.
>
> Before I go try to patch Valgrind so that it will print out some
> information about where the undefinedness is, I thought I'd ask: Is there
> some technical reason why Valgrind doesn't already do this?
http://www.valgrind.org/docs/origin-tracking2007.pdf has more detail on this
than you ever wanted to know. In short, it's difficult.
Nonetheless, it's been implemented (albeit in a simpler, less efficient but
more robust way than that described in the paper). Check out the current
SVN trunk (see http://www.valgrind.org/downloads/repository.html for how)
and try the --track-origins=yes option.
Nick
|