hello. first, i am not subscribed to the list, so please cc me any answer. thanks. let me first describe the problem: on an amd xeon x86-64, gcc-3.4.4, once in a while bash gets stuck in an endless loop. so, what this got to do with gcc? the answer is that looking at bash's code, at the beginning there is indeed an endless loop: while (debugging_login_shell); however, the global variable debugging_login_shell is initialized to zero upon declaration. so, this loop should never happen.... looking at the file gcc outputs, i can see that the debugging_login_shell symbol is located at the bss segment, which means gcc is relying on the operating system to clear the bss before starting the program. however, once in awhile, the loop does get hit upon... which means the bss segment is not zeroed as assumed. this can be either a bug in the kernel or a faulty memory. based on the fact that i encounter this phenomena on 3 different computers, i'd guess kernel. so, why am i sending this to gcc-help? my question is, can gcc really rely on the operating system to clear out the bss segment, and place zero initialized variables in the bss? -- ========================================================= Nir Tzachar.
Attachment:
signature.asc
Description: This is a digitally signed message part