1#include <dlfcn.h> 2#include <stdio.h> 3 4extern int foo1 (void); 5 6int main() 7{ 8 void *dl; 9 void *sym; 10 int (*func) (void); 11 12 if (foo1 () != 0) 13 return 1; 14 15 dl = dlopen("pr21964-2b.so", RTLD_LAZY); 16 if (!dl) 17 return 2; 18 19 sym = dlsym(dl, "__start___verbose"); 20 if (!sym) 21 return 3; 22 23 func = dlsym(dl, "foo2"); 24 if (!func) 25 return 4; 26 if (func () == 0) 27 printf ("PASS\n"); 28 29 dlclose(dl); 30 31 return 0; 32} 33