It seems that GCC has an optimization that turns static int a = 0; into static int a; and puts the symbol into .bss instead of .data (on GNU/Linux). Is this correct? Would it make sense for glibc to rely on this optimization (purely as an optimization)? Right now, there is an “define initialized” macro which does not actually initialize anything, and which could easily be misused for automatic variables. Therefore, I want to add the initializer, expecting GCC to optimize it away if possible. Florian