36 lines
515 B
C
36 lines
515 B
C
|
#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;
|
||
|
}
|