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

source code of glibc/dlfcn/failtestmod.c