1 #include <dlfcn.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 static int do_test(void)6do_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