
#include <dlfcn.h>

static int (*bfunc) (const char *);

int
main ()
{
   void *handle;

   handle = dlopen ("./b.so", RTLD_LAZY);

   if (!handle)
     return 1;

   bfunc = dlsym (handle, "b");

   if (bfunc)
     bfunc("a");
   else
     return 1;

   return 0;
}
