#include <dlfcn.h>
#include <stdio.h>
#include <stdlib.h>

int
main (void)
{
  void *handle;
  int (*test) (int);
  int res;

  handle = dlopen ("modstatic.so", RTLD_LAZY);
  if (handle == NULL)
    {
      printf ("%s\n", dlerror ());
      exit(1);
    }

  test = dlsym (handle, "test");
  if (test == NULL)
    {
      printf ("%s\n", dlerror ());
      exit(1);
    }

  res = test (2);
  if (res != 4)
    {
      printf ("Got %i, expected 4\n", res);
      exit (1);
    }

  dlclose (handle);
  return 0;
}
