aboutsummaryrefslogtreecommitdiff
path: root/elf/unload3.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/unload3.c')
-rw-r--r--elf/unload3.c41
1 files changed, 0 insertions, 41 deletions
diff --git a/elf/unload3.c b/elf/unload3.c
deleted file mode 100644
index 6f1af70..0000000
--- a/elf/unload3.c
+++ /dev/null
@@ -1,41 +0,0 @@
-#include <dlfcn.h>
-#include <stdio.h>
-
-int
-main (void)
-{
- void *g = dlopen ("unload3mod1.so", RTLD_GLOBAL | RTLD_NOW);
- void *h = dlopen ("unload3mod2.so", RTLD_GLOBAL | RTLD_NOW);
- if (g == NULL || h == NULL)
- {
- printf ("dlopen unload3mod{1,2}.so failed: %p %p\n", g, h);
- return 1;
- }
- dlclose (h);
- dlclose (g);
-
- g = dlopen ("unload3mod3.so", RTLD_GLOBAL | RTLD_NOW);
- h = dlopen ("unload3mod4.so", RTLD_GLOBAL | RTLD_NOW);
- if (g == NULL || h == NULL)
- {
- printf ("dlopen unload3mod{3,4}.so failed: %p %p\n", g, h);
- return 1;
- }
-
- int (*fn) (int);
- fn = dlsym (h, "bar");
- if (fn == NULL)
- {
- puts ("dlsym failed");
- return 1;
- }
-
- int val = fn (16);
- if (val != 24)
- {
- printf ("bar returned %d != 24\n", val);
- return 1;
- }
-
- return 0;
-}