This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
pthread_mutex_init() with gcc-3.4.3 on Tru64 UNIX
- From: Albert Chin <gcc-help at mlists dot thewrittenword dot com>
- To: gcc-help at gcc dot gnu dot org
- Date: Fri, 8 Jul 2005 18:44:15 -0500
- Subject: pthread_mutex_init() with gcc-3.4.3 on Tru64 UNIX
- Reply-to: gcc-help at gcc dot gnu dot org
$ uname -a
OSF1 [name] V4.0 878 alpha
$ uname -a
OSF1 [name] V5.1 732 alpha
$ cat mutex.c
#include <stdlib.h>
#include <pthread.h>
int
main (void) {
pthread_mutex_t lck;
if (pthread_mutex_init(&lck, 0) != 0)
exit (2);
if (pthread_mutex_lock(&lck) != 0)
exit (3);
if (pthread_mutex_unlock(&lck) != 0)
exit (4);
if (pthread_mutex_destroy(&lck) != 0)
exit (5);
exit (0);
}
$ cc mutex.c
ld:
Unresolved:
__pthread_mutex_init
__pthread_mutex_destroy
__pthread_mutex_lock
__pthread_mutex_unlock
$ cc -pthread mutex.c
$ ls -ld a.out
-rwxrwxr-x 1 china china 20288 Jul 8 18:40 a.out
$ nm a.out | grep pthread_mutex
__pthread_mutex_destroy | 0000000000000000 | U | 0000000000000008
__pthread_mutex_init | 0000000000000000 | U | 0000000000000008
__pthread_mutex_lock | 0000000000000000 | U | 0000000000000008
__pthread_mutex_unlock | 0000000000000000 | U | 0000000000000008
$ /opt/TWWfsw/gcc343/bin/gcc -v
Reading specs from
/opt/TWWfsw/gcc343/lib/gcc/alpha-dec-osf5.1/3.4.3/specs
Configured with: /opt/build/gcc-3.4.3/configure --enable-nls
--with-included-gettext --enable-shared --enable-threads
--host=alpha-dec-osf5.1 --with-local-prefix=/opt/TWWfsw/gcc343
--prefix=/opt/TWWfsw/gcc343
Thread model: posix
gcc version 3.4.3 (TWW)
$ /opt/TWWfsw/gcc343/bin/gcc mutex.c
$ ls -ld a.out
-rwxrwxr-x 1 china china 41072 Jul 8 18:40 a.out
$ nm a.out | grep pthread_mutex
__pthread_mutex_destroy | 0000004831844816 | T | 0000000000000008
__pthread_mutex_init | 0000004831844800 | T | 0000000000000008
__pthread_mutex_lock | 0000004831844640 | T | 0000000000000008
__pthread_mutex_trylock | 0000004831844656 | T | 0000000000000008
__pthread_mutex_unlock | 0000004831844672 | T | 0000000000000008
$ /opt/TWWfsw/gcc332/bin/gcc -v
Reading specs from
/opt/TWWfsw/gcc332/lib/gcc-lib/alphaev67-dec-osf5.1/3.3.2/specs
Configured with: /opt/build/gcc-3.3.2/configure --enable-nls
--with-included-gettext --enable-shared --enable-threads
--with-local-prefix=/opt/TWWfsw/gcc332 --prefix=/opt/TWWfsw/gcc332
Thread model: single
gcc version 3.3.2 (TWW)
$ /opt/TWWfsw/gcc332/bin/gcc mutex.c
__pthread_mutex_init
__pthread_mutex_lock
__pthread_mutex_unlock
__pthread_mutex_destroy
collect2: ld returned 1 exit status
So, why does /opt/TWWfsw/gcc343/bin/gcc resolve the pthread_mutex_*
symbols and cc does not? Should the GCC behavior mirror the cc
behavior?
--
albert chin (china@thewrittenword.com)