Back to index

glibc  2.9
tst-deep1.c
Go to the documentation of this file.
00001 #include <dlfcn.h>
00002 #include <stdio.h>
00003 
00004 int
00005 xyzzy (void)
00006 {
00007   printf ("%s:%s\n", __FILE__, __func__);
00008   return 21;
00009 }
00010 
00011 int
00012 back (void)
00013 {
00014   printf ("%s:%s\n", __FILE__, __func__);
00015   return 1;
00016 }
00017 
00018 extern int foo (void);
00019 
00020 static int
00021 do_test (void)
00022 {
00023   void *p = dlopen ("$ORIGIN/tst-deep1mod2.so", RTLD_LAZY|RTLD_DEEPBIND);
00024 
00025   int (*f) (void) = dlsym (p, "bar");
00026   if (f == NULL)
00027     {
00028       puts (dlerror ());
00029       return 1;
00030     }
00031 
00032   return foo () + f ();
00033 }
00034 
00035 #define TEST_FUNCTION do_test ()
00036 #include "../test-skeleton.c"