If you look at the output from -# you'll see that you are actually passing -p -t -hread to the compiler.
$ cc -# -c t.c -pthread ### cc: Note: NLSPATH = /opt/SunStudioExpress/prod/bin/../lib/locale/%L/LC_MESSAGES/%N.cat:/opt/SunStudioExpress/prod/bin/../../lib/locale/%L/LC_MESSAGES/%N.cat ### command line files and options (expanded): ### -# -c t.c -p -t -hread You need to pass -mt, and that's all the pthread library from S10 onwards is part of libc. Regards, Darryl. Vincent Torri wrote: > here is a test case: > > #include <pthread.h> > > int main() > { > pthread_mutex_t mutex; > pthread_mutex_init(&mutex, NULL); > return 0; > } > > I compile with that command: > > suncc -c -o test_pthread.o test_pthread.c -pthread > > then: nm -C test_pthread.o |grep mcount > > mcount appears as UNDEF > > Vincent Torri > > > ------------------------------------------------------------------------ > > _______________________________________________ > tools-compilers mailing list > tools-compilers at opensolaris.org