blob: bf1bf182f3a77a8a4dc11a8c66e459d6169f0032 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001#include <dlfcn.h>
2#include <stdio.h>
3#include <stdlib.h>
4
5extern int bar (void);
6extern int baz (void);
7extern int foo (void);
8extern void __attribute__ ((__constructor__)) init (void);
9
10void *h;
11
12int
13foo (void)
14{
15 return 42 + bar ();
16}
17
18int
19baz (void)
20{
21 return -21;
22}
23
24
25void
26__attribute__ ((__constructor__))
27init (void)
28{
29 h = dlopen ("constload3.so", RTLD_GLOBAL | RTLD_LAZY);
30 if (h == NULL)
31 {
32 puts ("failed to load constload3");
33 exit (1);
34 }
35 else
36 puts ("succeeded loading constload3");
37}
38
39static void
40__attribute__ ((__destructor__))
41fini (void)
42{
43 if (dlclose (h) != 0)
44 {
45 puts ("failed to unload constload3");
46 exit (1);
47 }
48 else
49 puts ("succeeded unloading constload3");
50}