This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

strange (to me...) gcc behaviour


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]