|
From: Jeffrey W. <nol...@gm...> - 2015-08-13 22:30:23
|
>> ...why would Valgrind >> complain a boolean value is not initialized, even though its >> initialized to false in the source code and backed via BSS? > > The most common reason is because some uninitialized value > was assigned to (or copied into) the value in question. Of course you probably > claim that this is impossible, but an unknown bug enables almost anything. > Be sure to run with --track-origins=yes. > > As others have noted, if you cannot post a concrete example > that illustrates the problem then you are not worth our time anymore. Thanks. I tracked it down to a one-liner ASM statement. The CPUID instruction's ASM block was missing volatile. I guess the optimizer removed it, which confused the machinery. (The other values were initialized, like the global flags and the word array used to represent %EAX - %EDX). Thanks again. Jeff |