1 #include <dlfcn.h> 2 #include <stdio.h> 3 4 int xyzzy(void)5xyzzy (void) 6 { 7 printf ("%s:%s\n", __FILE__, __func__); 8 return 21; 9 } 10 11 int back(void)12back (void) 13 { 14 printf ("%s:%s\n", __FILE__, __func__); 15 return 1; 16 } 17 18 extern int foo (void); 19 20 static int do_test(void)21do_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> 36