1 #include <dlfcn.h>
2 #include <stdio.h>
3 
4 
5 extern void constr (void) __attribute__ ((__constructor__));
6 void
7 __attribute__ ((__constructor__))
constr(void)8 constr (void)
9 {
10   void *handle;
11 
12   /* Open the library.  */
13   handle = dlopen (NULL, RTLD_NOW);
14   if (handle == NULL)
15     {
16       puts ("Cannot get handle to own object");
17       return;
18     }
19 
20   /* Get a symbol.  */
21   dlsym (handle, "main");
22   puts ("called dlsym() to get main");
23 
24   dlclose (handle);
25 }
26