diff options
author | Ulrich Drepper <drepper@redhat.com> | 2005-03-19 08:04:37 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2005-03-19 08:04:37 +0000 |
commit | 3d786f1969b1000f8dd7aa96e712f0b9134b3349 (patch) | |
tree | de795ef531805f71b8a49a5e374d20d077f8d2e0 /elf/order2.c | |
parent | a2f7570bdda3e64ce32d74d7df943d306683ab8e (diff) | |
download | glibc-3d786f1969b1000f8dd7aa96e712f0b9134b3349.tar.gz glibc-3d786f1969b1000f8dd7aa96e712f0b9134b3349.tar.xz glibc-3d786f1969b1000f8dd7aa96e712f0b9134b3349.zip |
* elf/Makefile: Add rules to build and run order2.
* elf/order2.c: New file. * elf/order2mod1.c: New file. * elf/order2mod2.c: New file. * elf/order2mod3.c: New file. * elf/order2mod4.c: New file.
Diffstat (limited to 'elf/order2.c')
-rw-r--r-- | elf/order2.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/elf/order2.c b/elf/order2.c new file mode 100644 index 0000000000..3dbfdd153e --- /dev/null +++ b/elf/order2.c @@ -0,0 +1,46 @@ +#include <dlfcn.h> +#include <stdio.h> + + +int call_puts; + +static int +do_test (void) +{ + call_puts = 1; + + void *h1 = dlopen ("$ORIGIN/order2mod1.so", RTLD_LAZY | RTLD_GLOBAL); + if (h1 == NULL) + { + puts ("cannot load order2mod1"); + return 1; + } + void *h2 = dlopen ("$ORIGIN/order2mod2.so", RTLD_LAZY); + if (h2 == NULL) + { + puts ("cannot load order2mod2"); + return 1; + } + if (dlclose (h1) != 0) + { + puts ("dlclose order2mod1 failed"); + return 1; + } + if (dlclose (h2) != 0) + { + puts ("dlclose order2mod2 failed"); + return 1; + } + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" + +static void +__attribute__ ((destructor)) +fini (void) +{ + if (call_puts) + puts ("5"); +} |