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


extern void constr (void) __attribute__ ((__constructor__));
void
__attribute__ ((__constructor__))
constr (void)
{
  void *handle;
  void *m;

  /* Open the library.  */
  handle = dlopen (NULL, RTLD_NOW);
  if (handle == NULL)
    {
      puts ("Cannot get handle to own object");
      return;
    }

  /* Get a symbol.  */
  m = dlsym (handle, "main");
  puts ("called dlsym() to get main");

  dlclose (handle);
}
