Can anybody help me with pthreads.

Here's the deal, on my i386 system:

Linux kernel 2.0.35
rpm -q glibc
glibc-2.0.7-29
ls -l /lib/*libc* /lib/*pth*
-rwxr-xr-x   1 root     root      3070220 Oct 13  1998 /lib/libc-2.0.7.so
lrwxrwxrwx   1 root     root           13 Jul 24 04:28 /lib/libc.so.6 -> libc-2.0.7.so
lrwxrwxrwx   1 root     root           17 Sep 10  1998 /lib/libcom_err.so.2 -> 
libcom_err.so.2.0
-rwxr-xr-x   1 root     root         6209 Aug 28  1998 /lib/libcom_err.so.2.0
-rwxr-xr-x   1 root     root       181993 Oct 13  1998 /lib/libcrypt-2.0.7.so
lrwxrwxrwx   1 root     root           17 Jul 24 04:28 /lib/libcrypt.so.1 -> 
libcrypt-2.0.7.so
-rwxr-xr-x   1 root     root       198784 Oct 13  1998 /lib/libpthread-0.7.so
lrwxrwxrwx   1 root     root           17 Jul 24 04:28 /lib/libpthread.so.0 -> 
libpthread-0.7.so

Pthreads and semaphores appear to work just fine.

On my Cobalt/Qube:

Linux kernel 2.0.34 
rpm -q glibc
glibc-2.0.7-10
ls -l /lib/*libc* /lib/*pth*
-rwxr-xr-x   1 root     root      3592051 Aug 11  1998 /lib/libc-2.0.7-20.so
-rwxr-xr-x   1 root     root      3419070 Jan 18  1999 /lib/libc-2.0.7.so
lrwxrwxrwx   1 root     root           13 Jul  7 08:27 /lib/libc.so.6 -> libc-2.0.7.so
lrwxrwxrwx   1 root     root           17 Jul  7 08:30 /lib/libcom_err.so.2 -> 
libcom_err.so.2.0
-rwxr-xr-x   1 root     root        16338 Oct 15  1997 /lib/libcom_err.so.2.0
-rwxr-xr-x   1 root     root       197403 Jan 18  1999 /lib/libcrypt-2.0.7.so
lrwxrwxrwx   1 root     root           17 Jul  7 08:27 /lib/libcrypt.so.1 -> 
libcrypt-2.0.7.so
-rwxr-xr-x   1 root     root       229862 Jan 18  1999 /lib/libpthread-0.7.so
lrwxrwxrwx   1 root     root           17 Jul  7 08:27 /lib/libpthread.so.0 -> 
libpthread-0.7.so

Pthreads and semaphores appear to work just fine (libc-2.0.7 is actually 2.0.7-10).
If I switch libc to 2.0.7-20.so, pthreads stop working.

On my new target:

Linux kernel 2.1.121
rpm -q glibc
glibc-2.0.7-20
ls -l /lib/*libc* /lib/*pth*
-rwxr-xr-x   1 root     root      3419070 Jul 27 12:00 /lib/libc-2.0.7-10.so
-rwxr-xr-x   1 root     root      3592051 Aug 11  1998 /lib/libc-2.0.7.so
lrwxrwxrwx   1 root     root           16 Jul 27 12:01 /lib/libc.so.6 -> 
libc-2.0.7-10.so
lrwxrwxrwx   1 root     root           17 Jul 13 05:22 /lib/libcom_err.so.2 -> 
libcom_err.so.2.0
-rwxr-xr-x   1 root     root        16338 Oct 15  1997 /lib/libcom_err.so.2.0
-rwxr-xr-x   1 root     root       225588 Aug 11  1998 /lib/libcrypt-2.0.7.so
lrwxrwxrwx   1 root     root           17 Jul 13 05:22 /lib/libcrypt.so.1 -> 
libcrypt-2.0.7.so
-rwxr-xr-x   1 root     root       229862 Jan 18  1999 /lib/libpthread-0.7.good.so
-rwxr-xr-x   1 root     root       270073 Aug 11  1998 /lib/libpthread-0.7.so
lrwxrwxrwx   1 root     root           22 Jul 27 12:05 /lib/libpthread.so.0 -> 
libpthread-0.7.good.so

Neither version of glibc (the 2.0.7 is actually 2.0.7-20) makes pthreads work
and neither version of pthreads works (the 0.7.good is the one copied from the
Cobalt). The child process is started but the process that issued the
pthread_create dies with a bus error with the failing address reported as the
instruction following the __clone syscall. __clone(), on the other hand, sort
of works on my new target. It starts the clone process but it appears not to
clone the fd's.

I suspect this is only a library version problem. What versions of which
libraries _should_ I be trying to use? Thanks in advance.

-- 
Dave Shepperd.                                 [EMAIL PROTECTED]
Atari Games Corp.            675 Sycamore Drive, Milpitas CA 95035.
--
Standard disclaimers.

Reply via email to