1 #include <dlfcn.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 
5 static int
do_test(void)6 do_test (void)
7 {
8   void *handle;
9   int (*test) (int);
10   int res;
11 
12   handle = dlopen ("modstatic.so", RTLD_LAZY);
13   if (handle == NULL)
14     {
15       printf ("%s\n", dlerror ());
16       exit(1);
17     }
18 
19   test = dlsym (handle, "test");
20   if (test == NULL)
21     {
22       printf ("%s\n", dlerror ());
23       exit(1);
24     }
25 
26   res = test (2);
27   if (res != 4)
28     {
29       printf ("Got %i, expected 4\n", res);
30       exit (1);
31     }
32 
33   dlclose (handle);
34   return 0;
35 }
36 
37 #define TEST_FUNCTION   do_test ()
38 #include "../test-skeleton.c"
39