aboutsummaryrefslogtreecommitdiff
path: root/elf/tst-nodelete2.c
diff options
context:
space:
mode:
Diffstat (limited to 'elf/tst-nodelete2.c')
-rw-r--r--elf/tst-nodelete2.c36
1 files changed, 0 insertions, 36 deletions
diff --git a/elf/tst-nodelete2.c b/elf/tst-nodelete2.c
deleted file mode 100644
index 010c4ae237..0000000000
--- a/elf/tst-nodelete2.c
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "../dlfcn/dlfcn.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include <gnu/lib-names.h>
-
-static int
-do_test (void)
-{
- int result = 0;
-
- printf ("\nOpening pthread library.\n");
- void *pthread = dlopen (LIBPTHREAD_SO, RTLD_LAZY);
-
- /* This is a test for correct DF_1_NODELETE clearing when dlopen failure
- happens. We should clear DF_1_NODELETE for failed library only, because
- doing this for others (e.g. libpthread) might cause them to be unloaded,
- that may lead to some global references (e.g. __rtld_lock_unlock) to be
- broken. The dlopen should fail because of undefined symbols in shared
- library, that cause DF_1_NODELETE to be cleared. For libpthread, this
- flag should be set, because if not, SIGSEGV will happen in dlclose. */
- if (dlopen ("tst-nodelete2mod.so", RTLD_NOW) != NULL)
- {
- printf ("Unique symbols test failed\n");
- result = 1;
- }
-
- if (pthread)
- dlclose (pthread);
-
- if (result == 0)
- printf ("SUCCESS\n");
-
- return result;
-}
-
-#include <support/test-driver.c>