To be sure that the compiler is respecting the POSIX behavior, remove the "-mt" and add "-D_POSIX_C_SOURCE=199506L" and link with -lpthread.
"man pthread_create" says "cc -mt foo.c -lpthread"
_POSIX_C_SOURCE=199506L sounds like something to force my program to use only those interfaces described in some particular document... we want access to everything the platform offers