diff options
Diffstat (limited to 'elf/tst-dlmopen2.c')
-rw-r--r-- | elf/tst-dlmopen2.c | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/elf/tst-dlmopen2.c b/elf/tst-dlmopen2.c deleted file mode 100644 index 8489ffba08..0000000000 --- a/elf/tst-dlmopen2.c +++ /dev/null @@ -1,69 +0,0 @@ -#include <dlfcn.h> -#include <stdio.h> -#include <string.h> -#include <gnu/lib-names.h> -#include <ldsodefs.h> - - -static int -do_test (void) -{ - int result = 0; - - for (int i = 1; i <= 10; ++i) - { - void *h[DL_NNS - 1]; - char used[DL_NNS]; - - printf ("round %d\n", i); - - memset (used, '\0', sizeof (used)); - used[LM_ID_BASE] = 1; - - for (int j = 0; j < DL_NNS - 1; ++j) - { - h[j] = dlmopen (LM_ID_NEWLM, "$ORIGIN/tst-dlmopen1mod.so", - RTLD_LAZY); - if (h[j] == NULL) - { - printf ("round %d, namespace %d: load failed: %s\n", - i, j, dlerror ()); - return 1; - } - Lmid_t ns; - if (dlinfo (h[j], RTLD_DI_LMID, &ns) != 0) - { - printf ("round %d, namespace %d: dlinfo failed: %s\n", - i, j, dlerror ()); - return 1; - } - if (ns < 0 || ns >= DL_NNS) - { - printf ("round %d, namespace %d: invalid namespace %ld", - i, j, (long int) ns); - result = 1; - } - else if (used[ns] != 0) - { - printf ("\ -round %d, namespace %d: duplicate allocate of namespace %ld", - i, j, (long int) ns); - result = 1; - } - else - used[ns] = 1; - } - - for (int j = 0; j < DL_NNS - 1; ++j) - if (dlclose (h[j]) != 0) - { - printf ("round %d, namespace %d: close failed: %s\n", - i, j, dlerror ()); - return 1; - } - } - - return result; -} - -#include <support/test-driver.c> |