[parisc-linux] pthread attributes and stack positions (gcc related?)

Carlos O'Donell carlos@baldric.uwo.ca
Mon, 29 Sep 2003 15:02:51 -0400


On Mon, Sep 29, 2003 at 11:10:38AM -0400, Carlos O'Donell wrote:
> I agree, it seems though that after "fork" the values returned by 
> "pthread_getattr_np (pthread_self (), &a);" are bogus. While if you call
> pthread_create(...) and then the previous line from within the newly
> created thread the values are initialized properly. A mistake might
> exist with symbol versioning by which we are not calling libpthread's
> overloaded thread manager "fork()" and continuing on with the normal syscall.

Looking closer there is a __libc_maybe_call2 that happens during a fork
that is called and libpthread is linked. The maybe call tries to see if
pthread_fork is available, if it doesn't see a valid symbol it just
calls ARCH_FORK(). This looks like a suspect. So do a number of the
#ifdef's in pthread.c

c.