diff options
Diffstat (limited to 'elf/tst-nodelete2.c')
-rw-r--r-- | elf/tst-nodelete2.c | 36 |
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> |