/* * Test program that invokes pthread_create@GLIBC_2.0(). * * Note: pthread_create@GLIBC_2.0() is only available in 32-bit glibc versions, * not in 64-bit versions. */ #include <pthread.h> #include <stdio.h> extern int pthread_create_glibc_2_0(pthread_t*, const pthread_attr_t*, void *(*)(void*), void*); __asm__(".symver pthread_create_glibc_2_0, pthread_create@GLIBC_2.0"); static void* thread_func(void *arg) { fprintf(stderr, "The thread.\n"); return 0; } int main(int argc, char** argv) { int result; pthread_t thr; result = (*pthread_create_glibc_2_0)(&thr, 0, thread_func, 0); if (result != 0) { fprintf(stderr, "pthread_create() failed.\n"); return 1; } pthread_join(thr, 0); fprintf(stderr, "Finished.\n"); return 0; }