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.