1: #include <dlfcn.h>
2: #include <stdio.h>
3: #include <stdlib.h>
4:
5: extern int bar (void);
6: extern int foo (void);
7:
8: int
9: foo (void)
10: {
11: void *h;
12: int res;
13:
14:
15: h = dlopen ("ltglobmod1.so", RTLD_GLOBAL | RTLD_LAZY);
16: if (h == NULL)
17: {
18: printf ("%s: cannot open %s: %s",
19: __FUNCTION__, "ltglobmod1.so", dlerror ());
20: exit (EXIT_FAILURE);
21: }
22:
23:
24: puts ("about to call `bar'");
25: fflush (stdout);
26: res = bar ();
27:
28: printf ("bar returned %d\n", res);
29:
30: dlclose (h);
31:
32: return res != 42;
33: }