1 /*
2 * Test program that invokes pthread_create@GLIBC_2.0().
3 *
4 * Note: pthread_create@GLIBC_2.0() is only available in 32-bit glibc versions,
5 * not in 64-bit versions.
6 */
7
8
9 #include <pthread.h>
10 #include <stdio.h>
11
12
13 extern int pthread_create_glibc_2_0(pthread_t*, const pthread_attr_t*,
14 void *(*)(void*), void*);
15
16 __asm__(".symver pthread_create_glibc_2_0, pthread_create@GLIBC_2.0");
17
18
thread_func(void * arg)19 static void* thread_func(void *arg)
20 {
21 fprintf(stderr, "The thread.\n");
22 return 0;
23 }
24
main(int argc,char ** argv)25 int main(int argc, char** argv)
26 {
27 int result;
28 pthread_t thr;
29
30 result = (*pthread_create_glibc_2_0)(&thr, 0, thread_func, 0);
31 if (result != 0)
32 {
33 fprintf(stderr, "pthread_create() failed.\n");
34 return 1;
35 }
36 pthread_join(thr, 0);
37 fprintf(stderr, "Finished.\n");
38 return 0;
39 }
40