lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | #include <dlfcn.h> |
2 | #include <stdio.h> | ||||
3 | |||||
4 | |||||
5 | extern void constr (void) __attribute__ ((__constructor__)); | ||||
6 | void | ||||
7 | __attribute__ ((__constructor__)) | ||||
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 | } |