blob: 3dbfdd153e841046cd6eca7d6f851b132a92b931 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001#include <dlfcn.h>
2#include <stdio.h>
3
4
5int call_puts;
6
7static int
8do_test (void)
9{
10 call_puts = 1;
11
12 void *h1 = dlopen ("$ORIGIN/order2mod1.so", RTLD_LAZY | RTLD_GLOBAL);
13 if (h1 == NULL)
14 {
15 puts ("cannot load order2mod1");
16 return 1;
17 }
18 void *h2 = dlopen ("$ORIGIN/order2mod2.so", RTLD_LAZY);
19 if (h2 == NULL)
20 {
21 puts ("cannot load order2mod2");
22 return 1;
23 }
24 if (dlclose (h1) != 0)
25 {
26 puts ("dlclose order2mod1 failed");
27 return 1;
28 }
29 if (dlclose (h2) != 0)
30 {
31 puts ("dlclose order2mod2 failed");
32 return 1;
33 }
34 return 0;
35}
36
37#define TEST_FUNCTION do_test ()
38#include "../test-skeleton.c"
39
40static void
41__attribute__ ((destructor))
42fini (void)
43{
44 if (call_puts)
45 puts ("5");
46}