| #include <dlfcn.h> | |
| #include <stdio.h> | |
| int | |
| xyzzy (void) | |
| { | |
| printf ("%s:%s\n", __FILE__, __func__); | |
| return 21; | |
| } | |
| int | |
| back (void) | |
| { | |
| printf ("%s:%s\n", __FILE__, __func__); | |
| return 1; | |
| } | |
| extern int foo (void); | |
| static int | |
| do_test (void) | |
| { | |
| void *p = dlopen ("$ORIGIN/tst-deep1mod2.so", RTLD_LAZY|RTLD_DEEPBIND); | |
| int (*f) (void) = dlsym (p, "bar"); | |
| if (f == NULL) | |
| { | |
| puts (dlerror ()); | |
| return 1; | |
| } | |
| return foo () + f (); | |
| } | |
| #define TEST_FUNCTION do_test () | |
| #include "../test-skeleton.c" |