]>
Commit | Line | Data |
---|---|---|
1 | #include <dlfcn.h> | |
2 | #include <stdio.h> | |
3 | ||
4 | int | |
5 | xyzzy (void) | |
6 | { | |
7 | printf ("%s:%s\n", __FILE__, __func__); | |
8 | return 21; | |
9 | } | |
10 | ||
11 | int | |
12 | back (void) | |
13 | { | |
14 | printf ("%s:%s\n", __FILE__, __func__); | |
15 | return 1; | |
16 | } | |
17 | ||
18 | extern int foo (void); | |
19 | ||
20 | static int | |
21 | do_test (void) | |
22 | { | |
23 | void *p = dlopen ("$ORIGIN/tst-deep1mod2.so", RTLD_LAZY|RTLD_DEEPBIND); | |
24 | ||
25 | int (*f) (void) = dlsym (p, "bar"); | |
26 | if (f == NULL) | |
27 | { | |
28 | puts (dlerror ()); | |
29 | return 1; | |
30 | } | |
31 | ||
32 | return foo () + f (); | |
33 | } | |
34 | ||
35 | #include <support/test-driver.c> |