diff options
Diffstat (limited to 'dlfcn/tststatic.c')
-rw-r--r-- | dlfcn/tststatic.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dlfcn/tststatic.c b/dlfcn/tststatic.c new file mode 100644 index 0000000..00695be --- /dev/null +++ b/dlfcn/tststatic.c @@ -0,0 +1,35 @@ +#include <dlfcn.h> +#include <stdio.h> +#include <stdlib.h> + +int +main (void) +{ + void *handle; + int (*test) (int); + int res; + + handle = dlopen ("modstatic.so", RTLD_LAZY); + if (handle == NULL) + { + printf ("%s\n", dlerror ()); + exit(1); + } + + test = dlsym (handle, "test"); + if (test == NULL) + { + printf ("%s\n", dlerror ()); + exit(1); + } + + res = test (2); + if (res != 4) + { + printf ("Got %i, expected 4\n", res); + exit (1); + } + + dlclose (handle); + return 0; +} |