|
From: Tom H. <to...@co...> - 2005-10-12 06:17:23
|
In message <20051012022838.GA31034@debian>
Jeff Muizelaar <je...@in...> wrote:
> With the attached example valgrind 3.0.1 wrongly complains:
>
> ==2888== Conditional jump or move depends on uninitialised value(s)
> ==2888== at 0x804835C: (within /home/jrmuizel/test/main)
> ==2888== by 0x80482B0: ??? (start.S:119)
>
> The problem appears to be provoked by valgrind not
> properly tracking the v-bits through 'add's.
The tracking done is quick-n-dirty normally and not perfect - there is
a more accurate version that is sometimes done if memcheck sees certain
constants in the same block of code.
> replacing 'add %eax, %eax' in the attached program with 'shl $1, %eax'
> makes the error go away.
>
> The example is a cleaned up version of some code produced by gcc and was
> producing false positives in real code.
>
> Is this problem fixable?
Julian will need to answer that, but please file a bug for this.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|