2.9
[glibc/nacl-glibc.git] / elf / order2.c
blob3dbfdd153e841046cd6eca7d6f851b132a92b931
1 #include <dlfcn.h>
2 #include <stdio.h>
5 int call_puts;
7 static int
8 do_test (void)
10 call_puts = 1;
12 void *h1 = dlopen ("$ORIGIN/order2mod1.so", RTLD_LAZY | RTLD_GLOBAL);
13 if (h1 == NULL)
15 puts ("cannot load order2mod1");
16 return 1;
18 void *h2 = dlopen ("$ORIGIN/order2mod2.so", RTLD_LAZY);
19 if (h2 == NULL)
21 puts ("cannot load order2mod2");
22 return 1;
24 if (dlclose (h1) != 0)
26 puts ("dlclose order2mod1 failed");
27 return 1;
29 if (dlclose (h2) != 0)
31 puts ("dlclose order2mod2 failed");
32 return 1;
34 return 0;
37 #define TEST_FUNCTION do_test ()
38 #include "../test-skeleton.c"
40 static void
41 __attribute__ ((destructor))
42 fini (void)
44 if (call_puts)
45 puts ("5");