diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-08-01 21:43:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-08-01 21:43:03 +0000 |
commit | ff5fad1641bbd3b76501e01467b179c6aa6421b8 (patch) | |
tree | 3053aa71a68d34540fbb7cb4e5e985ddd98cfe61 /elf | |
parent | 4f2793d41f1043cf04f6761b1da00d8741824087 (diff) | |
download | glibc-ff5fad1641bbd3b76501e01467b179c6aa6421b8.tar.gz |
Update.
* elf/Makefile (tests): Add resolvfail. Add rules to build the
program.
* elf/resolvfail.c: New file.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/Makefile | 8 | ||||
-rw-r--r-- | elf/resolvfail.c | 25 |
2 files changed, 32 insertions, 1 deletions
diff --git a/elf/Makefile b/elf/Makefile index 5cecc2b3ac..cd0f390d6f 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -71,7 +71,7 @@ install-rootsbin += ldconfig endif ifeq (yes,$(build-shared)) -tests = loadtest restest1 preloadtest loadfail multiload origtest +tests = loadtest restest1 preloadtest loadfail multiload origtest resolvfail endif modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ testobj1_1 failobj @@ -237,3 +237,9 @@ $(objpfx)multiload.out: $(objpfx)testobj1.so $(objpfx)origtest: $(libdl) $(objpfx)origtest.out: $(objpfx)testobj1.so + +ifeq ($(have-thread-library),yes) +$(objpfx)resolvfail: $(libdl) $(shared-thread-library) +else +$(objpfx)resolvfail: $(libdl) +endif diff --git a/elf/resolvfail.c b/elf/resolvfail.c new file mode 100644 index 0000000000..9dd5cbe3d0 --- /dev/null +++ b/elf/resolvfail.c @@ -0,0 +1,25 @@ +#include <dlfcn.h> + +static const char obj[] = "testobj1.so"; + +int +main (void) +{ + void *d = dlopen (obj, RTLD_LAZY); + int n; + + if (d == NULL) + { + printf ("cannot load %s: %s\n", obj, dlerror ()); + return 1; + } + + for (n = 0; n < 10000; ++n) + if (dlsym (d, "does not exist") != NULL) + { + puts ("dlsym() did not fail"); + return 1; + } + + return 0; +} |