* Ingo Molnar <[email protected]> wrote:

> Yes, -Ow would be very useful, if it can 'guarantee' that no false negatives 
> slip 
> through:
> [...]

> This way no undeterministic, random, uninitialized (and worst-case: attacker 
> controlled) values can ever enter the program flow (from the stack) [...]

Note that mainstream Linux distro kernels already enable various options that 
cause noticeable runtime overhead: such as stackprotector, or -pg.

So if GCC could simply warn about _all_ uninitialized variables that it cannot 
prove are initialized before use, and implicitly initialize them to 0 in that 
case, that would be really valuable. (Combined with a function argument 
attribute 
mechanism that tells the compiler that an object pointed to by a pointer gets 
fully initialized by the function.)

The runtime overhead can be eliminated by addressing the warnings. If no 
warnings 
are emitted then the generated code should be equivalent to regularly optimized 
code, right?

Thanks,

        Ingo

Reply via email to