what happened with thread, from 2.2 to 2.4 ?!

Blindauer Emmanuel (manu@agat.net)
Sun, 2 Dec 2001 15:33:43 +0100


Hi
what happenned with thread from 2.2 to 2.4?
I have some problems with threaded programs, working under 2.2 and no more
under 2.4
The test program is short:
----
#include <stdlib.h>
void main() {
char *t="1.0";
double d=0;
d=strtod(t,(char **)NULL);
}
---
this program compiled with "gcc -g -lpthread test.c" has strange behaviour. 
The problem only appear using gdb to see the value of d
In most case, the value returned by strtod under a 2.4 kernel is nan.
I say most, because some 2.4 kernels don't fail other this line.
I have done some test with differents distributions, and so differents 
version of kernel, gcc, gdb and libc.
http://manu.agat.net/bug.html

When it was possible, for the computer with the bug, under an 2.4 kernel, I've recompiled a 2.2.20, and the bug has disappeared!

Does someone have an idea about that ? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/