|
From: Jeff M. <je...@in...> - 2005-10-12 02:28:50
Attachments:
main.s
|
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. 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? Thanks, -Jeff |
|
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/
|
|
From: Julian S. <js...@ac...> - 2005-10-12 09:54:53
|
> Is this problem fixable? Maybe. The .s example is useful. However, can you send a .c example + details of what gcc I need to cause it to generate such code? I'd like to see the wider context of the problem. J |
|
From: Jeff M. <je...@in...> - 2005-10-12 19:00:25
Attachments:
test.c
|
> The .s example is useful. However, can you send a .c example + > details of what gcc I need to cause it to generate such code? > I'd like to see the wider context of the problem. The c file is attached. The problem shows up with gcc version 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu9) and gcc version 4.0.2 (Debian 4.0.2-2) looks to produce similar code. I compiled it with just: gcc test.c -o test -Jeff |